Maxime Coste
459d0baf79
Tweak string unit tests
2015-09-20 17:18:43 +01:00
Maxime Coste
22f3881cad
Fix prompt history handling when pressing the down key
2015-09-20 17:02:37 +01:00
Maxime Coste
01152d7cd9
Improve escaping of % in command parsing
2015-09-20 11:48:11 +01:00
Maxime Coste
ca2043d9f2
Fix unescape implementation
2015-09-20 11:47:20 +01:00
Maxime Coste
2b4b73ae8e
Remove the default_face parameter of parse_display_line
...
No need to define a default face there, we will pass a default face
to UserInterface::draw_status later.
2015-09-20 11:34:13 +01:00
Maxime Coste
b3e0e27d1f
Do not allow '\n' in display lines, replace with a space
2015-09-20 11:23:10 +01:00
Maxime Coste
574e337132
Improve command completion by taking into account quoting of arguments
2015-09-20 11:19:10 +01:00
Maxime Coste
f59108072f
Initial support for user configurable modeline with the modelinefmt option
...
modelinefmt is first sent through a command line expander (so %sh{...},
%val{...} et al. are expanded), then through markup expand (so that
{face} are interpreted as well)
2015-09-19 12:43:39 +01:00
Maxime Coste
6bc5f8c3a3
Add simple markup support to generate display lines from strings
...
The syntax is simply {face} to enable the given face, use \{ to
escape a {, and \\ to escape a \.
2015-09-19 12:19:17 +01:00
Maxime Coste
db8c12fd2a
Be tolerant to modifiers in <c-x> bindings
...
<c-x><c-f> should be accepted, as it is cumbersome to unpress
control before hitting f in that case.
2015-09-19 11:55:55 +01:00
Maxime Coste
96b6b1b647
Tweak NCursesUI behaviour to reduce flickering on resize
2015-09-19 11:30:17 +01:00
Maxime Coste
d2c4d22d1f
Keep it simple, remove all that sorted id map thing
2015-09-18 13:52:32 +01:00
Maxime Coste
6a6b22d92c
Fix libstdc++ 4.8 compatibility
2015-09-17 20:03:58 +01:00
Maxime Coste
e7a8f64722
Use a sorted IdMap for aliases
2015-09-16 22:32:02 +01:00
Maxime Coste
bab95491c8
Keep sorted state when transmitting id maps
2015-09-16 22:29:19 +01:00
Maxime Coste
36828e6059
IdMaps can be sorted, in which case the find method uses a binary search
2015-09-16 22:22:51 +01:00
Maxime Coste
c859e8ab5f
Create directory with 0777 mode in make_directory
...
Fixes #408
2015-09-16 20:17:31 +01:00
Maxime Coste
693d9a4861
Store key hash in IdMap
2015-09-16 20:02:12 +01:00
Maxime Coste
afad50514b
Simpler IdMap::operator==
2015-09-16 19:25:12 +01:00
Maxime Coste
73c0fa175e
Use IdMap instead of UnorderedMap for ui options and env vars
2015-09-16 19:04:19 +01:00
Maxime Coste
85918d9f15
use getpwuid(geteuid())->pw_name rather than getlogin()
...
getlogin() can fail when stdin is not a tty on certain configuration
as it needs to find a controling terminal.
2015-09-15 13:32:26 +01:00
Maxime Coste
0338c0f437
Fix compilation with std regex
2015-09-15 13:28:36 +01:00
Maxime Coste
fd0567c730
Do not touch the first 16 colors in ncurses UI
2015-09-14 14:47:37 +01:00
Maxime Coste
a4804afa42
Restore redraw on <c-l> in ncurses ui
2015-09-14 14:30:01 +01:00
Maxime Coste
e0049bb587
Fix backward search searching from on char before the corret one.
...
Fixes #406
2015-09-14 14:28:45 +01:00
Maxime Coste
a2b4bf09fd
Fix color restoring
2015-09-12 10:54:55 +01:00
Maxime Coste
ad2aa35546
Fix ncurses info box avoiding dead menus
2015-09-12 10:51:46 +01:00
Maxime Coste
5173dad470
Add some missing memory domains
2015-09-12 10:51:16 +01:00
Maxime Coste
8aca7622bf
Restore keypad support in ncurses ui
2015-09-11 13:54:37 +01:00
Maxime Coste
2334a57970
Reduce allocation count in file.cc
2015-09-11 13:49:08 +01:00
Maxime Coste
afbe2f10d5
Slight refactor of NCursesUI ui_options handling
2015-09-11 13:20:37 +01:00
Maxime Coste
6ac1ae56fb
Small code style tweak in insert_completer.cc
2015-09-11 13:07:51 +01:00
Maxime Coste
6292d451cf
Small code cleanup in ncurses_ui.cc
2015-09-11 13:07:51 +01:00
Maxime Coste
5a5a78c608
Improve redraw behaviour on resize
2015-09-11 11:46:39 +01:00
Maxime Coste
34d0f63fd9
Use wgetch rather than getch to avoid unwanted redraws
2015-09-11 00:05:31 +01:00
Maxime Coste
80726a789b
Refactor NCursesUI implementation, use pads instead of windows
2015-09-10 23:39:19 +01:00
Maxime Coste
a685a928f7
Try to restore colors to hard coded xterm palette on ncurses quit
...
Fixes #327
2015-09-10 23:38:05 +01:00
Maxime Coste
182cc368a0
Tweak BufferManager::delete_buffer implementation
2015-09-08 13:10:22 +01:00
Maxime Coste
fede8da14b
Delete all existig window before resizing
2015-09-07 23:52:34 +01:00
Maxime Coste
29b508a894
Avoid wrapping lines with negative max width
2015-09-07 23:29:01 +01:00
Maxime Coste
53b65401f8
Small info box handling in cleanup in ncurses
2015-09-07 23:15:21 +01:00
Maxime Coste
30ad9a0475
Complete aliases in command prompt
2015-09-06 18:09:32 +01:00
Maxime Coste
a45876124b
Avoid restoring selections in regex_prompt when they cannot have been modified
2015-09-04 19:00:42 +01:00
Maxime Coste
ae720b90b1
Small code tweak in show_whitespaces highlighter
2015-09-04 13:47:16 +01:00
Maxime Coste
ededc84c8c
Remove some useless code in remote.cc
2015-09-03 23:17:57 +01:00
Maxime Coste
f81e5593db
Tweak headers in shell_manager.hh, no need for regex.hh
2015-09-03 13:54:21 +01:00
Maxime Coste
e69db0f671
Regex are overkill for shell manager env vars, we just need exact match or prefix match
2015-09-03 13:21:35 +01:00
Maxime Coste
ea7f76f7f2
Change ncurses title logic, use hard coded \033]2;<title>\007 sequence
...
And add a ncurses_set_title ui option defaulting to true.
2015-09-03 00:03:07 +01:00
Maxime Coste
995a094471
Fallback on /usr/share/kak if the relative runtime path does not exists
2015-09-02 22:28:41 +01:00
Maxime Coste
a7d93fa11e
std::accumulate is in <numeric> not <algorithm>
2015-09-02 21:15:16 +01:00
Maxime Coste
da5e662cf8
Add missing include
2015-09-02 20:59:45 +01:00
Maxime Coste
64a5948e1c
comparison ops for MatchAndBuffer should be const
2015-09-02 13:54:17 +01:00
Maxime Coste
455cca19db
Add support for a separate menu text in insert completions
...
Display buffer of origin in word completion menu
2015-09-02 13:43:07 +01:00
Maxime Coste
1295bc95cc
Fix clang compilation
2015-09-02 13:35:50 +01:00
Maxime Coste
adcd0a03b1
Fix forward declare struct/class mismatch
2015-09-02 13:34:18 +01:00
Maxime Coste
e9d7d70e47
Cache buffer display name
2015-09-01 20:49:47 +01:00
Maxime Coste
ae7dc3c576
Simplify runtime_directory
2015-09-01 13:51:57 +01:00
Maxime Coste
b512f3220f
Detect normal mode count overflow
2015-08-31 20:34:45 +01:00
Maxime Coste
c603d39a20
Merge remote-tracking branch 'elegios/master'
2015-08-31 00:02:59 +01:00
Maxime Coste
6071e636a2
Use a named struct for insert completion candidates
2015-08-30 23:02:20 +01:00
Maxime Coste
f666cd9c69
Merge remote-tracking branch 'Maroniemann/master'
2015-08-30 15:48:45 +01:00
Clemens Stadlbauer
3db95ce50c
Prevented incorrect softlink from being created
...
If the "autoload" directory softlink has already been created,
"make install" would place a recursive softlink inside it on the
next install, which made future installs fail.
2015-08-30 13:30:15 +02:00
Maxime Coste
64c21b93a5
Additional code tweak in command_manager.cc
2015-08-29 21:39:23 +01:00
Maxime Coste
ac78cfa11c
Add missing std::move, avoid a needless string copy
2015-08-28 13:54:12 +01:00
Maxime Coste
1249df9c76
Avoid using an UnorderedMap for 4 elements...
2015-08-27 21:36:49 +01:00
Maxime Coste
36b82c42e5
Refactor command parsing, maintain coordinates while reading the string
2015-08-27 21:32:04 +01:00
Maxime Coste
b529288176
Small code cleanup in command_manager.cc
2015-08-27 13:57:56 +01:00
Maxime Coste
04536657d1
Add a kill command that kills the current session
...
Fixes #331
A given session can be killed with 'echo kill | kak -p <session>'
2015-08-26 19:34:19 +01:00
Maxime Coste
0c41c14187
Reorganize slightly local client creation
2015-08-26 19:33:52 +01:00
Viktor Palmkvist
b53d9e282e
Fix segfault in edge case when jumping backwards in jumplist
...
Closes #380
2015-08-26 11:54:51 +02:00
Viktor Palmkvist
1bdaf0675d
Argument text object no longer handles <>
2015-08-25 15:56:49 +02:00
Maxime Coste
0755366cb1
Rework resize handling
...
Fixes #383
2015-08-23 15:18:18 +01:00
Maxime Coste
a2e90c2c25
Add support for listing existing sessions with kak -l
...
Fixes #381
2015-08-23 14:22:23 +01:00
Maxime Coste
71e362e2f9
Move session socket to /tmp/kakoune/<user name>/<session>
2015-08-23 14:13:46 +01:00
Maxime Coste
ae839fc471
Remove Client::window() method, use a force_redraw() one
...
We cannot assume Client::m_window is always non-null, as when
changing current buffer its temporarily null, at the point
where WinCreate hook might get called.
Fixes #382
2015-08-23 13:29:24 +01:00
Maxime Coste
dc504284c3
Change flag lines highlighter to use faces instead of colors
...
Fixes #130
2015-08-23 12:13:14 +01:00
Maxime Coste
504862fce7
Avoid double session closing
2015-08-22 11:27:48 +01:00
Maxime Coste
47ab4038ec
Format session socket name in place into the sockaddr_un
2015-08-22 11:27:04 +01:00
Maxime Coste
564ab7d942
Merge remote-tracking branch 'zakgreant/reference-sheet-scripts'
2015-08-20 20:13:48 +01:00
Maxime Coste
689494fb2f
Fix reentrency in Normal::handle_key
2015-08-20 19:16:14 +01:00
Maxime Coste
3834a967f8
No reason for NestedBool operator bool to be explicit
2015-08-19 21:20:34 +01:00
Maxime Coste
8af3b52bfa
Add alternative names to ^ (caret) and @ (arobase) registers
2015-08-19 21:20:01 +01:00
Maxime Coste
7ee027b125
Use the "<reg> syntax along with a default register for marks and macros
...
Marks use the '^' register by default, macros the '@' register.
2015-08-19 13:58:37 +01:00
Maxime Coste
baf0203b9d
Default register is not handled by the Normal input mode.
...
Normal input mode will just pass 0 as the reg if it was not specified
by the user, its yank/paste functions that should determine 0 means
use '"' register.
2015-08-19 13:41:16 +01:00
Maxime Coste
3f493fa186
Rename Disableable to more general NestedBool
...
A NestedBool can be set multiple times, and will be considered false
only when unset the same number.
2015-08-18 23:17:56 +01:00
Maxime Coste
a33c8d9677
Smaller sizeof for in place strings
2015-08-18 21:06:53 +01:00
Maxime Coste
386f41e1c5
Be more explicit about paramater parsing error
2015-08-18 00:28:04 +01:00
Maxime Coste
f2580a366d
Cleanup key to codepoint conversion
...
Fixes #378
Fixes #365
2015-08-18 00:19:14 +01:00
Maxime Coste
043ca99983
Cleanup mouse handling a little
2015-08-16 14:06:07 +01:00
Zak Greant
dc2d12a124
Fixing minor typo
...
s/prevous/previous/
2015-08-15 16:46:57 +02:00
Maxime Coste
97b871d49e
Tweak notify_fatal_error message box title, might not be an assert failed
2015-08-14 13:16:06 +01:00
Maxime Coste
92d3178305
Clamp m_anchor in mouse handler, nothing garantees that it is still valid
...
Fixes #350
2015-08-14 13:12:44 +01:00
Maxime Coste
d2b82f507f
More performant escape/unescape
2015-08-13 22:04:21 +01:00
Maxime Coste
7a36a4644e
Detect face being aliased to itself
...
Fixes #374
2015-08-12 21:49:29 +01:00
Maxime Coste
d2762e6a1a
Try to fix compilation on travis
2015-08-12 19:16:52 +01:00
Maxime Coste
7086135fa6
Display auto info on register insertion/explicit insert completion
2015-08-11 20:36:07 +01:00
Maxime Coste
8d9c402f52
Handle registers insert/explicit completion with a nested on_next_key mode
2015-08-11 13:55:56 +01:00
Maxime Coste
d7744308f6
Ensure the command exist before adding an alias
...
Fixes #371
2015-08-11 13:37:38 +01:00
Maxime Coste
94ec1cdde7
Add an unset command to remove an option value (falling back to parent)
...
unset is not applicable to global scope.
2015-08-10 13:54:52 +01:00
Maxime Coste
10d8cf64cf
Move option docstring obtention to OptionRegistry
2015-08-10 13:53:30 +01:00