Commit Graph

4735 Commits

Author SHA1 Message Date
Maxime Coste
2eeb9d8deb Merge remote-tracking branch 'ul/replace-e-face-with-F-in-rc' 2018-11-06 20:16:38 +11:00
Maxime Coste
7f83c41256 align ThreadedRegexVM::Thread to permit fused copy optimization
Aligning makes gcc able to copy a Thread object with a single
32bit mov instruction instead of two 16bits one.
2018-11-06 20:13:09 +11:00
Maxime Coste
05a9eb62f4 Never grow the DualThreadStack in push_next
As we do at most one push_next per step_thread, and we pop_current
before step_thread, we can avoid a branch there at the expense of
sometimes growing unecessarily (once).
2018-11-06 07:32:47 +11:00
Maxime Coste
7fbde0d44e Various micro performance tweaks in ThreadedRegexVM 2018-11-05 21:54:29 +11:00
Maxime Coste
7959c7f731 Refactor ThreadedRegexVM::exec_program to avoid branching
Moving logic into step_thread instead of returning an enum to
select what to run avoids the switch logic and improves run time.
2018-11-05 19:46:53 +11:00
Maxime Coste
7463a0d449 Remove use of utf8::iterator in regex execution
This avoids having two copies of the subject string bounds, one
in the ExecConfig and one in the utf8 iterator.
2018-11-05 08:17:50 +11:00
Maxime Coste
b4571bd172 Dump start description as well when writing a regex dump 2018-11-04 12:01:29 +11:00
Maxime Coste
4ac7df3842 Remove most regex impl special casing for backwards matching 2018-11-03 13:52:40 +11:00
Maxime Coste
ee74c2c2df Use custom code instead of reverse_iterator in Regex VM 2018-11-02 08:23:39 +11:00
Maxime Coste
6fce8050ee Use BufferCoord sentinel type for regex matching on BufferIterators
BufferIterators are large-ish, and need to check the buffer pointer
on comparison. Checking against a coord is just a 64 bit comparison.
2018-11-01 21:51:10 +11:00
Maxime Coste
8a751e1b57 Remove caching from utf8_iterator 2018-11-01 21:05:09 +11:00
Maxime Coste
4cd7583bbc Improve regex vm to next start performance by avoiding iterator copies 2018-11-01 08:22:43 +11:00
Maxime Coste
4cfb46ff2e Support different type for iterators and sentinel in utf8 functions 2018-11-01 08:22:43 +11:00
Delapouite
a61c6a9bb5 Truncate incomplete debug command docstring 2018-10-30 19:46:05 +01:00
Maxime Coste
9fec1b3faf Buffer: Remove m_line_count field from BufferIterator
It seems unlikely this would give performance gain, as buffer
lines are always accessed when we read that field, leading to
all the necessary data already being in memory. Removing it
reduces the size of a BufferIterator, which are already pretty
hefty objects.
2018-10-30 23:18:41 +11:00
Maxime Coste
6271d0d9ff Merge remote-tracking branch 'eraserhd/refactor-surround' 2018-10-29 19:27:18 +11:00
Delapouite
44ce4bc069 Remove extra spaces for switches list in info 2018-10-28 13:34:19 +01:00
Ruslan Prokopchuk
b65a6493aa replace usage of the deprecated 'e' face attribute with the new 'F' one
and update set-face docstring
2018-10-28 08:52:14 +11:00
Jason Felice
feea0064d8 Simplify surround selection
This has the same effect with fewer conditions, and I think it also
specifies the intent more closely this way.
2018-10-27 13:49:45 -04:00
Maxime Coste
3b40ab82f4 Kakoune v2018.10.27 2018-10-27 09:26:50 +11:00
Justin Frank
0d49c925e3 Keep doc/kak.1 when running make-install 2018-10-23 18:15:01 -07:00
Maxime Coste
365407c37a Merge remote-tracking branch 'Delapouite/previous-char' 2018-10-24 08:13:45 +11:00
Delapouite
ec0926c312 Change next_key title for <a-f>, <a-t>, <a-F> and <a-T> 2018-10-23 19:09:01 +02:00
Maxime Coste
207291219c Merge remote-tracking branch 'maximbaz/fix-makefile-manpage' 2018-10-23 20:20:32 +11:00
Maxime Coste
7c00165c23 Merge remote-tracking branch 'laelath/vertical-menu-option' 2018-10-23 20:18:56 +11:00
Maxim Baz
9f6518a031
Fix Makefile for manpage 2018-10-23 02:34:05 +02:00
Maxime Coste
e3668121f2 Merge remote-tracking branch 'lenormf/no-a2x' 2018-10-23 08:19:56 +11:00
Maxime Coste
dfc11d1c43 Refactor Hook management to have a well defined list of hooks
Hooks are now an enum class instead of passing strings around.
2018-10-23 08:15:53 +11:00
Frank LENORMAND
60b24c6a32 doc: Convert the man page to the TROFF format
Fixes #2504
2018-10-21 14:04:25 +03:00
Maxime Coste
72bdd7900f Move LineRangeSet to line_modification.hh 2018-10-21 12:10:21 +11:00
Maxime Coste
a383ce3045 Fix LineRangeSet::udpate not updating some traling ranges correctly
Fixes #2499
2018-10-21 11:49:30 +11:00
Justin Frank
c5a1225638 removed option and horizontal layout 2018-10-15 14:07:39 -07:00
Justin Frank
a1e3fa02e6 added option for vertical menu layout in the ncurses ui 2018-10-15 14:07:39 -07:00
Maxime Coste
da13b5f814 Fix handling of capture matching in region highlighter
Also extend the highlight/regions test to validate that.
Thanks to lenormf for reviewing my change and finding this bug.
2018-10-15 21:21:12 +11:00
Maxime Coste
71e27c73af Cleanup RegexHighlighter code and drop cache when it becomes too big
The RegexHighlighter range cache can get pretty big in nested
regions use cases, and maintaining it can become pretty costly,
so if it hits a certain size, just drop it.

Should improve performances in #2454
2018-10-14 09:48:39 +11:00
Maxime Coste
194a5db5d6 maintain a list of valid ranges for region highlighting
This should greatly reduce memory usage by only caching matches
for ranges that needs to be highlighted, in the case where multiple
regions are nested, this means only the topmost region needs to parse
and cache the whole buffer, other regions highlighter will only ensure
the lines for the ranges they are called up are cached.

Fixes #2454
2018-10-14 09:48:39 +11:00
Maxime Coste
dd0e4310a7 Slight code refactoring in RegionsHighlighter 2018-10-14 09:48:39 +11:00
Maxime Coste
5922299083 Merge remote-tracking branch 'Delapouite/complete_alias' 2018-10-14 09:46:35 +11:00
Maxime Coste
d652ec9ce1 Cleanup regex lookarounds implementation and reject incompatible regex
Fixes #2487
2018-10-10 22:47:59 +11:00
Delapouite
3a36490ef1 Add alias completer to unalias command 2018-10-08 22:07:13 +02:00
Maxime Coste
9024d41d64 Fix integer overflow leading to bad memory access in regex execution
Fixes #2481
Fixes #2480
2018-10-08 12:43:12 +11:00
Maxime Coste
ed84a2d60c Buffer begin and end are not end-of-words
Buffer begin never has a word character before, and end is always
preceeded by an end-of-line.

Fixes #2420
2018-10-08 12:40:52 +11:00
Maxime Coste
eba40028b9 Update startup messsage and changelog.asciidoc 2018-10-06 10:55:26 +10:00
Maxime Coste
5bdcfab018 Merge remote-tracking branch 'laelath/shell-command-completion' 2018-10-06 10:47:23 +10:00
Maxime Coste
0d20e57e29 Small style tweak 2018-10-06 10:44:56 +10:00
Maxime Coste
98da5dd13a Merge remote-tracking branch 'eraserhd/notify_fatal_error-undefined-behavior' 2018-10-06 10:23:10 +10:00
Maxime Coste
e8ac3395f5 Reduce memory usage of cached matches for RegionsHighlighter
This adds a limitation that capture matching on regions only works
if the regions start/end/recurse match is less than 65635 byte long.
With this limitation we can reduce the RegexMatch struct size to 16
bytes instead of 32.

This is still not good enough,but should slightly improve high memory
usage as reported in #2454
2018-10-06 10:16:20 +10:00
Jason Felice
c78cd84ea4 Fix undefined behavior in notify_fatal_error 2018-10-05 10:10:14 +01:00
Justin Frank
ab6bc41358 Added shell command completion support to define-command and prompt
This commit also introduces a regression in that I decided that the best way to
avoid overly long and confusing names was to rename the current shell-*
switches to script-*, and have the shell command completion be
shell-completion.

renamed script-{completion,candidates} to shell-script-*

Updated docs with new switch names

Added -shell-completion switch to x11-repl and kitty-repl
2018-10-03 09:46:31 -07:00
Justin Frank
f3f52fc818 show_matching_char highlighter use the matching_pairs options 2018-10-01 23:37:25 -07:00
Frank LENORMAND
2d44712766 src: Implement <a-m> and <a-M>
Closes #2425
2018-09-30 19:56:37 +03:00
Frank LENORMAND
6b7200e4d5 src: Move <a-m> to <a-_> 2018-09-30 19:45:20 +03:00
Frank LENORMAND
3d79107773 src: Drop selections that only contain whitespace on _
Fixes #2387
2018-09-27 14:47:26 +03:00
Olivier Perret
93f913705a Misc fixes 2018-09-24 09:54:21 +02:00
Delapouite
b60613259c Add a way to unmap all keys of a given mode at once 2018-09-23 19:40:38 +02:00
Maxime Coste
1631a7d8d9 Replace the Exclusive face attribute with Final
Final is more granular, it consists of FinalFg (f), FinalBg (g)
and FinalAttr (a) which control if a face's fg, bg, or attributes
fully overwrite the previous face (instead of merging) and if
following faces apply on top of this face or not.

Fixes #2388 if the Whitespace face has the FinalFg flag.
2018-09-23 23:27:14 +10:00
Maxime Coste
5d0ea2936d Ignore errors in write_stdout
Fixes #2418
2018-09-23 17:16:09 +10:00
Maxime Coste
fa993768da Merge remote-tracking branch 'eraserhd/script-docs' 2018-09-23 17:06:25 +10:00
Maxime Coste
9c1c763a37 Reject hook names that are not alphanumeric _ or - or start with -
Fixes #2414
2018-09-22 22:11:21 +10:00
Maxime Coste
3f4c86b12f Merge remote-tracking branch 'Delapouite/rename-completions' 2018-09-22 22:02:58 +10:00
Jason Felice
6c4593b18a Document that -f starts with whole file selected 2018-09-21 10:01:20 -04:00
Delapouite
d8747bc1e0 Add completion for rename-buffer, rename-client and rename-session 2018-09-20 19:01:47 +02:00
Jan-Jaap Korpershoek
35dca5866c Update documentation of region highlighter to match change in 2e0e206951 2018-09-16 19:38:18 +02:00
Maxime Coste
0c3d9ccd20 Change remove-hooks to take a regular expression
All hooks whose group match this regex will be removed.

Fixes #2380.
2018-09-12 21:26:21 +10:00
Maxime Coste
8536adc5ac Merge remote-tracking branch 'eraserhd/2367-surround-with-tight-nesting' 2018-09-12 20:57:59 +10:00
Maxime Coste
d3be78cca2 Only commit undo groups when buffer was modified
This fixes an interaction with kak-lsp that would trigger undo group
commit when setting a buffer option value.
2018-09-12 20:02:57 +10:00
Jason Felice
83244af106 Don't skip opening brace twice when finding closing
Fixes #2367
Fixes #2129
2018-09-09 10:15:41 -04:00
Frank LENORMAND
377e09abd9 src: Check that Once hooks to remove exist
Fixes #2370.
2018-09-09 13:12:47 +03:00
Maxime Coste
14f9f4c468 Fix use after delete in RemoteClient FDWatcher callback
Fixes #2357
2018-09-07 09:09:07 +10:00
Maxime Coste
15bb23865a Join highlighter parameters with a '_' to autogenerate their name 2018-09-07 09:09:07 +10:00
Maxime Coste
d73ec20285 Kakoune v2018.09.04 2018-09-04 08:22:28 +10:00
Maxime Coste
b8dbe6135c Remove leading v in archive names when generating releases 2018-09-04 08:22:28 +10:00
Maxime Coste
37e2558413 Add readline word erase bindings, throw in clipboard for good measure
Add <c-w> and <a-d> (along with <c-W> and <a-D> that work on WORDs),
and <c-y> which pastes the transient clipboard contant (which saves
big erase, such as word erase and line end/begin erase).

Fixes #2355
2018-09-04 07:55:56 +10:00
Maxime Coste
b581a4fbed Merge remote-tracking branch 'Delapouite/sync-exit-status' 2018-09-03 22:33:20 +10:00
Maxime Coste
4b7e77ae00 Change line editing bindings to match readline's
In the end, no better solution materialized so far, and custom
Kakoune line editing bindings are hard to remember. Using well
known readline bindings seems just more convenient.

Closes #800, although it does not contain all the binding proposed
by it (I might accept a few additional ones, such as <c-w>, but not
too much, I still see that as a hack pending a nicer solution).
2018-09-03 22:15:28 +10:00
Delapouite
5e75f748a2 docs: add missing -sync and exit status in autoinfo and doc page 2018-09-03 08:25:08 +02:00
Maxime Coste
a8c792706d Fix setting a prefix list option with an empty list
Fixes #2335
2018-08-30 20:27:10 +10:00
Maxime Coste
df655422d1 Merge remote-tracking branch 'Screwtapello/support-user-map-options' 2018-08-30 20:10:00 +10:00
Maxime Coste
ee39649d3a Merge remote-tracking branch 'Screwtapello/fix-slow-word-wrap' 2018-08-30 20:09:13 +10:00
Maxime Coste
872ecd472c Merge remote-tracking branch 'Delapouite/auto_complete' 2018-08-30 20:07:08 +10:00
Maxime Coste
a0ac3c8c4c Merge remote-tracking branch 'occivink/source-with-args' 2018-08-30 20:04:07 +10:00
Maxime Coste
fcaa4314f7 Merge branch 'patch-1' of https://github.com/John-Colvin/kakoune 2018-08-30 20:03:51 +10:00
Shachaf Ben-Kiki
5238c2d93d Extend source command to support parameters.
Parameters are accessible in %arg{n}, as with define-command.
2018-08-30 10:00:13 +02:00
Maxime Coste
68aba9e353 Use shell specific quoting for env vars
Add a test case to validate roundtrips between Kakoune and the
shell.
2018-08-29 07:53:59 +10:00
John Colvin
94a3b85745 Missing space at eol in write CommandDesc 2018-08-28 11:59:43 +01:00
Tim Allen
82c01c5dd3 Speed up wrapping at word boundaries.
Previously, when wrapping lines at word boundaries, we would iterate forwards
for "wrap-width" characters, then iterate backwards until we found a word-break,
which was horribly slow.

Now we record the last word-boundary we saw as we iterate forwards, getting a
result in one pass.

Fixes #2339.
2018-08-28 17:43:16 +10:00
Delapouite
c2bd4b38a0 Add toggling capabilities for <c-o> in Insert and Prompt mode
Ref #2121
2018-08-27 22:08:38 +02:00
Maxime Coste
9fdf1f1168 Merge remote-tracking branch 'ricochet1k/master' 2018-08-27 08:13:07 +10:00
Maxime Coste
b06ba627b2 Refactor whitespace highlighter into a struct 2018-08-27 08:05:00 +10:00
Maxime Coste
a32d7069c6 Try to complete command switches when an argument starts with '-'
Fixes #1467
2018-08-26 12:29:11 +10:00
Matt Peterson
d0a8426272 Use $USER if getpwuid fails 2018-08-24 10:50:59 -04:00
Frank LENORMAND
1da0af26c9 src: Make sure buffers are saved regardless of the client count
Due to a copy-paste mistake, the `:kill` command in a session with
multiple clients was the equivalent of a force-kill (`:kill!`).

This commit makes sure all buffers are saved before killing the
session, unless the force flag is specified.
2018-08-21 17:27:17 +03:00
Tim Allen
49ef9968c0 Support user-defined "str-to-str-map" options. 2018-08-21 18:24:14 +10:00
Frank LENORMAND
9a111b5ebe src: Improve error messages in RPC requests parsing
Cast errors in RPC requests currently make the client quit with an
error saying "uncaught exception", since `Kakoune::bad_value_cast`
exceptions are not explicitely handled.

This commit tries to catch ill-formatted requests and return a more
human-friendly error message, without quitting the client.
2018-08-18 09:28:30 +03:00
Maxime Coste
293610a432 Add a test case for -once hooks and code style tweaks 2018-08-16 21:09:51 +10:00
Maxime Coste
4387b1ac90 Merge remote-tracking branch 'lenormf/fix-hook-once' 2018-08-16 18:46:26 +10:00
Frank LENORMAND
97abfd403d src: Forbid empty menu entries
Empty entries in menus look weird, and don't serve any purpose. Empty
commands are still allowed.
2018-08-11 10:03:57 +03:00
Maxime Coste
f706b8c9be Add a -version switch to Kakoune
Closes #1035
2018-08-09 11:24:11 +02:00
Frank LENORMAND
e84dcf72c0 src: Allow hooks to be run only once
This commit implements the -once flag on the `:hook` command, which
automatically removes a hook after it was run, to avoid having to
declare a group and remove it in the hook implementation.

Closes #2277
2018-08-06 15:14:20 +03:00
Maxime Coste
472a5732e2 An empty string is not a valid number
Fixes #2284
2018-08-04 11:10:19 +01:00
Maxime Coste
3b77398c5b Add an assert to catch newpad returning a nullptr 2018-07-31 13:15:39 +01:00
Maxime Coste
075d1048ab Avoid invalid access to Optional
If the UI is not ok, the exit status of the client might not be
available. Return -1 in that case.
2018-07-30 10:32:38 +01:00
Maxime Coste
d2509e54f2 Fix compilation with gcc-5
Gcc-5 seems to have a bug in its handling of template variable.

Fixes #2267
2018-07-30 07:15:17 +01:00
Maxime Coste
2c9daf2378 Merge remote-tracking branch 'Delapouite/map-key-completer' 2018-07-28 19:48:24 +10:00
Maxime Coste
eef2ea5136 Lazily iterate over words instead of gathering them in a vector 2018-07-26 23:05:00 +10:00
Maxime Coste
eefe26b48b Fix shared string registry ref count stats 2018-07-26 22:20:19 +10:00
Maxime Coste
7cf3cbde8e Cleanup some trailing whitespaces and double semicolon 2018-07-26 21:56:34 +10:00
Maxime Coste
737807dde2 Replace a few loops with ranges 2018-07-26 21:23:06 +10:00
Maxime Coste
0919679e0d Make TransformView iterator's category match its underlying's
In particular, this make gathering a transformed range to a vector
faster because we can use the random access nature of underlying
iterator to get the size to allocate in the vector upfront.
2018-07-26 20:58:55 +10:00
Maxime Coste
62fa783bfd Fix missing override specifier 2018-07-26 20:16:48 +10:00
Maxime Coste
7905382b74 Obtain a new window for a client before releasing the current one
Creating a window potentially runs hooks, which themselves could
trigger shell evaluation, which could handle urgent input events
such as a resize, while waiting for the shell to finish. When that
happens, the client had a temporarily null window as it had already
released its own window.

Fixes #2225
2018-07-25 21:23:22 +10:00
Maxime Coste
a5f53dccb7 Micro optimize command parsing by avoiding utf8 decoding
Balanced quoted parsing does not need to decode utf8, neither does
unquoted word parsing. This improves startup time a bit, helping
for issue #2152
2018-07-25 20:58:07 +10:00
Maxime Coste
918fe6ddd8 Fix uninitialized context flags 2018-07-25 20:57:47 +10:00
Maxime Coste
0d6e04257b Fix memory leak in regex execution 2018-07-25 20:57:11 +10:00
Maxime Coste
b1187cf91d Quote every option type but integral types
Opt-in quoting was a bad choice, lets default to opt-out with
all integral types non quoted.
2018-07-24 20:26:24 +10:00
Maxime Coste
5f825cf0f5 Merge remote-tracking branch 'lenormf/fix-C-skip-empty-lines' 2018-07-23 21:14:23 +10:00
Maxime Coste
bbb508634e Support setting registers to empty lists
Note that empty registers still act as-if they contained a single
empty string.

Fixes #2228
2018-07-23 08:35:13 +10:00
Maxime Coste
f27700cc53 Restore SIGPIPE handler to default before spawning shell
Fixes #2238
2018-07-23 08:32:17 +10:00
Maxime Coste
6270ce4a80 Merge remote-tracking branch 'lenormf/fix-face-name-format' 2018-07-22 21:13:48 +10:00
Maxime Coste
3c51da4488 Merge remote-tracking branch 'lenormf/fix-development-version' 2018-07-22 15:58:41 +10:00
Maxime Coste
7b9f162e7d Opt-in types for quoting of option lists
This avoid quoting ints in int-lists for example, as they do not
risk containing whitespaces.

Fixes #2223
2018-07-22 15:51:32 +10:00
Frank LENORMAND
a2f9c68a7c src: Change the bullet point symbols in the version notes 2018-07-20 13:55:16 +03:00
Frank LENORMAND
60bd8df3c2 src: Don't print a number for the development version 2018-07-20 13:49:36 +03:00
Frank LENORMAND
2b0c143808 src: Allow face names to contain an underscore
Closes #2229
2018-07-20 09:47:30 +03:00
Frank LENORMAND
0b8899d1d4 src: Rename auto_complete to autocomplete
Removing the underscore seems to make the option name more
in line with the others (even though some do use a separator,
e.g. `disabled_hooks`).
2018-07-19 18:57:33 +03:00
Maxime Coste
7195100609 Re-introduce kill_session::exit_status, @lenormf was right
As discussed in #2186, in the end we need the exit status for the
case where the local client exited first (the server forked to
background) then another client trigger the kill command.
2018-07-19 19:27:56 +10:00
Maxime Coste
56a5dc66ff Merge remote-tracking branch 'lenormf/kill-clients-exit-code' 2018-07-19 18:42:22 +10:00
Maxime Coste
40a91b1120 Add a -debug '...' switch to Kakoune startup that sets the debug option
This gives an easy way to profile startup by running with -debug profile.
2018-07-19 18:36:49 +10:00
Maxime Coste
7ed5d53fe6 Fix RegexCompileFlags::Backwards having the same value as Optimize
That means every Optimized regex had the Backwards version
compiled as well, which doubled the time it took to compile them
and doubled the memory usage of regex.

This should improve #2152
2018-07-19 18:34:40 +10:00
Frank LENORMAND
5543a4d58c src: Propagate to clients the kill exit code
Fixes #2177
2018-07-19 10:54:49 +03:00
Maxime Coste
56912dd22c Merge remote-tracking branch 'icetan/buffer-reload-hook' 2018-07-19 08:29:22 +10:00
Maxime Coste
b1d5fda960 Reduce confusion in add-highlighter docstring
Closes #2222
2018-07-19 08:26:25 +10:00
Maxime Coste
c58457a3c0 Fix manual insert completion menu not getting automatically hidden
Fixes #2208
2018-07-15 11:46:02 +10:00
Maxime Coste
d23ac09fc1 Add support for <a-;> in prompt mode
Fixes #2096
Closes #2060
2018-07-15 11:17:16 +10:00
Maxime Coste
bde726d034 Change autoshowcompl to auto_complete with insert|prompt possible values 2018-07-15 11:10:32 +10:00
Maxime Coste
2f815511da Merge remote-tracking branch 'Screwtapello/fix-info-docstring' 2018-07-14 23:17:10 +10:00
Maxim Baz
3ca424d10f
Fix description of ui_options 2018-07-13 22:46:24 +02:00
Tim Allen
591a9ab093 The info command only takes one content string, not one-or-more. 2018-07-10 17:51:57 +10:00
Christopher Fredén
ae6c214f52
Add BufReload hook which is triggered on buffer reload 2018-07-09 14:20:52 +02:00
Maxime Coste
79ec8d0010 Rename highlighters that used an underscore to use a dash
For example `show_matching` is now `show-matching`.
2018-07-08 19:14:15 +10:00
Maxime Coste
1b5f665664 Refactor WrapHighlighter::next_split_pos to avoid non-linear complexity
Previous Implementation was constantly computing byte/column count
from the begining of the line, leading to a non-linear complexity
with respect to the length of a line.

Fixes #2146
2018-07-08 18:51:11 +10:00
Maxime Coste
51ec1194f1 Use a memory mapped file for sourcing 2018-07-08 17:25:12 +10:00
Maxime Coste
cde0c51cd6 Tweak comment to make it less ambiguous 2018-07-08 16:58:19 +10:00
Maxime Coste
b6933a2bdb Fix infinite loop on SIGHUP with the NCursesUI
Fixes #2126
2018-07-08 15:54:01 +10:00
Maxime Coste
f89ea657ef Fix asserts with -sync flag handling and slight code cleanup 2018-07-05 08:30:57 +10:00
Maxime Coste
63d4c8c311 Change a on end of line behaviour to be consistent
`a` will just jump on next line, `a` on last end of line opens a new
line beneath it.

Fixes #1164
2018-07-05 08:00:14 +10:00
Maxime Coste
55a5ec3bbd Tweak how highlighter names are auto-generated 2018-07-05 07:54:28 +10:00
Maxime Coste
2e0e206951 Make recurse regex opt-in with a -recurse switch instead of opt-out 2018-07-05 07:54:28 +10:00
Maxime Coste
f9fda70de6 Fix add-highlighter docstring 2018-07-05 07:54:28 +10:00
Maxime Coste
63d7984b89 Fix bug in recursive region highlighting 2018-07-05 07:54:28 +10:00