| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There's a bug in current line completion, fix it.
Signed-off-by: Tw <tw19881113@gmail.com>
|
|
In some cases, it may be difficult to easily spot the area out of the buffer
(bad color scheme, small font, superimposed windows).
This patch adds two ncurses ui_options to bypass this problem:
- `ncurses_padding_char`, to configure the padding character,
- `ncurses_padding_fill`, to indicate whether to fill the padding line
(or to display a single character).
The default config is the legacy one (a single "~").
|
|
- Add the Narrow No-Break SPace (0x202F, NNBSP) to the list of handled
spaces in the show-whitespace highlighter.
- Do not add an aditional option, just handle it like NBSP, with the same highlight character.
|
|
|
|
Different approach than the one suggested by eraserhd
Closes $4095
|
|
Quote by wrapping in quotes if we are replacing the whole token,
using backspaces if the completion only adds to it.
This ensure that the inserted completion will be correctly parsed
once validated.
Fixes #4121
|
|
Kakoune now knows about all the keypad keys listed in:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-PC-Style-Function-Keys
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-VT220-Style-Function-Keys
The VT220-style encodings are used to for modified numeric keys when NumLock is
off. For example, consider the 8/Up key:
| Modifiers | Sequence | Notes |
|-----------------|-------------|-------------------|
| Unmodified | CSI A | Ordinary up arrow |
| Shift | SS3 2 x | Shift-8 |
| NumLock | 8 | Ordinary 8 |
| Shift + NumLock | CSI 1 ; 2 A | Shift-Up |
Note that even though the terminal distinguishes between keypad and regular keys,
Kakoune maps keypad keys onto regular keys - keypad Enter is still <ret>, it
just supports more modifiers than the regular Enter key.
|
|
It's useful for parsing modifier masks in all kinds of sequences, not just CSI
sequences. Also, since the modifier mask always has "1" as "no modifiers",
do the subtraction inside parse_mask() instead of when calling it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes #4098
|
|
|
|
This avoids 100% CPU usage when we have pending fifo input while running
a shell process, as we will not end-up busy looping in pselect but not
reading the available data due to being only processing urgent events.
|
|
|
|
|
|
|
|
|
|
Threads are 4 bytes, an initial capacity of 4 led to allocating 16
bytes, raising that to 64 bytes seems quite reasonable.
|
|
By re-using the VM we avoid re-allocating the threads and saves
buffers over and over again. We can just re-use the ones from the
previous matching.
|
|
It turns out the fix for #4061 was breaking auto-selection with
space of command names.
|
|
Changes the behaviour of the \s and \h character classes to include
all WhiteSpace and LineTerminator characters defined in the ECMA
specification.
- <https://262.ecma-international.org/11.0/#sec-white-space>
- <https://262.ecma-international.org/11.0/#sec-line-terminators>
- <https://262.ecma-international.org/11.0/#sec-characterclassescape>
Fixes #4034
|
|
Only requote when completion is replacing the whole token
Do not requote command names as they should not require it, tag
them as quoted.
Fixes #4061
|
|
When a replaced buffer range atom was starting exactly at the
location we wanted to split onto the code would split *after*
that atom instead of before.
Fixes #4052
|
|
This is an experiment and might get reverted if overlapping selections
prove too cumbersome.
Fixes #4041
|
|
|
|
Fixes #4042
|
|
This avoids an issue when using `su` and running Kakoune which creates
a session directory owned by root and prevents the user from creating
more sessions.
|
|
This should be rare but should not happen silently, this way it will
show in the parent process debug buffer.
|
|
Stop searching for the matching character when getting out of view
instead of going until the buffer edge.
|
|
|
|
Different terminals send different codes to indicate backspace, usually one of
\x08 or \x7f, so Kakoune blindly treated both as backspace. However, a given
terminal is only likely to use one of those, and mnemonic control codes like
<c-h> are a precious resource so we should endeavour to keep backspace and
<c-h> separate when we can. Luckily, termios tells us what code our terminal is
currently using, and Kakoune already reads the information at startup, so we can
just use that information.
Thanks to @krobelus for figuring out the C++ syntax required.
Fixes #3863.
|
|
|
|
|
|
This makes it possible to keep significant EOL in shell expansions (e.g.
for use with clipboard helpers).
|
|
|
|
Fixes #4003
|
|
|