Maxime Coste
f6c67f7831
Code cleanup in insert completer
2020-10-12 12:41:52 +11:00
Maxime Coste
246a32797a
Fix region regexes incorrectly matching ^$ at end of line
...
Because no flags were set for regex matching, the regex engine was
assuming that the subject string past-the-end matched a end-of-line.
As the subject string already ended with a \n character, the regex
engine processing of the "past-the-end" position would match '^$'
as ^ matched past the existing \n and $ matched the assumed
end-of-line.
Fixes #3799
2020-10-12 12:41:21 +11:00
Maxime Coste
6a9b34e5c8
Merge branch 'add-illumos' of http://github.com/luka-devnull/kakoune into master
2020-09-30 19:38:52 +10:00
Maxime Coste
5d17e1132f
Ensure that the capture group actually matched in select_matches
...
We were creating selections from default constructed iterators,
which happened to have 0,0 coords and led to out-of-order selection
lists.
Fixes #3757
2020-09-22 21:14:40 +10:00
luka null
1296922d66
Add illumos/Solaris support
2020-09-18 05:22:25 -05:00
Maxime Coste
ec3d7c3104
Add support for removing from options
...
`set -remove ...` will remove from the current option value, substracting
from int, removing elements from vectors and maps.
2020-09-09 21:00:30 +10:00
Maxime Coste
e0d2602e6a
Kakoune 2020.09.01
2020-09-01 20:37:20 +10:00
Maxime Coste
1fd1a0052d
Trigger InsertCompletionHide hook when switching to explicit completion
...
Previously we would just bypass that hook making it impossible to
act on the inserted text when triggering an explicit completion after
inserting text from the previous completer.
2020-08-30 10:35:15 +10:00
Maxime Coste
f56c1107e0
Fix face attributes to string conversion with F shorthand
...
Previously a `F` attribute would end up being converted to Ffga which
is confusing as F *means* fga.
2020-08-30 10:12:21 +10:00
Maxime Coste
1020438462
Clear inserted_ranges after updating insert completions candidates
...
They were getting out-of-sync with the stored timestamp, leading
to invalid ranges being computed and crashes.
Fixes #3666
Fixes #3571
2020-08-18 20:35:48 +10:00
Maxime Coste
40aa687601
Do not fork in daemon mode
...
Leave that to the shell or external service management tools
Fixes #3618
2020-08-17 19:56:00 +10:00
Maxime Coste
669048f458
Rename DefinedHighlighters to SharedHighlighters
...
Matches the user facing name and seems more correct.
2020-08-08 11:19:02 +10:00
Maxime Coste
5aa657b150
Merge remote-tracking branch 'eraserhd/runtime-var'
2020-08-06 20:15:38 +10:00
Jason Felice
a52822d965
Override runtime by setting $KAKOUNE_RUNTIME
2020-08-04 11:48:34 -04:00
Maxime Coste
2c437cfa02
Kakoune 2020.08.04 startup info
2020-08-04 19:40:43 +10:00
Johannes Altmanninger
266fe6f659
Support count argument for [s and ]s
...
Part of #795
2020-08-02 11:30:14 +02:00
Johannes Altmanninger
98a1afcab0
Support count argument for [p and ]p
...
Part of #795
2020-08-02 11:30:14 +02:00
Maxime Coste
39ad6a5bda
Do not flush input buffer in UI creation
...
Fixes #3635
2020-08-02 16:19:13 +10:00
Maxime Coste
e3f3297334
Fix alpha of merged faces
2020-07-31 15:45:52 +10:00
Maxime Coste
c2516f02f6
Do not trigger RegisterModified hooks on register about to be restored
...
This greatly reduces the amount of hooks triggered.
2020-07-21 20:27:42 +10:00
Maxime Coste
47ba36c66e
Add a RegisterModified hook
...
This one has been a long time coming, I am still concerned this could
impact performance a lot. This hook does *not* trigger for capture
registers (0-9) or any other dynamic registers (that are not writable).
Fixes #859
2020-07-19 12:56:55 +10:00
Maxime Coste
5df8073c3c
Code style tweaks
2020-07-19 12:54:41 +10:00
Maxime Coste
60dda1a597
Handle SIGTERM as a graceful exit, similar to the :kill!
command
...
Do not backup modified files, go through graceful destruction of
singletons.
Fixes #3528
2020-07-07 20:41:40 +10:00
Maxime Coste
8abf18209e
Fix selections getting unsorted on scroll
...
Fixes #3478
2020-07-05 10:13:57 +10:00
Maxime Coste
f2cc7bc891
Add User hook support
2020-07-04 13:48:27 +10:00
Igor Böhm
d79b005323
Fix 'error: non-constant-expression cannot be narrowed...'
...
ncurses_ui.cc:759:59: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'Key::MouseButton' in initializer list [-Wc++11-narrowing]
return mouse_button(mod, Key::MouseButton{code}, coord, c == 'm');
^~~~
2020-06-28 23:32:12 +02:00
Maxime Coste
d3374e7e5f
Refactor mouse press/release handling to support 3 buttons
...
Change button to be an additional parameter instead of having separate
events for left/right buttons.
Fixes #3471
2020-06-28 19:48:55 +10:00
Maxime Coste
fc3e5ea419
Refactor how InsetCompletionHide hook parameter is computed
...
Keep track of inserted ranges instead of trying to re-derive them.
Fixes #3556
2020-06-27 13:33:50 +10:00
Maxime Coste
f5127f8b22
Merge remote-tracking branch 'lenormf/key-percent'
2020-06-25 20:58:26 +10:00
Maxime Coste
d4487d3bfc
A module is not loaded after failing during load
...
distinguish the loading from loaded state, detect recursive loading.
2020-06-16 19:08:10 +10:00
Maxime Coste
f75d49e9ef
Do not include non-primitive option value in *SetOption hook filter
...
Only include the value for int/str/bool options, for the rest just
write '<option name>=...'.
This should reduce the cost of some patterns such as repeatedly adding
a value inside a list option.
It seems very unlikely that the actual value would be matched by
a hook regex string for non primitive types.
2020-06-09 21:38:47 +10:00
Maxime Coste
66f15cf4ad
Fix select wiping captures
...
It turns out `v = std::move(v)` with v a std::vector is not a no-op,
it clears the vector.
2020-06-07 14:12:54 +10:00
Frank LENORMAND
24c5169400
src: Introduce a <percent> named key
...
Similarly to the <semicolon> key, make it easier to write
`:execute-keys` commands by replacing <percent> with `%`.
Highlighters can keep escaping the sign when regular expressions are
not quoted, but built-in scripts that use `%` as an editing primitive
have been modified to use the named key, for clarity.
2020-06-03 15:42:38 +03:00
Maxime Coste
0fba373d1d
Replace some tag dispatch with if constexpr
2020-06-01 20:46:48 +10:00
Maxime Coste
ec4980df34
Merge commit 'krobelus/05-highlight-replace-ranges-crash^'
2020-05-30 09:18:35 +10:00
Maxime Coste
08e0b663f7
Fix unintended interpretation of ranges length syntax
...
Ranges specified with a +<length> were inconsistent, with +0 meaning
an empty range, while +1 meant a two character long range (first character
+ the following one). Change that to mean a single character.
Fixes #3479
2020-05-29 12:25:57 +10:00
Maxime Coste
63371da8aa
Avoid to_remove vector in select helper function
...
Remove the need to allocate anything when removing selections.
2020-05-29 12:00:02 +10:00
Maxime Coste
94f33bb638
Add a range based remove_if overload
2020-05-29 11:59:03 +10:00
Johannes Altmanninger
13a6aa2fbd
refactor: remove extra semicolons
2020-05-28 20:04:32 +02:00
Maxime Coste
109abbeed4
Fix invalid regions with begin > end being generated
...
Fixes #3495
2020-05-28 20:58:46 +10:00
Maxime Coste
aad20f6576
Merge remote-tracking branch 'krobelus/paragraph-begin-oob'
2020-05-19 19:17:03 +10:00
Maxime Coste
af175d2e7e
Output debug memory stats in a nice table
2020-05-19 17:16:37 +10:00
Johannes Altmanninger
fc63eef695
Fix crash when selecting previous paragraph at buffer begin
...
Fixes #3489
When there are multiple empty lines between a paragraph and the cursor
(C in the example below), <a-[>p skips over one of them. Prevent the
check for the extra newline from going out of bounds.
```
a paragraph
C after <a-[>p, the first two lines will be selected
```
2020-05-17 14:15:48 +02:00
Johannes Altmanninger
08509cb408
Refactor: use is_eol() as elsewhere in this function
2020-05-17 14:11:45 +02:00
Maxime Coste
5fd548d5cf
Fix use of unportable MSG_CMSG_CLOEXEC
2020-05-17 21:28:40 +10:00
Maxime Coste
151eb3299d
Fix CSI u parsing of some special keys
2020-05-12 08:50:27 +10:00
Maxime Coste
60154300f9
Support piping data to client stdin
...
Pass the client stdin fd to the server and open a fifo buffer
from it.
Fixes #3394
2020-05-10 19:30:13 +10:00
Maxime Coste
2104af0771
Fix select_sentence going past the end of the buffer
...
Fixes #3472
2020-05-10 15:13:15 +10:00
Maxime Coste
f4efde7e08
Merge remote-tracking branch 'krobelus/kak-c-initial-buffer-pos'
2020-05-03 13:20:44 +10:00
Maxime Coste
2fca4e5643
Fix traling whitespaces
2020-05-02 13:02:10 +10:00