| Age | Commit message (Collapse) | Author |
|
|
|
The `history_since_<id>` value expansion allows incremental parsing of a
buffer's history.
declare-option int my_last_history_id
define-command my-process-history ...
# process the initial buffer history
my-process-history %val{bufname} 0 %val{history}
set-option buffer my_last_history_id 0
# only process new history changes on idle
hook buffer NormalIdle %{
evaluate-commands %exp{
my-process-history \
%%val{bufname} \
%%opt{my_last_history_id} \
%%val{history_since_%opt{my_last_history_id}}
}
set-option buffer my_last_history_id %val{history_id}
}
|
|
Link to `:doc changelog` in the title and link to startup-info there
so that this information stays visible even if the changelog overflows
the info box.
Use format support for 0 padding instead of custom code
|
|
|
|
|
|
|
|
|
|
Closes #5326
|
|
|
|
|
|
This is not finished yet, and pushed by accident, again...
This reverts commit 22b461c3a0b22dd4501943230f0774c34f0b4b35.
|
|
|
|
|
|
It is often usefull to quote the inserted register, like when doing
`:grep <c-r>/`, or when pulling selected filenames with `<c-r><a-.>`.
|
|
|
|
|
|
The other advantage is that %exp{} is seamlessly nestable; I guess
that one is kind of implied by the context.
|
|
Staging/unstaging/reverting (parts of) the current buffer's file can
be a common use case.
Today "git apply" can do that based on a selection within a diff.
When the selection is on uncommitted content, we can probably assume
that the intent is to use the part of the selection that overlaps
with the +-side of "git diff" (or "git diff --cached" for
"git apply --cached").
Make "git apply" treat selections as content if the buffile is
tracked by Git. This differentiator is not perfect but I don't know
why anyone would want to use the existing "git apply" semantics on
a tracked file. Maybe we should pick a different name.
This feature couples well with "git show-diff", which shows all
lines with unstaged changes (in future it should probably show staged
changes as well).
Whereas on diffs, "git apply" stages the entire hunk if the selection
contains no newline, this does not happen when operating on content.
I didn't yet try implementing that. I guess the hunks are not as
explicit here.
Closes #5225
|
|
|
|
Fixes #5223
|
|
Use a separate option from terminal_set_title for simplicity.
Fixes #2217
Closes #4265
|
|
Closes #5226
|
|
|
|
Now `\*debug*` and `\*scratch*` are used when refering these buffers
for prettier presentation.
|
|
The doc renderer is not expected to fully support asciidoc and can need
a bit of help by avoiding corner cases in pages
Closes #5198
|
|
|
|
|
|
|
|
This hook runs on `change-directory` and is also emitted just before
KakBegin after kakrc has been sourced.
|
|
This is especially useful to use the indent guides without the other
parameters, but in general it can be a useful option.
It could be worth considering cleaning up these options to default off instead, but
the default also seems useful, so i consider this ok, as it might be the more advanced
usecase.
|
|
The output is not quoted by default. Fixes #5158
|
|
This makes it easier to pass shell fragments as arguments so that
%sh{ eval "$@" } just works even if arguments refer to Kakoune's
vars.
|
|
These two can also be annoying to have to escape, so this should make it slightly easier to manage
|
|
|
|
|
|
|
|
|
|
|
|
When using `eval` a new scope named 'local' gets pushed for the
whole evaluation, this makes it possible to temporarily set
an option/hook/alias...
Local scopes nest so nested evals do work as expected.
Remove the now trivial with-option command
|
|
|
|
|
|
A couple of semi-opinionated choices were made in this implementation:
1. The guide is hidden in the first column.
2. The indent guides are highlighted using a new `WhitespaceIndent` face.
3. Nothing is done to continue the guide through empty lines. I believe this to be the correct approach,
at least as long as it is kept as a part of the show-whitespaces highlighter. However some people's
oppinion may differ, and if so, that could be implemented.
4. The guides default to on, like the other show-whitespace options. Default character is "│".
5. Spaces between the indent guides are currently highlighted as other spaces.
Other reasonable options would be no replacement, -tabpad, or a similar -indentpad.
6. Guides are disabled by passing `-indent ""`.
7. Indent guides are separate from tab highlighting.
Additionally, we could consider adding a separate face for the "current" indent level as many editors do,
but this is a bit harder in kakoune because of multiple selections.
Closes #2323
|
|
|
|
|
|
|
|
|
|
|
|
prompt has fuzzy filtering which is more discoverable than the menu
mode's regex filtering (because that one needs / to trigger it).
There are no important differences left, so replace the menu builtin
with a prompt-based command.
prompt does not support markup in the completion menu, so drop that
feature for now.
|
|
|
|
Read output from the script as it comes and update the candidate
list progressively.
Disable updating of the list when a completion has been explicitely
selected.
|