| Age | Commit message (Collapse) | Author |
|
It makes more sense to use the list nature of the register to store
the selections instead of storing them as a single string separated
by spaces.
|
|
|
|
This commits changes the way `C` behaves when the next line is empty:
instead of stopping the selection, it will now jump to the next line
that can hold a selection as big as the current one.
The primitive's count parameter holds the maximum amount of selections
that should be added to the current one.
Closes #2061
|
|
|
|
Fixes #2138
|
|
Fixes #2133
|
|
Fixes #2042
|
|
Fixes #2079
|
|
|
|
If the search wraps to get to next match, drop that selection when
extending.
|
|
This should improve performance in draft contexts.
|
|
Store the undo tree as an array of undo nodes, instead of as a
pointer based tree.
|
|
Add a UserInterface::is_ok method and return false on
SIGHUP/stdin closing/socket dropping
This should be cleaner and more robust than the previous SIGHUP
handling code.
Fixes #1594
|
|
move is pretty ambiguous and hard to find due to std::move.
|
|
This allows to use Kakoune fuzzy matching to get the words we
are looking for.
|
|
Because keyboard layouts vary, the shift-modifier `<s-…>` is only supported
for special keys (like `<up>` and `<home>`) and for ASCII lowercase where
we assume the shift-modifier just produces the matching uppercase character.
Even that's not universally true, since in Turkish `i` and `I` are not an
uppercase/lowercase pair, but Kakoune's default keyboard mappings already
assume en-US mappings for mnemonic purposes.
Mappings of the form `<s-x>` are normalized to `<X>` when `x` is an ASCII
character. `<backtab>` is removed, since we can now say `<s-tab>`.
|
|
set-face now takes a scope argument, and faces can be overridden on
a buffer or window basis.
colorscheme apply on global scope, which should be good enough for
now.
Fixes #1411
|
|
|
|
Fixes #1966
|
|
|
|
|
|
Backward rotation are supported with (.
Fixes #1210
|
|
|
|
In the end, % is not that painful to work with as its only set seldomly,
and we usually dont need to use expansion at the same time. Moreover, it
just requires a single \ to be escaped.
Fixes #1562
|
|
This overload will forward to the general transform implementation
using std::mem_fn to generate a callable.
|
|
|
|
It improves consistency and it looked like there was support for that
change on github.
Fixes #1861
|
|
To allow more general look arounds out of the actual search range,
pass a second range (the actual subject). This allows us to remove
various flags such as PrevAvailable or NotBeginOfSubject, which are
now easy to check from the subject range.
Fixes #1902
|
|
|
|
Selection merging is necessary if we want X to work nicely when we are
on EOL (jumping to next line is as nice as it could be, and we are much
more often on EOL nowadays).
|
|
|
|
Various places in Kakoune code used to modify selections so that
cursors would not lie on an end of line. Remove those to increase
Kakoune's consistency and simplicity.
Now that end of lines are highlighted separately, they should not
be handled specially in most commands.
|
|
Avoiding end of line is a behaviour we avoid (pun intended) more and more
in Kakoune source code, now that end of lines are regularly selected, it
makes no sense to just to next line when last modification lies on an EOL
(and it probably did not make much sense back when that code was written).
|
|
disabled"
This reverts commit 55621fb4cc9c01972317182dd6a8ed3ced0e1f9e.
This should not be necessary as :exec/eval already save those registers
and reset them by default, and it breaks the ability to use those
registers during an eval/exec (as the commands behave differently)
|
|
|
|
informations, dont, incrementaly, alignement
|
|
|
|
|
|
|
|
Fixes #1825
|
|
|
|
|
|
Limit to 100K of data for now, as we diff at the byte level.
|
|
Stripping whitespaces there is a failed experiment as it breaks the
ability to use multi-selections consistently: Using '*' followed by some
`N` to add following matches, we end up with mismatched selections
due to whitespace stripping the original selection still contains
whitespaces where all the new ones do not. Once we get to this state,
most selection commands will give different results for the initial
selection and the other ones, breaking predictible multiselection use,
one of the cornerstones of Kakoune editing model.
|
|
Fixes #1808
|
|
Fixes #1725
|
|
|
|
Always consider that the first selection in the list is the main
one, save selections that way.
This approach was suggested by PR #1786 but the implementation here
is different, and is used more generally whenever we save selections
to strings.
This is also the prefered way to work only on the main selection:
save selections with Z, reduce to main with <space>, restore with z.
Closes #1786
Fixes #1750
|
|
Fixes #1778
|
|
|