Maxime Coste
c4a9f059dc
Fix unset option when using the current scope and it points to global
2015-12-02 19:25:40 +00:00
Maxime Coste
9a6347d6aa
Another try to fix csr problems ( #469 )
2015-12-02 01:12:24 +00:00
Maxime Coste
2a8a329b83
Remove support for %arg{#}, can be added back if we got a use case
...
It is very unlikely we need %arg{#} without needing a %sh anyway.
2015-12-02 01:08:41 +00:00
Maxime Coste
a02ad38fb4
Forward each params in %arg{@} separately
2015-12-02 01:01:48 +00:00
Maxime Coste
b2648053f9
Add argument expansion support
2015-12-01 20:07:14 +00:00
Maxime Coste
550a95a3d7
Change def -shell-params to def -params and take the counts as parameters
2015-12-01 14:00:55 +00:00
Maxime Coste
7335065d20
Update buffer display names after changing working directory
...
Fixes #501
2015-12-01 13:42:42 +00:00
Maxime Coste
1745344869
Run InsertIdle after reseting completer to permit InsertIdle to display an info box
2015-11-30 13:54:59 +00:00
Maxime Coste
e91da2bd43
Try to just reset the scroll region to workaround #469
2015-11-30 13:35:15 +00:00
Maxime Coste
a8d81e395b
Support dropping last jump and use it to fix :tag double jump push
...
Fixes #492
2015-11-27 13:57:46 +00:00
Maxime Coste
516e999a28
Disable history in all non interactive contexts
2015-11-27 13:50:40 +00:00
Maxime Coste
b4df57d369
Small cleanups
2015-11-27 13:50:40 +00:00
Maxime Coste
a81dbd90a1
Consolidate writing to fd
2015-11-27 13:50:40 +00:00
Maxime Coste
0b57103c72
Remind user hooks disable when replaying last insert
...
Fixes #495
2015-11-26 23:02:59 +00:00
Maxime Coste
de72c7d5d3
Add missing <cstdio> include
...
Fixes #498
2015-11-26 22:51:39 +00:00
Alex Leferry 2
5da00a0f14
add rc/grench.kak
2015-11-26 15:23:02 +01:00
Maxime Coste
f66bbdf209
select/split interpret count parameter as the capture group to use
...
count being 0 by default, we use the whole match, but we can now
specify to use capture 1 with 1s<regex><ret>.
2015-11-26 13:36:26 +00:00
Maxime Coste
9e08cf8ea4
Preserve default registers in exec/eval by default
2015-11-26 13:34:46 +00:00
Maxime Coste
001da44e11
Add -save-regs <regs> option to exec and eval to preserve registers
...
Fixes #279
2015-11-25 23:40:38 +00:00
Maxime Coste
3644f2a056
Refactor registers to initialize all of them at startup and add null register
...
Fixes #497
2015-11-25 21:48:17 +00:00
Maxime Coste
ec91ea17fe
Add a static const String::ms_empty empty string
2015-11-25 21:07:41 +00:00
Maxime Coste
3b5b781c5d
Reject non ascii register names
...
Fixes #493
2015-11-25 20:12:11 +00:00
Maxime Coste
e45b0c3ffc
Add StatusLine{Mode,Info,Value} built in faces
...
Fixes #491
2015-11-24 13:53:15 +00:00
Maxime Coste
ad5c8db7a8
Add support for various completions in :prompt
...
Fixes #489
2015-11-23 13:57:36 +00:00
Maxime Coste
36bf145b02
Support opening new files on kak -c command line
...
Fixes #485
2015-11-22 11:48:02 +00:00
Maxime Coste
7cf7f121e8
Fix onkey autoinfo
2015-11-21 17:21:21 +00:00
Maxime Coste
b0d696d994
Merge remote-tracking branch 'somasis/master'
2015-11-21 15:39:27 +00:00
Maxime Coste
a8d2c93ac8
Add a profiling debug flag to get timings for hooks/shell eval
2015-11-21 12:11:19 +00:00
Maxime Coste
5e4f5cd2a0
Move enum option handling in enum.hh and refactor enum options
2015-11-20 09:06:53 +00:00
Kylie McClain
77ba471020
Makefile: Allow for passing include/ncursesw path
2015-11-19 20:09:24 -05:00
Maxime Coste
c0f1b7b99f
Introduce a debug flags option to control some tracing
...
Support shell|hooks and write traces in debug buffer
2015-11-19 21:58:26 +00:00
Maxime Coste
2977cc97b3
Merge branch 'ws' of git://github.com/jubalh/kakoune
2015-11-19 21:56:45 +00:00
Maxime Coste
bf213b01dd
Keep an empty last line in debug buffer to provide auto scrolling
2015-11-19 21:33:50 +00:00
Kylie McClain
1ed66e9b6a
Fix building with musl libc
2015-11-19 20:23:55 +00:00
Maxime Coste
788c358720
Fix some cases where menu items are truncated needlessly
2015-11-19 20:23:27 +00:00
Michael Vetter
71f6ee3234
Remove trailing whitespaces
2015-11-19 16:31:00 +01:00
Maxime Coste
daf041e839
Implement some generic utilities to convert flags to/from strings
2015-11-19 00:17:52 +00:00
Maxime Coste
784ab635ee
Splitting an empty string now returns an empty vector
2015-11-19 00:17:18 +00:00
Maxime Coste
9656f088e7
Change autoinfo option to be a flags option, document flags options
...
Support the value1|value2|value3 syntax for flag options.
2015-11-18 23:47:28 +00:00
Maxime Coste
5c37f0dd5e
Propagate shell context through prompt/onkey/menu commands
2015-11-18 20:15:51 +00:00
Maxime Coste
5743ea7384
Respect count argument on search
2015-11-18 20:13:03 +00:00
Maxime Coste
8d47cf0674
Fix correctly ncurses menu size computations and avoid divide by 0
2015-11-18 20:12:16 +00:00
Maxime Coste
6925ff33b1
Send client dimensions on connection, avoid a race condition.
...
Fixes #429
2015-11-18 13:43:43 +00:00
Maxime Coste
a37858ece7
Put count and register normal mode params in the shell context
...
'10:echo %val{count}' will display 10
Fixes #10
2015-11-17 23:47:59 +00:00
Maxime Coste
6bd71c68e5
NCurses: Fix max menu item width computation
2015-11-17 23:34:03 +00:00
Maxime Coste
cb108b248a
Fix alias completion and overwritting
2015-11-17 13:55:27 +00:00
Maxime Coste
97cc166885
Try to restore the previously opened buffer when converting to client mode
...
Fixes #483
2015-11-16 13:52:33 +00:00
Maxime Coste
1bf0a964ce
Move is_basic_alpha to unicode.hh
2015-11-15 13:24:39 +00:00
Maxime Coste
111732005a
Support <c-v> to insert raw value in insert/prompt mode
2015-11-13 13:52:54 +00:00
Maxime Coste
67d1b7dcd1
Faster BufferIterator::operator++/--
2015-11-12 13:59:36 +00:00
Maxime Coste
2113b829df
Show an info box explaining that spaces disable history recording in command prompt
...
Fixes #477
2015-11-12 13:57:14 +00:00
Maxime Coste
d6168a90fc
Fix access to dead temporary
2015-11-11 19:14:35 +00:00
Maxime Coste
b73a890f8c
Document i attribute in face command info
2015-11-11 19:05:47 +00:00
Maxime Coste
a5c8437873
Remove unneeded conversion
2015-11-11 19:05:32 +00:00
Maxime Coste
892c3647e4
Fix to_lower/to_upper handling to correctly support non unicode chars
...
require a proper unicode locale setup on the system
Fixes #94
2015-11-11 00:21:20 +00:00
Maxime Coste
7bd3f4306d
Remove useless checks, buffer has always at list one line
2015-11-10 23:06:57 +00:00
Maxime Coste
217dd6a1de
Disable history when executing maps
...
Fixes #476
2015-11-10 21:24:47 +00:00
Maxime Coste
a0bcdd83df
Document default registers
2015-11-10 20:39:17 +00:00
Maxime Coste
9134066e85
Try to switch to last buffer when removing the current one
2015-11-10 13:52:48 +00:00
Maxime Coste
53184829ee
Avoid unneeded inc/dec rec in RefPtr::operator=
2015-11-10 13:50:15 +00:00
Maxime Coste
6e08716899
Refactor Normal input mode on_key method
2015-11-09 21:30:07 +00:00
Maxime Coste
6ecccf4119
Regex based normal mode command honor the selected register
...
They default to the '/' register for the default regex, but can
use another if specified with "<reg>
2015-11-09 21:28:18 +00:00
Maxime Coste
9b8e2526f9
Merge search hihglighter and regex option highlighter in dynregex
2015-11-09 09:34:03 +00:00
Maxime Coste
62c981fe2d
Small tweak in DynamicRegexHighlighter
2015-11-09 08:50:17 +00:00
Maxime Coste
a2d78941ba
Catch expression evaluation errors in line/column highlighters
2015-11-09 08:42:40 +00:00
Maxime Coste
12abb54a88
Slightly more performant regex capture gathering in select_all_matches
2015-11-09 08:42:12 +00:00
Maxime Coste
6840f7ce9c
Store the last used buffer in clients
...
Fixes #474
2015-11-07 18:25:49 +00:00
Maxime Coste
6bb775241c
Optimize BufferIterator to avoid a lot of pointer chasing
2015-11-07 16:55:48 +00:00
Maxime Coste
04c8334c98
Avoid useless StringDataPtr copy
2015-11-07 16:55:20 +00:00
Maxime Coste
28d451b844
Support 'current' scope in set/unset command
2015-11-06 13:56:48 +00:00
Maxime Coste
65e67b0656
Remove unused _ss UDL
2015-11-06 13:37:51 +00:00
Maxime Coste
33253a8fd5
Support 'V' for locked view control
...
Fixes #343
2015-11-05 13:40:40 +00:00
Maxime Coste
05f7337eb0
Change ncurses wheel down default button to 5
2015-11-05 13:28:58 +00:00
Maxime Coste
48a296dc71
Avoid an unneeded call to ensure_char_start
2015-11-04 20:10:12 +00:00
Maxime Coste
d6a2d77857
Fix double check_invariant in SelectionList construction, and set main selection to last
2015-11-04 19:53:47 +00:00
Maxime Coste
2ce0a5a8a8
Merge https://github.com/alpha123/kakoune
2015-11-04 19:49:21 +00:00
Maxime Coste
1c831b41da
always_inline a few RefPtr operators
2015-11-04 19:47:26 +00:00
Maxime Coste
e82ca36117
Avoid unneeded sort_and_merge_ovelapping call in select_all_matches
2015-11-04 19:43:25 +00:00
Maxime Coste
719997f0ab
Do not tag BufferIterator as random access
...
Boost regex considers that random access means fast distance
computation, which is not the case for BufferIterator where
Buffer::distance is O(num lines between them) which can get
big on large files.
Fixes #462
2015-11-04 01:01:52 +00:00
Maxime Coste
6273aa9443
Rework Buffer::distance implementation
2015-11-04 01:01:52 +00:00
alpha123
97c92368bc
Build on FreeBSD
2015-11-03 11:51:27 -07:00
Maxime Coste
e8239feddf
Minor cleanup in normal.cc
2015-11-03 13:59:05 +00:00
sinetek
4b8c03afe6
Adding support for DragonFlyBSD.
2015-11-03 01:14:34 +07:00
Maxime Coste
c8d2417646
Support horizontal centering in view commands (using m)
...
Fixes #442
2015-11-02 19:51:59 +00:00
Maxime Coste
17eef4a7dc
Use explicit lambda captures
2015-11-02 13:44:03 +00:00
Maxime Coste
2bf44b6b49
Make word insert completion work better with unicode char
2015-10-30 13:57:46 +00:00
Maxime Coste
f556ef12c4
Fix preservation of entered text in option insert completer
2015-10-30 13:08:07 +00:00
Maxime Coste
34d7bdbc01
Minor code cleanup in insert_completer.cc
2015-10-30 13:07:48 +00:00
Maxime Coste
32b51e2cc3
Use ranked matches for option completion as well
2015-10-29 13:57:50 +00:00
Maxime Coste
8030897708
Merge branch 'master' into ranked-word-completion
2015-10-29 13:44:55 +00:00
Maxime Coste
24043bbffe
Use an heuristic based match ranking algorithm inspired by what YouCompleteMe does
2015-10-29 13:36:30 +00:00
Maxime Coste
4b7b04bf59
Fix mouse scrolling up stopping at line 2
...
Fixes #448
2015-10-28 00:01:25 +00:00
Maxime Coste
89d22f3335
Move more logic into RankedMatch
2015-10-27 21:25:18 +00:00
Maxime Coste
2eba789610
Merge branch 'master' into ranked-word-completion
2015-10-27 13:33:15 +00:00
Maxime Coste
40c6edf243
Document exclusive attribute
2015-10-23 13:49:02 +01:00
Maxime Coste
5118e13aee
Remove useless std::move
2015-10-23 13:46:55 +01:00
Maxime Coste
e7152bad56
Add an exclusive attribute that overrides existing face
2015-10-23 13:46:41 +01:00
Maxime Coste
1ba37bacd8
Fix optimized linkage
2015-10-23 09:49:06 +01:00
Maxime Coste
c77cb7c777
Extract WordDB::RankedWord as RankedMatch in its own file
2015-10-22 19:49:08 +01:00
Maxime Coste
da7fc3311f
Pass ShellContext to commands
...
Fix #427
2015-10-22 13:59:23 +01:00
Maxime Coste
e51ef6c3c2
Wrap the shell params en env vars in a ShellContext struct
2015-10-22 13:48:57 +01:00
Maxime Coste
7346220e38
Fix :set completion when -add switch is given
2015-10-22 13:29:34 +01:00
Maxime Coste
5938712d1f
Support :set -add on strings, using concatenation
2015-10-22 13:21:59 +01:00
Maxime Coste
019b3235b0
Remove legacy WordDB::find_matching method
2015-10-21 20:16:36 +01:00
Maxime Coste
2bf391f36d
Sort insert completer words by name favoring lower case and then stable sort by rank
2015-10-20 13:50:55 +01:00
Maxime Coste
9449f763e0
Fix removal of duplicated words in insert completion
2015-10-19 19:39:05 +01:00
Maxime Coste
73e438be07
Fix handling of explicit insert completers
2015-10-19 13:43:23 +01:00
Maxime Coste
364914afbd
Do not filter completions in InsertCompleter anymore
...
Just rerun the actual completers
2015-10-18 17:51:13 +01:00
Maxime Coste
4f2584a091
Experiment with ranked word completion depending on word boundaries
2015-10-18 16:55:21 +01:00
Maxime Coste
944d8f53fb
Fix OSX compilation
2015-10-18 12:45:27 +01:00
Maxime Coste
2cd0ce41ac
Do not try to extend last match when updating regex matches
...
It does not work well with regexes starting with a lookbehind, as
we would need to reparse from further away, leading to the last
match just being removed. It seems safer not to remove it, as
the motivating use case (multiline macros) is better left to
regions anyway.
Fixes #440
2015-10-18 11:37:04 +01:00
Maxime Coste
76fadd8108
More cleanups in the buffer open/reload code
2015-10-17 11:33:09 +01:00
Maxime Coste
fe704b9b84
Move line parsing and to Buffer.cc directly
2015-10-17 11:33:09 +01:00
Maxime Coste
3795ff735a
Refactor buffer creation and reloading to be more explicit
...
Reloading used to be implicit in the buffer creation function,
which is not always nice, as code that explicitely wanted to
reload a buffer could not say so.
2015-10-17 11:33:09 +01:00
Maxime Coste
776059a4c3
Fix double destruction of local ui
2015-10-14 13:21:27 +01:00
Maxime Coste
43fb216772
Remove unneeded constructor
2015-10-14 08:49:13 +01:00
Maxime Coste
572cf9d6b2
Fix file change detection not working in certain cases
...
Files opened from the command line where not handled correctly.
2015-10-13 19:31:24 +01:00
Maxime Coste
49557f5b17
Restore info box after a resize as well
...
Fixes #425
2015-10-13 13:58:39 +01:00
Maxime Coste
9f78f9bfd5
Try to restore menu after a resize
2015-10-13 13:52:02 +01:00
Maxime Coste
e5240ba4ff
Fix NCursesUI::m_items not being empty after a resize
...
Fixes #435
2015-10-13 13:40:04 +01:00
Maxime Coste
2d7e99da98
Tweak file change checking timeout handling
2015-10-10 14:18:43 +01:00
Maxime Coste
50f5140cbd
When displaying a prompt content with line break char, replace them with their unicode control picture
2015-10-09 13:55:55 +01:00
Maxime Coste
256e4d7862
NCursesUI: Remove color restoring support
2015-10-09 13:43:13 +01:00
Maxime Coste
a4447819e5
Fix OSX compilation
2015-10-09 13:41:28 +01:00
Maxime Coste
0d8b9c6677
Tweak handling of SIGINT
2015-10-08 20:23:32 +01:00
Maxime Coste
473196e18d
Store color/color pairs mapping in the ncurses ui instance
2015-10-08 20:23:32 +01:00
Maxime Coste
bd01171861
Auto fork server when suspending the local client
...
That way, other clients can still be serviced by the server.
2015-10-08 20:05:47 +01:00
Maxime Coste
7776c38755
Detect ungraceful exits, and backup modified buffers in these cases
2015-10-08 13:43:39 +01:00
Maxime Coste
3098cd12f8
Check for terminal resize on SIGCONT
...
Fixes #423
2015-10-08 13:24:58 +01:00
Maxime Coste
5e4443812c
Fix warning in ncurses_ui.cc
2015-10-06 21:15:13 +01:00
Maxime Coste
67646cd45a
Cleanup insert_completer code and use markup for option completion menu entry
2015-10-06 13:37:16 +01:00
Maxime Coste
c41a7eed09
Fix display of path insert completion for absolute paths
2015-10-05 23:30:20 +01:00
Maxime Coste
31cc61b6fc
Allow parsing empty strings as default color in face descs
2015-10-05 20:32:51 +01:00
Maxime Coste
db2fa6f5cb
Support markup in menu command
2015-10-05 13:51:13 +01:00
Maxime Coste
69b16d814b
Display word insert completion buffer name in a different color
2015-10-05 01:48:00 +01:00
Maxime Coste
c54e6738b9
Use DisplayLine for menu choices
2015-10-05 01:25:23 +01:00
Maxime Coste
38e9bf4f96
Fix OSX compilation
2015-10-03 11:21:35 +01:00
Maxime Coste
f7ba2a896c
Tweak ui_options docstring
2015-10-02 13:56:19 +01:00
Eike Plack
faa3b3b173
Add self documentation to ui_options
...
* For now the non ui code will hold this information. Ideally the UI would
be able to describe its options in some way.
2015-10-02 13:54:08 +01:00
Maxime Coste
a6cd764042
Add ncurses_enable_mouse ui option
2015-10-02 13:52:41 +01:00
Maxime Coste
bb96ad44b2
Refactor ShellManager process spawning
2015-10-02 13:37:06 +01:00
Maxime Coste
1cb4d2965f
Fix '*' word boundary detection at begin/end of buffer
2015-10-01 19:35:42 +01:00
Maxime Coste
77408becbd
Fix removing shared highlighters
2015-09-30 00:18:37 +01:00
Maxime Coste
6913d5427c
Try to fix OSX compilation
2015-09-27 18:48:01 +01:00
Maxime Coste
9fdb822c27
Add support for italic text attribute
2015-09-27 14:24:42 +01:00
Maxime Coste
e2720f1fbe
Store timespec for buffer fs timestamps, not just time_t
...
time_t has a resolution of one second, which cause troubles when
a file changes multiple time during that same second.
2015-09-27 11:55:34 +01:00
Maxime Coste
3262a6902c
Allow custom separator for line numbers
...
the number_lines highlighter accepts a -separator <arg> switch
to change the default '│' separator.
Fixes #295
2015-09-25 13:47:57 +01:00
Maxime Coste
4ea89def3b
Avoid (*it++) pattern in utf8.hh
2015-09-25 13:19:21 +01:00
Maxime Coste
48a7448b11
Merge remote-tracking branch 'freefull/master'
2015-09-24 23:01:20 +01:00
Filip Szczepański
47e6eed7c9
Add Haiku support.
2015-09-24 22:36:29 +00:00
Maxime Coste
aa4b98af7c
Add utf8::read_codepoint that both gets the codepoint and advance iterator
2015-09-24 23:00:47 +01:00
Maxime Coste
12ef466f3a
Avoid redundant calls to get_face in highlight_selections
2015-09-24 13:55:06 +01:00
Maxime Coste
e601bd5fe8
Minor additional cleanup in utf8.hh
2015-09-23 22:09:37 +01:00
Maxime Coste
ceafa5459a
Avoid unneeded iterator copies in utf8.hh
2015-09-23 19:48:15 +01:00
Maxime Coste
27571a7716
Refactor utf8::iterator to be on the safe side
...
utf8::iterator now knows the iterator valid range, and pass
it to utf8 functions.
2015-09-23 19:39:21 +01:00
Maxime Coste
b5972cd647
Tweak utf8::iterator::distance implementation, remove unused advance method
2015-09-23 19:30:47 +01:00
Maxime Coste
6ec693d598
Cleanup compute_needed_size implementation
2015-09-23 00:43:40 +01:00
Maxime Coste
eed3e5459d
Cleanup ncurses string writing code
2015-09-23 00:40:09 +01:00
Maxime Coste
3c000cbd0d
Error when trying to run an empty register as a macro
2015-09-22 19:01:24 +01:00
Maxime Coste
8529720aef
Fix some redrawing problems after resize
2015-09-21 22:12:23 +01:00
Maxime Coste
8b9452680a
Use different object filenames between debug/non-debug builds
2015-09-21 13:39:11 +01:00
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
Maxime Coste
bfb116b8b4
Move option name completion to the OptionRegistry
...
Option names are the same for every option manager.
2015-08-10 13:38:06 +01:00
Maxime Coste
2eced81753
clamp coordinates find_buffer_coord
2015-08-09 23:18:26 +01:00
Maxime Coste
9d50dd3886
Use a struct rather than a std::pair for InputHandler::Insertion
2015-08-08 22:46:11 +01:00
Maxime Coste
7a59a6d758
ensure a buffer is not referenced a second time, just before actually deleting it
...
It can happen in certain case that a buffer gets referenced after it
gets moved to the trash, for example when it gets deleted during its
construction (due to BufCreate hook for example).
2015-08-06 21:51:44 +01:00
Maxime Coste
e7b4217762
Support flags getting modified by hooks at buffer creation
...
Fixes #361
2015-08-04 23:02:40 +01:00
Maxime Coste
d19df5d5de
Enable more invariant checking in selection lists
2015-08-03 11:23:40 +01:00
Maxime Coste
19c52c3d61
Fix command parsing bug
...
Fixes #347
2015-07-30 09:41:23 +01:00
Maxime Coste
3da9458b5e
Merge remote-tracking branch 'lenormf/autoinfo_number'
2015-07-29 10:44:39 +01:00
Frank LENORMAND
b7e232d230
Add the 'n' flag to the autoinfo popup window
2015-07-29 10:20:11 +03:00
Maxime Coste
12e0f46e25
Use forward declaration instead of include in commands.hh
2015-07-28 20:18:18 +01:00
Maxime Coste
6b06d77490
Small formatting fix
2015-07-27 20:43:18 +01:00
Maxime Coste
1170277e91
Always inline Allocator::construct/destroy
2015-06-26 21:32:37 +01:00
Maxime Coste
1af82e2e24
Tweak regex constructor calls
2015-07-25 11:15:03 +01:00
Maxime Coste
6bed464105
Avoid appending chars one by one in some parsing functions in CommandManager
2015-07-25 08:56:27 +01:00
TSUYUSATO Kitsune
4a20882a8d
CPPFLAGS should use to specify flags for C pre-processor
2015-07-25 10:20:33 +09:00
Maxime Coste
6f337b254d
Fix warning
2015-07-24 13:57:44 +01:00
Maxime Coste
ea02467564
Disable notifications when disabling an option temporarly
2015-07-23 23:42:48 +01:00
Maxime Coste
58101645ab
Rewrite select_lines and trim_partial_lines
...
Fixes #338 for real (I hope)
2015-07-23 21:03:38 +01:00
Maxime Coste
2946504a17
Improve column highlighter to cooperate better with other highlighters
...
Fixes #268
2015-07-23 13:58:23 +01:00
Maxime Coste
889bc98866
fix crash in trim_partial_lines
...
Fixes #338
2015-07-23 13:46:20 +01:00
Maxime Coste
36ffff96be
Avoid copying selection before the first line
2015-07-22 23:24:20 +01:00
Maxime Coste
733e004d44
Fix potential crash
2015-07-22 18:38:44 +01:00
Maxime Coste
82145168ec
Add /usr/include/ncursesw in the include dirs list
2015-07-22 18:38:01 +01:00
Maxime Coste
3019118b10
Style tweak in client.cc
2015-07-22 13:30:03 +01:00
Maxime Coste
d55297c12d
Remove -rdynamic from cygwin LDFLAGS
2015-07-20 13:17:03 +01:00
Maxime Coste
10f4bb5872
Add support for FocusIn/FocusOut events from UI
2015-07-15 13:56:31 +01:00
Maxime Coste
f8e4bb09f2
Merge remote-tracking branch 'ekie/makefile_fix'
2015-07-14 22:02:51 +01:00
Maxime Coste
17e3be48a5
Transform boost/std regex_error to Kakoune::regex_error at Regex construction
...
Fixes #318
2015-07-14 21:06:41 +01:00
Eike Plack
441ad1511d
Install color schemes
2015-07-14 19:44:03 +02:00
Maxime Coste
7d9ec52bf2
Only allow 'sane' register names
...
Fixes #316
2015-07-14 13:48:39 +01:00
Maxime Coste
f87dbe410f
Add missing support for Codepoint in format
2015-07-14 13:47:51 +01:00
Maxime Coste
c1b9ea4d1e
Formatting tweak
2015-07-13 13:57:43 +01:00
Maxime Coste
c44c8c3d1f
Use different variable for pipe command in/out text
2015-07-13 13:50:36 +01:00
Maxime Coste
905af05c61
Move Context scope access helpers as inline methods
2015-07-13 13:43:52 +01:00
Maxime Coste
24de3ed822
Move selection saving/restoring to z/Z
...
Fixes #284
2015-07-11 11:36:23 +01:00
Maxime Coste
a15d816ea8
Use a named struct Empty in optional
2015-07-10 19:05:21 +01:00
Maxime Coste
1d1927647a
Fix formatting
2015-07-09 13:53:21 +01:00
Maxime Coste
f1c286e592
Notify user when some hooks failed
2015-07-08 14:00:50 +01:00
Maxime Coste
883a14e853
Do not allow exiting insert mode while running InsertEnd hook.
...
Fixes #311
2015-07-08 13:53:19 +01:00
Maxime Coste
123541822b
Gracefully handle exception when opening files given on command line
...
Fixes #310
2015-07-08 13:43:40 +01:00
Maxime Coste
f65d41a30a
Fix scrolling down hiding the cursor with scrolloff == 0
2015-07-08 13:43:32 +01:00
Maxime Coste
3c4400c5fd
Change scrolloff behaviour, allow displaying pas the end of buffer
...
Fixes #306
2015-07-07 22:36:27 +01:00
Maxime Coste
1cbaac5323
Fix window position computation that could get negative with big scroll offsets
2015-07-06 13:10:36 +01:00
Maxime Coste
72b7a8910b
Print connection failed messages with a newline
...
Fixes #308
2015-07-05 13:39:30 +01:00
Maxime Coste
b7be43f9b9
Merge remote-tracking branch 'xificurC/master'
2015-07-03 20:59:41 +01:00
Maxime Coste
eedf7d6c68
Fix mouse coordinates in ncurses ui with status on top
2015-07-03 18:44:25 +01:00
Maxime Coste
12dd7b04ac
Try to simplify argument selector, abandon pair matching checks
...
Recognize both , and ; as argument separator
2015-07-02 13:41:50 +01:00
Maxime Coste
2660793a31
Small refactoring in selectors.cc
2015-07-01 23:54:17 +01:00
Maxime Coste
28ebe776c0
Refactor select_arguments and slightly change behaviour for non-inner
...
non inner argument contains the argument, preceeding whitespaces,
and eventual ending comma, except for first arguments (that
contains the whitespaces after the comma), and last argument (that
contains the comma before it).
2015-07-01 23:47:22 +01:00
Maxime Coste
33616f4192
Merge branch 'remap-objects' of http://github.com/elegios/kakoune
2015-07-01 22:08:17 +01:00
Viktor Palmkvist
ab2007bd4e
Add remapping of text object keys
2015-07-01 17:53:38 +02:00
Viktor Palmkvist
13d212f445
Added argument text object
2015-07-01 17:42:10 +02:00
Maxime Coste
ee6fc92ae2
Fix stupid bug in '*'
2015-07-01 13:33:20 +01:00
Maxime Coste
58d115ec88
Force redraw all clients after a face changed
2015-06-30 19:12:25 +01:00
xificurC
fbb216d2ed
commands starting with horizontal whitespace don't go into the history
2015-06-30 16:06:49 +02:00
Maxime Coste
670d8f7d1e
Use tparm instead of tiparm
2015-06-30 13:35:51 +01:00
Maxime Coste
eb4ac85fb1
Force setting of terminal hardware scroll region on resize
...
It seems there is a race condition with VTE based terminals when
created and resized almost immediatly (like when doing :new) where
we end up with the hardware scroll region set to the old terminal
size.
2015-06-30 09:08:44 +01:00
Maxime Coste
130b22ff74
Refactor resize handling in NCursesUI
2015-06-30 00:31:26 +01:00
Maxime Coste
3fe8446065
Use StatusLine face as default for the status line
2015-06-29 22:48:26 +01:00
Maxime Coste
05b4d95a56
Run BufReadFifo hook after reading from fifo
2015-06-28 11:06:19 +01:00
Maxime Coste
8795a56731
Merge overlapping selections before erasing
...
Overlapping selections on erase confuse the ForwardChangeTracker
and will confuse the user,
Fixes #298
2015-06-28 10:16:39 +01:00
Maxime Coste
bf09f464c2
Use a relative symlink for autoload
2015-06-27 16:12:04 +01:00
Maxime Coste
44d7910336
Merge branch 'master' of http://github.com/tduzan/kakoune
2015-06-27 11:02:16 +01:00
Maxime Coste
e1ba2991f5
Initial selection saving/restoring support bound to ^ and alt-^
2015-06-27 11:02:08 +01:00
tduzan
3bd8c36b74
Removed the '-r' flag from the ln command in the install step of the Makefile. It is not a POSIX compliant option, therefore does not work on BSD or OS X. Reference GH Issue#286.
...
Based on my understanding of this Makefile, the '-r' flag is unnecessary and didn't do anything additional. The pathspec for both the source and target are explicit using a variable for a portion.
Will test via Homebrew following pushing this to my fork.
2015-06-26 12:35:03 -06:00
Maxime Coste
5b554ff474
Add support for command completion on commands, use it for :new
...
That means commands can be completed using other commands and their
completers. Yes that does makes sense.
Closes #296
2015-06-26 13:57:23 +01:00
Maxime Coste
b579f90bae
Make sure we do not put a Value in a Value
2015-06-25 19:45:42 +01:00
Maxime Coste
cf33a062df
Force redraw window after adding/removing highlighters
2015-06-25 19:45:41 +01:00
Maxime Coste
d207d13b68
Avoid unneeded default constructor call in Optional
2015-06-25 13:36:45 +01:00
Maxime Coste
cc09c36fe0
Minor reorganisation in buffer.hh
2015-06-25 13:36:23 +01:00
Maxime Coste
26cfd6af9b
Style tweak
2015-06-24 13:44:47 +01:00
Maxime Coste
b97b907b2a
Fix include
2015-06-24 13:40:18 +01:00
Maxime Coste
fa4c486b69
Always redraw status when redrawing the main window
...
That is needed so that on resize the status line does not disappear
2015-06-24 13:35:46 +01:00
Maxime Coste
6870895374
Add support for hex formatting
2015-06-22 13:56:00 +01:00
Maxime Coste
7e6b02f26a
Refactor slightly window redrawing
2015-06-22 13:34:22 +01:00
Maxime Coste
3834440298
Rework window redraw handling, should redraw window less often
2015-06-21 19:56:23 +01:00
Maxime Coste
7c22ff217d
Improve ncurses redraw behaviour
2015-06-21 19:51:14 +01:00
Maxime Coste
2162157752
Display pid in fatal signal message
2015-06-21 19:44:43 +01:00
Maxime Coste
75dd74ff43
Use <a-R> as replace paste all yanked selections
...
Move rotate to ' and rotate contents to <a-'>
Fix segfault when pasting all and nothing was yanked yet
2015-06-21 19:36:13 +01:00
Maxime Coste
64cbdcd328
Merge remote-tracking branch 'ekie/fix_edit'
2015-06-20 15:04:39 +01:00
Maxime Coste
7fd7098265
Add a combine_hash helper function
2015-06-20 15:04:31 +01:00
Maxime Coste
6d23bb056a
Fix wrong exception type in str_to_int
2015-06-19 18:29:58 +01:00
Eike Plack
1bdc98abd3
Fix Self Documentation
2015-06-19 17:10:16 +02:00
Maxime Coste
fce2a21690
Fix segfault on g. when last modification position past buffer end
2015-06-18 19:51:04 +01:00
Maxime Coste
bf46870ff2
Move status/mode line drawing as a separate ui method
2015-06-17 21:28:02 +01:00
Maxime Coste
7417c5e9e2
Resolve symbol names in Cygwin Backtrace::desc implementation
2015-06-16 18:49:56 +01:00
Maxime Coste
d8e2e9e043
Small formatting fix
2015-06-15 23:00:37 +01:00
Maxime Coste
3fb783f7f9
Add <a-;> in insert mode to execute a single normal mode command
2015-06-12 13:56:11 +01:00
Maxime Coste
84d8447a58
Notify user on kakrc parsing errors
...
Fixes #281
2015-06-12 13:43:46 +01:00
Maxime Coste
2c15dbe6b2
Fix regions highlighter docstring
2015-06-11 19:04:30 +01:00
Maxime Coste
0555288e46
Show main selection search pattern on '*'
...
Fixes #278
2015-06-10 22:48:15 +01:00
Maxime Coste
46b167b851
Style tweak
2015-06-10 22:42:07 +01:00
Maxime Coste
e5852f6822
Fix race condition ShellManager::eval with SIGCHLD
2015-06-09 20:28:24 +01:00
Maxime Coste
b4329dd643
Fix comment
2015-06-09 13:27:51 +01:00
Maxime Coste
409d804ee8
Do not close stderr/stdout before program finish
...
Programs like grep called in '$' command will fail due to SIGPIPE
for example. So we need to keep the pipe open.
2015-06-08 22:42:51 +01:00
Maxime Coste
66866aafd3
Change gl/gh to only move cursor, not selecting (<a-h>/<a-l>) are unchanged
...
That is more consistant with other goto commands (that just move the cursor)
2015-06-08 13:51:06 +01:00
Maxime Coste
942fc224af
Specify if ShellManager should read output or not using a flag
...
Some program (xclip), will fork a daemon keeping stdout/stderr open,
so waiting for them to be closed make kakoune hang. Commands discarding
stdout can then just not wait on it.
2015-06-08 13:45:20 +01:00
Maxime Coste
7acf3da3ca
Change select_to_eol implementation
2015-06-07 23:17:23 +01:00
Maxime Coste
e6f0e8ef75
Move write_debug to buffer utils as write_to_debug_buffer
2015-06-06 11:54:48 +01:00
Maxime Coste
be03db9a24
Support sourcing files that use crlf end of lines
2015-06-05 13:52:56 +01:00
Maxime Coste
7bff1b782e
Merge branch 'mode-stack'
2015-06-05 13:16:31 +01:00
Maxime Coste
d6d81607ed
Gracefully handle reloading a file that was deleted
2015-06-05 13:11:04 +01:00
Maxime Coste
87fcfda508
Avoid buffer end in compute_modified_ranges
2015-06-05 13:10:30 +01:00
Maxime Coste
7cddaacc5d
Fix support for default face on remote clients
2015-06-04 18:51:00 +01:00
Maxime Coste
f39b450e94
on_enabled might change mode, so assert Normal mode before
2015-06-04 13:56:08 +01:00
Maxime Coste
b34d469b72
Merge branch 'master' into mode-stack
2015-06-04 13:54:03 +01:00
Maxime Coste
9668dccea9
Add support for Default face
...
The Default face is used to set default color values, if set
to default (the default), refers to terminal default colors.
2015-06-04 13:49:28 +01:00
Maxime Coste
f30cd317b0
Describe facedesc in :face docstring
2015-06-03 22:10:37 +01:00
Maxime Coste
64a3b0bd50
Fix memory leak in fifo buffer handling
2015-06-03 20:22:26 +01:00
Maxime Coste
f0886ad323
Get rid of the mode trash, delete mode directly when leaving on_key
2015-06-03 20:03:06 +01:00
Jiří Konečný
ff27b190eb
Fix Makefile for Fedora packaging system
...
There was a problem with absolute path for symlink.
I think most of the packaging systems will be affected by this problem.
2015-06-02 22:38:20 +02:00
Maxime Coste
964b0e9a6e
InputHandler now uses a stack for active modes
...
instead of having a single mode enabled, modes can be pushed/poped,
with the top of the stack being the active mode.
2015-06-02 20:56:57 +01:00
Maxime Coste
8f6fc6a0f3
Port even more code to use format function
2015-06-01 21:15:59 +01:00
Maxime Coste
f19bb4fe6d
Port more code to use the format function instead of adhoc string concat
2015-06-01 19:06:35 +01:00
Maxime Coste
57a03d8495
Remove redundant forward declaration
2015-06-01 18:33:08 +01:00
Maxime Coste
2426384360
Autoload site wide kak scripts if the user does not have his own autoload folder
2015-05-30 14:32:04 +01:00
Maxime Coste
c61c76061f
Improve CYGWIN bactrace description
2015-05-30 12:40:24 +01:00
Maxime Coste
5aba5d38f2
Add missing include
2015-05-29 13:46:49 +01:00
Maxime Coste
be9da616df
Return a String in Backtrace::desc
2015-05-29 13:35:54 +01:00
Maxime Coste
3c86484c4e
Extract xmessage/MessageBox support in a notify_fatal_error function
2015-05-29 13:35:09 +01:00
Maxime Coste
336df38237
Go back to ignoring SIGPIPE
...
We do not want to exit when a shell command closes stdin while we
are piping data to it.
2015-05-28 13:57:22 +01:00
Maxime Coste
98637c5219
Do not throw exceptions when handling a fatal signal
2015-05-28 13:44:59 +01:00
Maxime Coste
d9aee67c8b
Tweak Makefile, enable -rdynamic so that backtraces symbols are found
2015-05-27 18:45:52 +01:00
Maxime Coste
faf55c6540
Only try to run xmessage on Linux
2015-05-27 18:45:48 +01:00
Maxime Coste
2e43a4d696
Use common signal handler for SIGPIPE
2015-05-27 13:57:41 +01:00
Maxime Coste
e18c57cfd3
Include backtrace in debug info in on_assert_failed
2015-05-27 13:56:27 +01:00
Maxime Coste
7245d2abe9
Extract Backtrace out of SafePtr as a general utility
2015-05-27 13:48:45 +01:00
Maxime Coste
1e04343178
Workaround incomplete c++11 stdlib in gcc 4.8
2015-05-26 19:05:11 +01:00
Maxime Coste
993e842fdf
Retreat ! go back to C++11 only code
...
This reverts commit b42de85031
.
2015-05-26 18:42:09 +01:00
Maxime Coste
499bde10bd
Small style tweaks
2015-05-26 18:40:39 +01:00
Maxime Coste
3bdc30e381
Try matching functions one by one when completing
...
Instead of running them all then deciding which to use.
2015-05-26 18:38:48 +01:00
Maxime Coste
3ca69c3852
Try gnu++1y
2015-05-25 20:32:39 +01:00
Maxime Coste
d83836d026
Use gnu++14 only for Cygwin, as not recognized on OSX
2015-05-25 19:35:32 +01:00
Maxime Coste
9c57f5409a
Use gnu++14, as some posix functions disappear in c++14 mode
2015-05-25 14:01:59 +01:00
Maxime Coste
7b7427e1a6
Add missing 'override' specifiers
2015-05-25 13:54:18 +01:00
Maxime Coste
b42de85031
Migrate code to c++14
2015-05-25 13:51:17 +01:00
Maxime Coste
41319d2708
Small refactor in unit tests
2015-05-24 22:34:05 +01:00
Maxime Coste
dd25dcc361
Move unit test functions in next to the code they are testing
2015-05-22 13:58:56 +01:00
Maxime Coste
c38a7f3ca4
Merge branch 'diff'
2015-05-21 22:58:50 +01:00
Maxime Coste
325cc2d894
Ignore SIGPIPE
2015-05-20 22:53:14 +01:00
Maxime Coste
43f7657151
Remove clamping in compute_modified_range
...
It can result in a non ordered range list.
2015-05-20 13:34:16 +01:00
Maxime Coste
9f46d75b27
Add headers guard to diff.hh along with a comment about the algorithm
2015-05-19 19:46:24 +01:00
Maxime Coste
38bbecef62
Fix bug in diff implementations (missing snake after d=1 change) and refactor
2015-05-18 22:59:59 +01:00
Maxime Coste
bb7800b1a6
Preserve window position in regex_prompt
...
Fixes #271
2015-05-18 13:56:58 +01:00
Maxime Coste
0a6ad4dcf4
Only initialize element 1 in mirrored arrays.
2015-05-17 20:13:11 +01:00
Maxime Coste
cf7b64ba67
Preserve selections across reloads
2015-05-16 11:42:58 +01:00
Maxime Coste
73ddf18dc3
Another bug fix in diff implementation
2015-05-15 13:55:39 +01:00
Maxime Coste
802d6e106c
Keep hash stored in StringData
2015-05-14 19:13:52 +01:00
Maxime Coste
e9af3a4217
always_inline a few methods
2015-05-14 19:05:41 +01:00
Maxime Coste
8ba6804480
Do not use diff when reloading a no undo buffer
2015-05-14 14:05:02 +01:00
Maxime Coste
cc97d4ba41
Fix bugs in diff implementation
2015-05-14 13:57:03 +01:00
Maxime Coste
f224d11ccd
Small cleanup in selections.cc
2015-05-13 23:22:48 +01:00
Maxime Coste
11528e45e9
Use friend functions rather than methods for StronglyTypedNumber binary ops
2015-05-13 23:22:48 +01:00
Maxime Coste
15b26fd06c
Use diff when reloading buffer
2015-05-13 23:22:42 +01:00
Maxime Coste
7a8c2d7f56
Fix diff implementation and change the Diff struct format
2015-05-13 23:22:29 +01:00
Maxime Coste
49def73e4e
Add initial diff implementation based Eugene W. Myers' algorithm
2015-05-12 23:41:35 +01:00
Maxime Coste
30bec11010
Fix bug in ncurses mouse handling
2015-05-11 19:11:02 +01:00
Maxime Coste
e21d9feb05
Style tweak
2015-05-09 19:20:11 +01:00
Maxime Coste
c94b30903d
Fix dangling info window pointer in ncurses ui
2015-05-07 00:34:30 +01:00
Maxime Coste
559bcdde50
Formatting fix
2015-05-06 23:05:44 +01:00
Maxime Coste
9f1b129053
Fix bug in fifo creation where BufOpenFifo hook was using a dead string
2015-05-05 20:23:15 +01:00
Maxime Coste
0ee95d02c4
line highlighter highlights up to window's end
2015-05-05 20:21:17 +01:00
Maxime Coste
1a1db1cb3a
{line,column}_option highlighters use an expanded string instead of an option name
...
That allows access to non option values, such as cursor_column or cursor_line with
:addhl line '%val{cursor_line}' default,rgb:404040
Fixes #38
2015-05-04 17:12:51 +01:00
Maxime Coste
cfdf03ab31
Make expand function (that expand %...{} tokens) public
2015-05-04 17:08:57 +01:00
Maxime Coste
7f0588c02c
Dont use a regex to match face spec for regex highlighter
2015-05-03 18:22:49 +01:00
Maxime Coste
78eb437b90
Formatting fix
2015-05-02 18:48:20 +01:00
Maxime Coste
d7159a9af0
Add str_to_int_ifp that returns an Optional<int> instead of throwing
2015-05-01 18:47:22 +01:00
Maxime Coste
d3607bc773
Rename eval(_token)? to expand(_token)? and use a const Context
2015-04-30 19:18:20 +01:00
Maxime Coste
4e89cbfe83
Add a column_option highlighter that highlight a column given in an option
2015-04-30 19:18:20 +01:00
Maxime Coste
202d4766c2
Do not display info box when there is not enough room on screen for it
...
Fixes #159
2015-04-30 13:45:05 +01:00
Maxime Coste
6974cfbf64
Use char32_t for Codepoint
2015-04-29 13:51:15 +01:00
Maxime Coste
d169558e09
When file to open is a fifo, do not read from it (use -fifo for that)
...
Fixes #267
2015-04-29 13:46:04 +01:00
Maxime Coste
1337763cb5
Fix formatting
2015-04-29 13:45:53 +01:00
Maxime Coste
e4880ad91a
Use unicode elipsis to mark trimmed mode line
2015-04-28 21:03:37 +01:00
Maxime Coste
5bff742e0a
Replace some String temporaries with StringViews
2015-04-27 16:46:57 +01:00
Maxime Coste
720c54c759
Move option_not_found exception to the cpp file
2015-04-26 20:40:32 +01:00
Maxime Coste
bbefde9379
Move Colors enum class as NamedColor enum inside Color struct
2015-04-25 10:47:39 +01:00
Maxime Coste
dc46eda279
Set default MatchingChar face to bold instead of underline
2015-04-24 20:34:38 +01:00
Maxime Coste
075c5013a1
Move Register to register_manager.hh
2015-04-23 21:51:48 +01:00
Maxime Coste
4e1ed13f25
Use a struct for RangeAndMatches
2015-04-23 21:44:20 +01:00
Maxime Coste
045272ab8a
Use a struct for BufferRange rather than std::pair
2015-04-23 21:38:45 +01:00
Maxime Coste
840e58e0b1
NCurses: When mode line is too long, trim it rather hiding it
2015-04-23 21:11:50 +01:00
Maxime Coste
e0f7a6f0be
Remove simple_factory for highlighters
2015-04-23 20:27:52 +01:00
Maxime Coste
d6b69cb6f7
Fix :open bug that could set a deleted buffer as the last used one
2015-04-23 20:15:17 +01:00
Maxime Coste
80fb8aa60d
Use puts instead of printf in ncurses_ui
2015-04-22 22:03:01 +01:00
Maxime Coste
f6c7948c12
Add format_to allowing formating to an existing buffer
2015-04-22 13:19:46 +01:00
Maxime Coste
8ff63198bc
Comment out update_erase function (keeped for reference)
...
Fixes #254
2015-04-21 13:51:01 +01:00
Maxime Coste
7824a76e1a
Disable history in :exec and :eval
2015-04-21 13:45:10 +01:00
Maxime Coste
4bb1e0a878
Support -buffer * to iterate over all buffers in :eval or :exec
2015-04-21 13:40:14 +01:00
Maxime Coste
1d40827da3
Small style tweak
2015-04-21 13:33:35 +01:00
Maxime Coste
6e5e831ce6
Merge remote-tracking branch 'ekie/next_buffer'
2015-04-21 13:28:09 +01:00
Maxime Coste
d2e8bd2431
Fix select_number crashing on empty buffers
2015-04-20 13:55:42 +01:00
Maxime Coste
ddd70fd09a
Make empty context construction more explicit
2015-04-19 18:47:52 +01:00
Maxime Coste
f714766854
Fix search highlighter wrong code
2015-04-19 15:19:39 +01:00
Maxime Coste
1dfa2d7fe4
Avoid unneeded update of selections when we are going to overwrite them
2015-04-19 15:12:16 +01:00
Maxime Coste
9f65a4e6dd
Remove Context::set_selections, use Context::selections() = ...
2015-04-19 15:00:37 +01:00
Maxime Coste
b570c68c75
Run BufOpenFifo hook when opening a fifo in a (new or already existing) buffer
2015-04-19 14:48:39 +01:00
Maxime Coste
95a14c5049
UndoGroupOptimizer disappeared long time ago
2015-04-18 14:17:17 +01:00
Maxime Coste
d2b6d696a2
Small layout change
2015-04-17 16:47:31 +01:00
Maxime Coste
3982131753
Fix StronglyTypedNumbers::abs
2015-04-17 01:01:58 +01:00
Maxime Coste
b584fd3bfc
Fix UnorderedSet allocator
2015-04-16 23:46:26 +01:00
Maxime Coste
2902fce437
Use an UnorderedSet for string registry
2015-04-16 12:38:59 +01:00
Maxime Coste
491ffc4ffd
Improve ui_options docstring
2015-04-16 11:35:52 +01:00
Maxime Coste
ea67724ff5
Optional: put the bool m_valid after the content to improve packing
2015-04-15 11:43:39 +01:00
Eike Plack
2cf45ddb21
Refactor nextbuffer_cmd
2015-04-15 02:43:16 +02:00
Eike Plack
0f9b210e3f
Fix set_last_used_buffer
2015-04-15 02:36:47 +02:00
Maxime Coste
bf02838816
Remove is_blank, which is identical to is_horizontal_blank
2015-04-15 00:34:00 +01:00
Maxime Coste
eb9c95298e
Add support for string <-> selection list serialization
2015-04-13 15:21:26 +01:00
Maxime Coste
731c27c094
Add a 'abs' friend function to StronglyTypedNumber
2015-04-13 15:20:47 +01:00
Maxime Coste
f93081471a
Refactor nextbuffer command to be more idiomatic
2015-04-13 11:34:21 +01:00
Maxime Coste
43c03ea412
Merge remote-tracking branch 'jjthrash/next-prev-buffer'
2015-04-13 11:26:31 +01:00
Maxime Coste
be5ed0e036
Small alignement change
2015-04-12 23:48:11 +01:00
Maxime Coste
f644a51f24
Use char for KeyMapMode enum
2015-04-11 17:22:37 +01:00
Maxime Coste
cfd071b2ad
small code formatting fix
2015-04-09 16:28:13 +01:00
Jimmy Thrasher
ba59033935
Add nextbuffer command
...
Wraps around at the end. If only 1 buffer loaded, does nothing.
2015-04-09 10:14:32 -04:00
Maxime Coste
da09da29c4
Regex comparison operator are const
2015-04-08 23:16:27 +01:00
Maxime Coste
b5ab318a2d
Always optimize StringView::strlen (recursive due to constexpr)
2015-04-07 23:21:14 +01:00
Maxime Coste
87b385b956
Use default values for ncurses options when not specified
2015-04-06 20:05:49 +01:00
Maxime Coste
b7144fff6c
Make ncurses wheel scroll button configurable
2015-04-06 18:43:27 +01:00
Maxime Coste
dde16b00a9
Add onkey command for executing commands after reading a key
...
This completes the various user interaction primitives, on_next_key
was the last not to be available through a command.
2015-04-04 13:10:39 +01:00
Maxime Coste
04a922fe1a
Avoid zstr in write_debug when no *debug* buffer can be created
2015-04-03 13:14:59 +01:00
Maxime Coste
7176685690
Avoid zstr call in ncurses addutf8str
2015-04-03 13:10:46 +01:00
Maxime Coste
762f60f9fd
Rewrite rgb color parsing
2015-04-02 21:27:58 +01:00
Maxime Coste
64e0b6e3f8
Replace a snprintf with format in backup file name generation
2015-04-02 13:58:06 +01:00
Maxime Coste
9edeb08e3a
Avoid zero terminated string based console printing
2015-04-01 13:44:04 +01:00
Maxime Coste
4c49583fed
small code tweak in format
2015-03-31 13:55:57 +01:00
Maxime Coste
e875828aa9
Use format for {Win,Buf}SetOption hooks description
2015-03-31 13:55:40 +01:00
Maxime Coste
758bfe7284
number to string conversion avoids memory allocations
2015-03-31 13:53:40 +01:00
Maxime Coste
519254dfdc
More useage of the format function
2015-03-30 23:56:33 +01:00
Maxime Coste
335c73a09b
Use custom implementation rather the sscanf in str_to_int
2015-03-30 23:37:55 +01:00
Maxime Coste
6e1a388544
Replace various adhoc operator+ based formatting with format func
2015-03-30 23:06:02 +01:00
Maxime Coste
13a5af70ae
Add a format function for printf like formatting
2015-03-30 23:05:24 +01:00
Maxime Coste
8761fc34f4
Always go through StringView to compare strings
...
That avoids creating temporary String needlessly
2015-03-30 19:59:08 +01:00
Maxime Coste
8439059758
Fix wrong implicit conversions from int/Codepoint to StringView
2015-03-30 13:33:46 +01:00
Maxime Coste
adaf6ecc40
Move skip_while helpers to selectors.hh
2015-03-29 20:03:09 +01:00
Maxime Coste
56b5300b9d
Handle mouse events in key_to_str
2015-03-28 18:18:52 +00:00
Maxime Coste
d1b81c8f8a
minor cleanup
2015-03-27 13:47:02 +00:00
Maxime Coste
195b813b73
Add support for Home/End keys in normal and insert mode
...
Fixes #260
2015-03-27 13:33:14 +00:00
Maxime Coste
0fbbd64681
small formatting tweak
2015-03-27 13:20:37 +00:00
Maxime Coste
727580a238
Make utf8_iterator a proper stl useable iterator
2015-03-27 13:19:30 +00:00
Maxime Coste
c2150dd163
Rework show_matching highlighter implementation
2015-03-27 13:18:06 +00:00
Maxime Coste
94bd32572d
Move some only used once inline functions directly in their caller
...
No need to have that in a header, and not really selectors anyway
2015-03-26 13:34:21 +00:00
Maxime Coste
757366472b
Add <alt-:> for ensuring selections are forward (cursor >= anchor)
...
Not very useful interactively, but that feature can make macros much
more robust.
2015-03-26 13:34:21 +00:00
Maxime Coste
e0757e7ba9
Flip the cat assistant
2015-03-25 13:53:13 +00:00
Maxime Coste
16037744b7
Add exception type name when failing with an uncaught exception
2015-03-25 13:42:36 +00:00
Maxime Coste
bc67a6547d
Remove unneeded c_str() call
2015-03-25 13:42:36 +00:00
Maxime Coste
48007d5de2
Only do tty validation when using a NCursesUI
2015-03-24 19:38:03 +00:00
Maxime Coste
7eaa6976b9
Use a dummy UI when running tests, so that we do not need a tty
2015-03-24 13:14:02 +00:00
Maxime Coste
4188335b51
Fix segfault in highlighting
2015-03-23 19:21:35 +00:00
Maxime Coste
323b0359c7
Add support for mouse wheel
2015-03-22 12:17:01 +00:00
Maxime Coste
5eaf472fc0
Experimental support for mouse
2015-03-22 11:41:20 +00:00
Maxime Coste
def33de9bc
Check modifiers before inserting codepoints in the line editor
2015-03-22 11:41:19 +00:00
Maxime Coste
7a7f86a205
Impreove Window::buffer_coord behaviour with invalid coords
2015-03-22 11:41:19 +00:00
Maxime Coste
dbbbc3aa80
constexprify Face
2015-03-21 16:32:22 +00:00
Maxime Coste
74ecf4976e
Fix Color constructor not constexpr
2015-03-21 16:32:07 +00:00
Maxime Coste
bbfcfe4242
constexprify Color (in)equality operator
2015-03-20 19:03:41 +00:00
Maxime Coste
5cf7d650c8
Small code tweak
2015-03-19 23:33:44 +00:00
Maxime Coste
f5da1671fd
Refactor number_line higlighter, use a switch to higlhight the cursor line
2015-03-19 00:31:11 +00:00
Maxime Coste
006f8ca588
Merge remote-tracking branch 'ekie/relative_line_numbers'
2015-03-19 00:03:59 +00:00
Maxime Coste
3e28539b81
Add a display coord to buffer coord method to Window
2015-03-18 23:40:26 +00:00
Eike Plack
5627d33ac3
Add support for relative line numbers
2015-03-18 22:07:57 +01:00
Maxime Coste
d3738b858b
Remove unneeded include
2015-03-17 20:06:35 +00:00
Maxime Coste
4770d3d86c
Change flags operator& to return a value convertible both to flags and bool
2015-03-16 18:57:18 +00:00
Maxime Coste
3921b234e7
Store fake keystrokes when selecting an insert completion candidate
...
Instead of storing the real 'select next completion' keystroke,
generate fake backspace/delete/char keystrokes so that replay
of the insert will insert the exact same text.
Fixes #135
2015-03-15 18:44:11 +00:00
Maxime Coste
b5854ece43
Change ParameterParser switch interface, use an Optional<StringView>
...
Merge has_option and option_value into a single method get_switch.
2015-03-14 19:16:46 +00:00
Maxime Coste
65fd0df041
More code style cleanup
2015-03-14 17:30:44 +00:00
Maxime Coste
8a211fc87a
Tweak command docstrins
2015-03-14 12:17:43 +00:00
Maxime Coste
82833608c9
Allocate some data in advance in string algorithm
2015-03-14 11:46:53 +00:00
Maxime Coste
9657ef88b7
Small refactoring in client_manager.cc
2015-03-14 11:27:01 +00:00
Maxime Coste
adcb72e987
Minor code cleanup
2015-03-14 11:11:01 +00:00
Maxime Coste
2be6cc918b
Avoid stdout/stderr as variable names
2015-03-14 01:53:17 +00:00
Maxime Coste
09e2a0b6ac
Do not change the insert completion menu when a candidate is selected
2015-03-13 13:52:23 +00:00
Maxime Coste
6b3201f0f1
Change ShellManager to return both stdout and the return value in a pair
2015-03-13 13:39:18 +00:00
Maxime Coste
dbe27d3df2
Code style change in shell_manager.cc
2015-03-13 13:25:20 +00:00
Maxime Coste
2747c4dd3e
exception::what returns a StringView rather than a const char*
2015-03-13 13:15:51 +00:00
Maxime Coste
52cd08915d
Keep the dir trailing slash in split_path
2015-03-13 13:09:54 +00:00
Maxime Coste
762643d320
Use correct %zu format string rather than cast
2015-03-12 20:43:21 +00:00
Maxime Coste
1a7d50b347
Minor cleanup
2015-03-12 20:40:00 +00:00
Maxime Coste
b4f6b50dbb
Make split_path public
2015-03-12 20:39:34 +00:00
Maxime Coste
2f20399d03
Improve 'def' command completion behaviour and clean it up a little
2015-03-12 19:45:05 +00:00
Maxime Coste
d9cd5fef8f
Avoid calling real_path when not needed in BufferManager::get_buffer_ifp
2015-03-12 19:40:10 +00:00
Maxime Coste
c57e76ee41
Cleanup parameter parser code
2015-03-12 13:58:31 +00:00
Maxime Coste
f2b8b1ae2b
Fix compilation on clang
2015-03-12 13:04:53 +00:00
Maxime Coste
348e23dd8a
Remove unused StaticString
2015-03-12 09:52:33 +00:00
Maxime Coste
4843643514
Always inline OnScopeEnd constructor and destructor
2015-03-11 20:52:39 +00:00
Maxime Coste
ecabfc67b7
fix warning on 32 bit compilation
2015-03-11 20:52:17 +00:00
Maxime Coste
c81a5d03c5
String tweaks
2015-03-11 19:41:44 +00:00
Maxime Coste
a0e8e4265a
coords/units hashing refactoring
2015-03-11 13:59:25 +00:00
Maxime Coste
023c8afb73
Fix unneeded string copy
2015-03-11 13:58:42 +00:00
Maxime Coste
3c1a325b6f
Refactor String, use a common StringOps interface, hide std::string
2015-03-10 19:50:22 +00:00
Maxime Coste
a0cf75ec39
Tweak WordDB implementation
2015-03-10 13:50:25 +00:00
Maxime Coste
ea526c2137
Small refactoring
2015-03-10 13:34:46 +00:00
Maxime Coste
ea42d9dd4a
Remove is_in_range utility function
2015-03-09 22:37:42 +00:00
Maxime Coste
7af8937bac
Extract remaining lambdas commands so that the cmds array can be compile time initialized
2015-03-09 14:01:17 +00:00
Maxime Coste
d1f17228dd
Use a static array to store the keymap
2015-03-09 13:55:55 +00:00
Maxime Coste
1cec8df45e
ArrayView content is not const anymore
...
As in upcoming std c++ array_view, ArrayView<T> points to mutable
data, use ArrayView<const T> or alias ConstArrayView<T> for const
data.
2015-03-09 13:54:09 +00:00
Maxime Coste
44f81d0b8b
constexprify ArrayView
2015-03-09 13:21:43 +00:00
Maxime Coste
0bbaef6e48
Use a sorted array for keymap rather than an unordered map
...
with ~100 entry, a binary search finds in < 7 step, unordered map
is overkill.
2015-03-08 11:40:50 +00:00
Maxime Coste
3ece7bcf75
Orderable Keys
2015-03-07 15:29:21 +00:00
Maxime Coste
4be6090107
Fix additional eol inserted when replace piping at end of buffer
2015-03-06 13:57:21 +00:00
Maxime Coste
2d93933d81
Rework keymap to use function pointer rather than std::function
2015-03-05 19:57:46 +00:00
Maxime Coste
99996902de
Use a IdMap for storing hooks
...
The number of hook names is small (<20), using an UnorderedMap
is overkill, and prevents using StringView for key searching.
2015-03-05 14:59:27 +00:00
Maxime Coste
d1f3c1832c
Small code tweak
2015-03-05 13:52:54 +00:00
Maxime Coste
bc7c3987e1
Convert CodepointPair to struct MatchingPair
2015-03-04 20:47:14 +00:00
Maxime Coste
c0e4268e17
Reactivate direct file change check on entering normal mode
2015-03-04 20:46:26 +00:00
Maxime Coste
4e02e822fd
Merge remote-tracking branch 'ekie/fix_debug_cmd'
2015-03-04 09:37:06 +00:00
Maxime Coste
604e95f771
Tweak StringData::create implementation
2015-03-02 23:55:41 +00:00
Eike Plack
2354655df2
Fix documentation for debug_cmd
2015-03-02 16:38:05 +01:00
Maxime Coste
0eca3b5526
Use StringDataPtr alias for RefPtr<StringData>
2015-03-01 12:06:19 +00:00
Maxime Coste
98972c18b7
rename StringStorage to StringData
2015-03-01 12:03:08 +00:00
Maxime Coste
092dcd174f
Add StaticStringStorage for storing string literals
2015-02-28 17:09:29 +00:00
Maxime Coste
f88e873f55
Add IndexSequence and make_index_sequence utilities
2015-02-28 17:08:19 +00:00
Maxime Coste
31267675b9
Small cleanup in containers utils
2015-02-27 19:32:27 +00:00
Maxime Coste
b480d6b419
Tweak BufferIterator::{+=,-=} implementation
2015-02-26 21:58:56 +00:00
Maxime Coste
00bde4ef48
Respect columns when copying selection, not just bytes
2015-02-25 13:41:00 +00:00
Maxime Coste
46f37a6050
Always inline RefPtr::{acquire,release,moved}
2015-02-24 13:43:37 +00:00
Maxime Coste
0a6901899d
Use RefPtr as SafePtr backend
2015-02-23 20:39:56 +00:00
Maxime Coste
8df77121d7
Rename safe_ptr and ref_ptr to SafePtr and RefPtr
2015-02-19 13:58:25 +00:00
Maxime Coste
6c65c5e080
Add docstrings to highlighters, displayed by addhl help
2015-02-19 13:54:03 +00:00
Maxime Coste
fd3365deb1
Remove unused RegionMatch::timestamp
2015-02-17 13:56:26 +00:00
Maxime Coste
59177c12f9
Replace vector of vector in RegexHighlighter with a single vector.
2015-02-17 13:50:31 +00:00
Maxime Coste
2f890f12c6
Fix RegexHighlighter cache invalidation when changing the regex
2015-02-16 22:43:14 +00:00
Maxime Coste
e5121fe40a
Wrap debug loop in ifdef KAK_DEBUG
2015-02-16 22:27:40 +00:00
Maxime Coste
8f6dab08d6
Try to limit the quantity of buffer reparsed by RegexHighlighter
2015-02-16 19:13:55 +00:00
Maxime Coste
ce950ec9f7
Fix RegexHighlighter in a few corner cases
2015-02-16 13:25:17 +00:00
Maxime Coste
53f1c35013
Fix caching of regex highlighter matches
...
The previous method was constantly invalidating cache when used in
conjunction with region highlighters.
2015-02-15 19:42:48 +00:00
Maxime Coste
8e6cfd3f09
Indent fix
2015-02-14 23:28:09 +00:00
Maxime Coste
8c843f5bea
Add <a-h>, <a-l>, <a-x> and <a-d> bindings to line editor
...
<a-h> : move cursor left
<a-l> : move cursor right
<a-x> : delete char before cursor
<a-d> : delete char under cursor
2015-02-13 19:13:44 +00:00
Maxime Coste
224f73d72a
Cleanup and refactor externally modified buffer reloading
...
* Correctly hide the reload dialog in every client.
* Correctly handle buffer being deleted.
2015-02-12 19:18:03 +00:00
Maxime Coste
6658d15741
Allow <ret> and <esc> to reload/keep an externally modified file
...
Fixes #113
2015-02-11 13:56:45 +00:00
Maxime Coste
790e671f6c
Replace some <cstring> function usage with c++ algorithms
2015-02-10 23:09:30 +00:00
Maxime Coste
8714c41403
Do not hash rgb values for non rgb colors
2015-02-10 22:53:37 +00:00
Maxime Coste
56dd5f9540
Fix selecting of insert text in SelectionList::insert
2015-02-09 21:09:17 +00:00
Maxime Coste
ec1d5509bb
Refactor ncurses assistant option handling
...
The option is now ncurses_assistant, defaults to clippy, none
and off a recognized to disable assistant.
2015-02-09 13:33:54 +00:00
Maxime Coste
accc510d15
Merge remote-tracking branch 'robinmoussu/cat_assistant'
2015-02-09 13:26:33 +00:00
Maxime Coste
a94c554a7b
Add optional helper for commands, to get parameter dependent help
...
Use for the set command to document options.
2015-02-08 19:04:20 +00:00
robin moussu
0a5a37c1f2
add `assistant=cat|trombon' option
...
Move ascii art of assistant of top of file.
`assistant' has been renamed to `s_assistant' because it become a static
variable. It was because it `assistant()' was used in `set_ui_options' and
`make_info_box()'
2015-02-08 11:53:41 +01:00
robin moussu
239bb2dd33
Add a cat assistant!
2015-02-08 11:53:41 +01:00
Maxime Coste
0a2f2c2247
Use parameter pack to that the default hash_value is the worst match
2015-02-07 20:15:22 +00:00
Maxime Coste
5b6b04ef9c
Merge remote-tracking branch 'jjthrash/not-warnings'
2015-02-06 23:22:17 +00:00
Maxime Coste
f7b8215a68
Add a from C array constructor to ArrayView
2015-02-06 23:22:01 +00:00
Maxime Coste
bf088a864c
Avoid selecting buffer end when copying selection to next line
2015-02-06 22:04:42 +00:00
Jimmy Thrasher
240a004354
Fix compile warnings on OSX that could actually be errors
...
c++ -std=gnu++11 -g -Wall -Wno-reorder -Wno-sign-compare -pedantic -DKAK_DEBUG -MD -MP -MF .buffer.d -c -o .buffer.o buffer.cc
buffer.cc:35:20: warning: logical not is only applied to the left hand side of this comparison
[-Wlogical-not-parentheses]
kak_assert(not line->length == 0 and line->data()[line->length-1] == '\n');
^ ~~
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
buffer.cc:35:20: note: add parentheses after the '!' to evaluate the comparison first
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
buffer.cc:35:20: note: add parentheses around left hand side expression to silence this warning
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
buffer.cc:177:20: warning: logical not is only applied to the left hand side of this comparison
[-Wlogical-not-parentheses]
kak_assert(not line->length == 0 and line->data()[line->length-1] == '\n');
^ ~~
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
buffer.cc:177:20: note: add parentheses after the '!' to evaluate the comparison first
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
buffer.cc:177:20: note: add parentheses around left hand side expression to silence this warning
./assert.hh:17:18: note: expanded from macro 'kak_assert'
if (not (condition)) \
^
2 warnings generated.
2015-02-06 09:12:05 -05:00
Maxime Coste
eb5f458138
Extract directory/filename splitting in a function
2015-02-06 13:47:19 +00:00
Maxime Coste
622919bafd
Add C and alt-C for 'copy selection to next/previous line'
2015-02-05 21:25:04 +00:00
Maxime Coste
5339f94eb8
Fix missing modes in :map completion and docstring
2015-02-05 13:56:16 +00:00
Maxime Coste
d59b36b816
Fix incorrect Buffer::Change generated in Buffer::reload
2015-02-04 21:42:42 +00:00
Maxime Coste
87125e2707
Fix too strict assert and unneeded (lets hope) check
2015-02-03 23:39:04 +00:00
Maxime Coste
2a28260f87
Extend line numbering max width to 15 char
2015-02-03 13:44:42 +00:00
Maxime Coste
18eec7e511
Regex selectors more tolerant to matches not ending on char boundaries
2015-02-02 22:54:05 +00:00
Maxime Coste
340fc63f84
Improve code compatibility
2015-02-02 18:46:55 +00:00
Maxime Coste
b4442055e8
Fix recursive regions matching when a recursive matches just before an end
...
%sh{ $test {} $test } was incorrrectly closing the %sh block at the first {
because it was immediatly followed by a }.
2015-02-02 13:48:27 +00:00
Maxime Coste
c004187f32
Fix buffer reloading
2015-02-02 13:24:40 +00:00
Maxime Coste
09fc14be4b
Small refactor in highlighters.cc
2015-02-01 23:30:58 +00:00
Maxime Coste
4d6b8a70e1
Fix highlighter update with new LineModification behaviour
2015-02-01 23:19:07 +00:00
Maxime Coste
d3bccfeb94
Fixes in line_modification change, along with style tweak
2015-02-01 22:33:59 +00:00
Maxime Coste
0b4ecef2d2
Rewrite line modifications, hopefully with easier to comprehend code
2015-01-31 23:50:24 +00:00
Maxime Coste
804a050c39
Tweak Buffer::Change layout
2015-01-29 22:44:07 +00:00
Maxime Coste
ffff4711c5
Add history memory domain
2015-01-28 22:33:29 +00:00
Maxime Coste
bb74770a24
Add C-f and C-b binding for page up/page down
...
Fixes #173
2015-01-27 23:33:22 +00:00
Maxime Coste
cc699faa54
Store direct ref_ptr<StringStorage> for WordDB lines
...
Storing a SharedString is a waste, we want the whole line.
2015-01-27 13:12:52 +00:00
Maxime Coste
fb98ff652d
Keep all completion matches when selecting a candidate
2015-01-27 13:12:52 +00:00
Maxime Coste
2c425bb436
Always inline StringStorage methods
2015-01-26 19:41:26 +00:00
Maxime Coste
b697bf1795
Release display buffers when a window is added to free list
2015-01-26 19:41:10 +00:00
Maxime Coste
92cb3a035f
Try to improve ga behaviour
2015-01-26 19:40:48 +00:00
Maxime Coste
42966317b8
Tweak SharedString
2015-01-25 22:36:05 +00:00
Maxime Coste
79954e89ab
Fix GCC 4.8 compilation
2015-01-24 14:36:03 +00:00
Maxime Coste
f4e96e7f2e
Fix bug when deleting end of buffer text using multiple selections
2015-01-23 19:12:15 +00:00
Maxime Coste
cb197f57ba
Avoid temporary strings on buffer load/reload
...
Pass directly a Vector<ref_ptr<StringStorage>> to the buffer
2015-01-22 13:39:29 +00:00
Maxime Coste
2516c16bb9
Fix error message in tuple option parsing
2015-01-22 13:10:21 +00:00
Maxime Coste
0ff415597e
Add Display memory domain
2015-01-21 13:35:46 +00:00
Maxime Coste
b2d5b9ca5f
Try to fix travis compilation errors
2015-01-21 13:35:23 +00:00
Maxime Coste
5383cece3e
Fix write_debug with no debug buffer and multiple lines
2015-01-20 19:57:17 +00:00
Maxime Coste
b1281d225d
rename SharedString::Storage to StringStorage and use directly in Buffer
2015-01-19 19:31:56 +00:00
Maxime Coste
3697548e35
Use a single allocation for SharedString::Storage
2015-01-19 13:25:04 +00:00
Maxime Coste
39689f0a18
Add helper for overloading operator new/delete
2015-01-18 18:49:32 +00:00
Maxime Coste
9b057896d4
Replace std::shared_ptr with homemade, intrusive, ref_ptr
...
That saves a lot of memory as sizeof(SharedString) is now one
pointer less.
2015-01-18 18:23:58 +00:00
Maxime Coste
ef26b77aa7
buffer updates are in BufferMeta memory domain
2015-01-18 11:22:28 +00:00
Maxime Coste
7cdeb3d7f7
simplify echo code, avoid trailing spaces
2015-01-17 22:55:48 +00:00
Maxime Coste
32319aca45
Add support for per type default memory domain
2015-01-16 13:58:21 +00:00
Maxime Coste
4fd92127c3
Add a no copy shared string constructor, used for map lookup, and intern words
2015-01-15 19:58:08 +00:00
Maxime Coste
bb915f0bc5
Fix filename completion
2015-01-15 19:26:38 +00:00
Maxime Coste
8eef019cf8
Do not store lines to word in word db, just keep the old lines alive
2015-01-15 19:26:38 +00:00
Maxime Coste
76d806e98d
Replace InternedStrings with SharedString, shared_ptr based
2015-01-15 19:26:38 +00:00
Maxime Coste
2a878d51fd
Even more memory tracking
2015-01-14 19:16:32 +00:00
Maxime Coste
442304bc1c
Add missing cast to void* in placement new
2015-01-14 00:01:20 +00:00
Maxime Coste
2415d3f63c
Add missing <new> include
2015-01-13 23:54:58 +00:00
Maxime Coste
1e3e0b01af
Fix compatibility with gcc 4.8
2015-01-13 22:56:51 +00:00
Maxime Coste
118a6e1a7c
Use uint32_t for interned strings slots
2015-01-13 13:58:11 +00:00
Maxime Coste
61619a4d4d
Style tweak in WordDB
2015-01-13 13:57:44 +00:00
Maxime Coste
0412487b0c
-rdynamic does not work on gcc 4.9 under cygwin
2015-01-13 13:50:16 +00:00
Maxime Coste
beb3390334
Add interned string stats in debug command
2015-01-13 13:48:16 +00:00
Maxime Coste
b9c4fc2d8c
Add size_t and float to_string overload, and _sv UDL
2015-01-13 13:47:46 +00:00
Maxime Coste
f440c31370
Add missing cstddef include for ptrdiff_t
2015-01-12 20:03:52 +00:00
Maxime Coste
c8d651a517
Protect use of mallinfo in #ifdef __GLIBC__ blocks
2015-01-12 19:55:58 +00:00
Maxime Coste
e8b8070536
refactor slighly memory domain handling
2015-01-12 19:48:51 +00:00
Maxime Coste
19797ae8d6
Fix flag line highlighting
2015-01-12 19:35:31 +00:00
Maxime Coste
da562e03a0
replace all std::vector with Vector
2015-01-12 13:58:41 +00:00
Maxime Coste
83d0813b0f
Yet more tracking
2015-01-12 13:45:44 +00:00
Maxime Coste
f1f10639a5
Compute tracked memory total as well
2015-01-12 13:32:30 +00:00
Maxime Coste
0bdf1778cb
Some more memory tracking
2015-01-12 13:32:14 +00:00
Maxime Coste
dedb16bc73
Track some more memory
2015-01-11 19:28:03 +00:00
Maxime Coste
9adb97ea28
Track buffer lines memory
2015-01-10 12:56:09 +00:00
Maxime Coste
9f9156a752
Track String memory allocations
2015-01-09 13:57:21 +00:00
Maxime Coste
e5b36f548b
Add missing include
2015-01-08 19:31:28 +00:00
Maxime Coste
9b30e7469a
Add initial memory domain allocation tracking support
2015-01-07 19:29:31 +00:00
Maxime Coste
de12fe1cc6
Add completion for debug command
2015-01-06 19:06:53 +00:00
Maxime Coste
295a97f2a6
Rename memoryview to ArrayView
2015-01-06 13:43:37 +00:00
Maxime Coste
8e92e0eebc
Go back to previous buffer name completion implementation
2015-01-05 19:33:33 +00:00
Maxime Coste
c279da14e3
Refactor write_debug to avoid empty first line in *debug* buffer
2015-01-05 09:38:51 +00:00
Maxime Coste
ca9baecd4c
Another stule tweak
2015-01-04 22:34:36 +00:00
Maxime Coste
23f30f6709
Small style tweak
2015-01-03 17:35:53 +00:00
Maxime Coste
019a91505f
Remove unneeded static String
2015-01-02 11:55:15 +00:00
Maxime Coste
15542c3357
minor style tweak
2015-01-01 12:09:30 +00:00
Maxime Coste
c698032ace
Style tweak
2014-12-31 13:09:35 +00:00
Maxime Coste
0493cf6d62
Use a struct rather than a std::pair for InternedString DataAndRefCount
2014-12-30 11:56:01 +00:00
Maxime Coste
d4a929b42e
Use a struct KeyAndName rather than a std::pair
2014-12-29 17:18:42 +00:00
Maxime Coste
955d1dea66
Small formatting fixes
2014-12-29 12:19:16 +00:00
Maxime Coste
8cc96ec36b
Add a join function for joining strings using a specific char
2014-12-28 11:16:51 +00:00
Maxime Coste
71bfe5498d
Refactor color functions
2014-12-27 12:09:28 +00:00
Maxime Coste
248c1bda02
Style tweak
2014-12-26 10:53:30 +00:00
Maxime Coste
33bde3e067
Minor code tweak in optional.hh
2014-12-25 10:59:06 +00:00
Maxime Coste
2e1c6eaff7
sort includes
2014-12-24 13:03:17 +00:00
Maxime Coste
2852e0fbe5
Remove trailing blank lines
2014-12-23 23:00:20 +00:00
Maxime Coste
b0fef1a962
Rename id_map to IdMap
2014-12-23 22:51:00 +00:00
Maxime Coste
fb611e2f62
Use an id_map directly for HighlighterRegistry rather than the FunctionRegistry class
2014-12-23 22:15:53 +00:00
Maxime Coste
c17fa7be14
Tweak id_map implementation
2014-12-23 22:15:25 +00:00
Maxime Coste
79de7ee717
Code refactoring in WordDB
2014-12-23 19:32:42 +00:00
Maxime Coste
ed54e102ee
Extract complete_buffer_name as a free function in commands.cc
2014-12-23 17:42:17 +00:00
Maxime Coste
ae602106e0
Remove prefix_complete, superseeded by complete
2014-12-23 17:39:12 +00:00
Maxime Coste
b6ff15aa75
Unify completion from container content logic
2014-12-23 13:54:09 +00:00
Maxime Coste
064fb81b8d
Move containers utils to containers.hh and add filtered/transformed utils
2014-12-23 13:40:26 +00:00
Maxime Coste
bf980eba04
Merge branch 'list_buffers'
2014-12-23 13:20:29 +00:00
Eike Plack
9f81093411
Expose buffer list to shell over $kak_buflist
2014-12-23 02:49:53 +01:00
Maxime Coste
ff1f4dcb5c
Minor cleanup
2014-12-22 20:08:53 +00:00
Maxime Coste
e911c86306
Remove useless code
2014-12-22 20:08:30 +00:00
Maxime Coste
7a7ad57871
Support absolute paths when completing commands
2014-12-21 17:08:33 +00:00
Maxime Coste
5b94b73152
Small code tweak
2014-12-20 18:40:17 +00:00
Maxime Coste
116ea7364a
Restore some special behaviours, I missed them in interactive mode.
2014-12-19 13:58:33 +00:00
Maxime Coste
c454cf1379
Avoid eol after undo/redo
2014-12-18 23:17:38 +00:00
Maxime Coste
eee2cb3a6e
Revert "Add support for BufInsert/BufErase hooks"
...
This is potentially quite slow, and not used, reintroduce
later if we have a use case for it.
This reverts commit 5f3a477277
.
2014-12-18 23:13:45 +00:00
Maxime Coste
1c8ee78d1a
Do not register timers for transient input handlers
2014-12-18 23:12:58 +00:00
Maxime Coste
4827ae0a53
Do not wait for the first event before drawing clients
2014-12-18 19:01:18 +00:00
Maxime Coste
5f3a477277
Add support for BufInsert/BufErase hooks
2014-12-17 13:56:45 +00:00
Maxime Coste
3b9f40fd58
Fix split selecting the buffer end
...
Fixes #241
2014-12-17 13:21:20 +00:00
Maxime Coste
e0c452adb6
Tweak keymap_manager style, fix missing move
2014-12-17 13:20:48 +00:00
Maxime Coste
ebecd60eb8
Rework hashing, use a more extensible framework similar to n3876 proposal
...
std::hash specialization is a pain to work with, stop using that, and
just specialize a 'size_t hash_value(const T&)' free function.
2014-12-16 18:57:19 +00:00
Maxime Coste
72bdb8faa9
Always use plain ncurses.h
2014-12-14 23:42:00 +00:00
Maxime Coste
fc4d77964e
Remove special case when appending at eol
2014-12-13 13:10:40 +00:00
Maxime Coste
a0b35bf590
Add support for user mappings, bound to comma
...
:map have a 'user' mode that is accessible through the comma key.
the mapping will get executed in normal mode.
2014-12-12 13:57:02 +00:00
Maxime Coste
801bd5245d
Avoid very long timeouts in event manager
2014-12-12 13:55:32 +00:00
Maxime Coste
9c1ca303ff
Change a-| to ignore output, and add ! and a-! for insert/append cmd output
2014-12-11 23:21:11 +00:00
Maxime Coste
c68c9abcac
Display the register we yanked to
2014-12-11 19:36:41 +00:00
Maxime Coste
2c4ed3a78c
Do not avoid eol on escape
2014-12-11 19:36:20 +00:00
Maxime Coste
7a10029c4f
Use algorithms in id_map rather than raw loops
2014-12-11 13:55:04 +00:00
Maxime Coste
35e7a67c6a
Do not sort results of WordDB, simplify code
2014-12-11 13:14:57 +00:00
Maxime Coste
f32ab5793e
Remove unneeded includes
2014-12-11 13:10:41 +00:00
Maxime Coste
e0cc59914e
Fix OSX compilation
2014-12-10 20:54:47 +00:00
Maxime Coste
319cfcda34
Get rid of uses of unordered_set, vector is just simpler and faster...
2014-12-09 21:59:47 +00:00
Maxime Coste
0a57fa0766
Rename ncurses.{cc,hh} to ncurses_ui.{cc,hh}
2014-12-09 13:57:21 +00:00
Maxime Coste
2f2752cd1d
Force inline StringView::{begin,end}
2014-12-09 13:56:05 +00:00
Maxime Coste
87d312b6d4
More string cleanups
2014-12-08 13:59:29 +00:00
Maxime Coste
9f4af93780
cleanup in string.hh
2014-12-08 13:46:07 +00:00
Maxime Coste
1a17d9c73f
const String& to StringView
2014-12-07 21:01:42 +00:00
Maxime Coste
d57be83522
Disable history writing when running hooks
2014-12-05 14:01:07 +00:00
Maxime Coste
1c5975835e
Consolidate constext disablable feature in a 'Disableable' helper
2014-12-05 13:47:09 +00:00
Maxime Coste
423030c9bd
Refactor (again) event handling, use proper infinite timeout
2014-12-04 20:01:34 +00:00
Maxime Coste
176358f6b7
Fix logic error in shell manager
2014-12-04 13:58:02 +00:00
Maxime Coste
a51dd737ea
Limit event handler timeout to 2 seconds
2014-12-03 19:55:53 +00:00
Maxime Coste
d437ae0ecf
Microsecond is 10^(-6)s, not 10^(-9)s
2014-12-03 18:57:33 +00:00
Maxime Coste
995c7b4634
Fix timeval field types
2014-12-03 14:02:46 +00:00
Maxime Coste
24519e645e
Revert "Handle SIGCHLD signals when piping"
...
This reverts commit 8208e75294
.
2014-12-03 13:57:04 +00:00
Maxime Coste
0517a19e6d
Use a select based event handling and fix deadlock
2014-12-03 13:56:02 +00:00
Maxime Coste
def4221ac7
Pass a BufferRange to highlighters, fix subregions
...
Regions highlighter can now correctly be applied to only subrange
of the buffer, fixing some corner cases in recursive regions.
2014-12-02 19:56:17 +00:00
Maxime Coste
8208e75294
Handle SIGCHLD signals when piping
2014-12-02 18:59:39 +00:00
Maxime Coste
4fbaee61c5
Change default PrimarySelection face to be white on blue
2014-12-01 13:06:26 +00:00
Maxime Coste
a3b3001d8f
Rework client pending key handling, fix insert/normal timers
2014-11-29 20:14:52 +00:00
Maxime Coste
77e2e8a31e
Support selecting yank/paste register with "
2014-11-28 13:58:36 +00:00
Maxime Coste
75fe9a76db
Fix compilation
2014-11-28 13:47:42 +00:00
Maxime Coste
7c87abe856
Process ctrl-c when not in urgent event mode as well
2014-11-28 13:30:58 +00:00
Maxime Coste
da9f688f37
Fix indent/deindent when multiple selections are on same line
2014-11-28 13:22:54 +00:00
Maxime Coste
6902301674
Fix bug in :debug command
2014-11-28 13:18:08 +00:00
Maxime Coste
4c7f6985f1
Add an 'options' debug command
2014-11-26 13:27:26 +00:00
Maxime Coste
49931fbf05
Separate events between normal and urgent ones
...
Run urgent ones while executing %sh blocks.
Fixes #236
2014-11-25 13:52:06 +00:00
Maxime Coste
0272da65c0
Style tweak
2014-11-24 13:49:41 +00:00
Maxime Coste
35b89d5b87
Display selection count in insert mode line
2014-11-24 13:26:42 +00:00
Maxime Coste
dfed7ed211
const String& to StringView
2014-11-23 19:49:59 +00:00
Maxime Coste
88def85d77
Do not merge overlapping selections in InputMode::Replace
...
Fixes #237
2014-11-22 21:20:29 +00:00
Maxime Coste
f56b6ed75b
Do not record keys that were not user generated
2014-11-21 19:00:34 +00:00
Maxime Coste
e8c8833211
Do not reset edition level to 0 on buffer change
...
Keep it as is, commit undo in current buffer, and we will commit it in
the new buffer when edition level gets back to 0.
2014-11-21 18:56:39 +00:00
Maxime Coste
5497064f9c
Fix missing include in assert.cc
2014-11-20 19:32:58 +00:00
Maxime Coste
bfbee3c71e
Fix info box placement when too wide
2014-11-20 18:45:27 +00:00
Maxime Coste
b5ccc8bc73
Improve line wrapping behaviour
2014-11-20 18:45:10 +00:00
Maxime Coste
04ecb2cc5a
Wrap info boxes text in ncurses display even in Inline menu style
2014-11-20 13:56:37 +00:00
Maxime Coste
a444cd1d60
Improve wrap_lines behaviour, split on punctiation as well
2014-11-20 13:55:07 +00:00
Maxime Coste
314d662c5f
Change wrap_lines to return StringViews, move it to string.cc
2014-11-20 13:15:11 +00:00
Maxime Coste
eb57d0a1d9
Refresh stdscr at startup to avoid flickering
2014-11-18 00:01:29 +00:00
Maxime Coste
6663d50d95
Tweak option completion behaviour
2014-11-17 20:15:54 +00:00
Maxime Coste
0c3acb74c2
Remove unneeded string copies
2014-11-17 19:38:30 +00:00
Maxime Coste
7619fcb198
option completion are valid until a modification is made before it
2014-11-17 13:53:59 +00:00
Maxime Coste
1bd2260fa5
Import std::begin/std::end so that container utils work correctly with non std containers
2014-11-17 13:51:21 +00:00
Maxime Coste
b43f0fb853
Yet more StringView params, less const String&
2014-11-16 20:55:36 +00:00
Maxime Coste
ece03c3599
More const String& to StringView
2014-11-15 18:45:56 +00:00
Maxime Coste
27b1e8944f
const String& to StringView
2014-11-14 22:40:51 +00:00
Maxime Coste
7064679c2a
small fix
2014-11-13 22:17:10 +00:00
Maxime Coste
3a817e2f96
Cleanup includes
2014-11-12 21:27:07 +00:00
Maxime Coste
58c1721564
Use general flags utility for Face Attribute
2014-11-12 20:31:56 +00:00
Maxime Coste
3f733569ed
Fix case where a context ends up locked in no-hooks mode
2014-11-12 20:31:12 +00:00
Maxime Coste
fab9c92006
change filter mode to make backup of files to .kak-bak and edit in place
...
Add a -q option to filter mode to be quiet about errors while applying
keys.
2014-11-11 23:40:07 +00:00
Maxime Coste
f6e9018bf0
Reduce idle timeout to 50 milliseconds
2014-11-11 23:32:52 +00:00
Maxime Coste
7bb7c1b922
Hide info box when closing insert completion menu
2014-11-11 23:31:06 +00:00
Maxime Coste
e8b0a98a78
Remove %rec{...} strings, now "..." strings expand their content
2014-11-11 13:53:57 +00:00
Maxime Coste
414cfabb8c
fix clang compilation
2014-11-11 13:47:51 +00:00
Maxime Coste
b2407d9dfa
Add ui_options option for UserInterface configuration
...
ui_options is a std::unordered_map<String, String> that gets
forwarded to the user interface. Add support ncurses_status_on_top.
2014-11-10 23:29:16 +00:00
Maxime Coste
d803333e73
Add support for unordered_map options
2014-11-10 23:24:02 +00:00
Maxime Coste
4235ab5249
Display status line on top in ncurses
2014-11-10 13:46:08 +00:00
Maxime Coste
7d4c9c2ccf
Support hinting if an inline info should be above or below the anchor
...
Used by ctags function info, we always want it *above* the opening
parenthesis so that it does not hide multi line parameter lists.
2014-11-10 13:37:17 +00:00
Maxime Coste
40d649f836
refactor parse_keys
2014-11-09 13:02:01 +00:00
Maxime Coste
766df0490c
small code simplification
2014-11-09 11:42:06 +00:00
Maxime Coste
88aa707b9c
For {Menu,Info}Style::Prompt, choose the anchor directly in ncurses code
2014-11-08 19:08:23 +00:00
Maxime Coste
e1fc2677e3
Add a MenuDoc style for info box, that will place it next to the menu
2014-11-08 18:01:55 +00:00
Maxime Coste
484fffc288
Initial support for insert completion docstring
2014-11-07 13:54:43 +00:00
Maxime Coste
fc66c7f92f
small style fix
2014-11-07 13:51:07 +00:00
Maxime Coste
5ef4dd84b9
Small refactoring in remote.cc
2014-11-06 13:54:18 +00:00
Maxime Coste
80b50cd737
Simplify RemoteClient creation code
2014-11-05 13:57:12 +00:00
Maxime Coste
a3b29b1f11
Fix potential alignment bug
2014-11-05 13:50:06 +00:00
Maxime Coste
4c3056a05e
Fix bug in insert completer deregistering
...
The context options might change, as the context might have a different
window/buffer from the one at creation. So we need to store the correct
option manager rather than ask the context for it.
2014-11-04 23:51:41 +00:00
Maxime Coste
c8ea2e78f9
Reuse existing buffer when creating a fifo one
...
That way, client having this buffer already visible wont switch to
another one due to previous buffer getting deleted
2014-11-04 23:51:22 +00:00
Maxime Coste
71197c4641
Tweak flags implementation
2014-11-04 22:23:27 +00:00
Maxime Coste
4d89a297c5
Change Value to be non copyable
2014-11-04 22:23:27 +00:00
Maxime Coste
f5be7c7ba5
minor code cleanup
2014-11-04 13:40:35 +00:00
Maxime Coste
60c1bb1315
Use unescape rather than a regex in command manager parsing
2014-11-04 13:35:54 +00:00
Maxime Coste
97df59ddb7
Support single char StringView
...
remove single char escape function overload, add unescape function
2014-11-04 13:32:18 +00:00
Maxime Coste
b167c11671
Use StringViews for some helper functions in selectors.cc
2014-11-04 13:14:48 +00:00
Maxime Coste
4051534b83
Open fifo buffers in non block mode
2014-11-03 13:55:07 +00:00
Maxime Coste
abfc016321
Remove AutoRegister util template
2014-11-02 16:04:24 +00:00
Maxime Coste
b494b873b1
Fix buffer being considered modified after reloading
2014-11-01 19:35:27 +00:00
Maxime Coste
c04dfc7bb7
move more parameters from const String& to StringView
2014-11-01 19:31:13 +00:00
Maxime Coste
9a2822e329
Change :info -anchor option, take directly a buffer coordinate
...
Fix ctags funcinfo feature using that
2014-10-31 21:49:36 +00:00