2018-05-19 03:05:28 +02:00
|
|
|
= Changelog
|
|
|
|
|
|
|
|
This changelog contains major and/or breaking changes to Kakoune between
|
|
|
|
released versions.
|
|
|
|
|
2023-08-12 19:33:32 +02:00
|
|
|
== Development version
|
|
|
|
|
2023-11-07 08:01:54 +01:00
|
|
|
* `shell-script-candidates` completion now runs the script asynchronously
|
|
|
|
while displaying and updating results live.
|
|
|
|
|
2023-11-13 09:19:53 +01:00
|
|
|
* `%val{window_range}` elements are now emitted as different strings
|
|
|
|
|
2023-08-12 19:33:32 +02:00
|
|
|
* `+` only duplicates identical selections a single time to avoid surprising
|
|
|
|
and slow exponential growth in the number of selections.
|
|
|
|
|
2023-09-26 09:50:56 +02:00
|
|
|
* `daemonize-session` command makes it possible to convert the current session
|
2023-11-09 19:44:28 +01:00
|
|
|
to a daemon one (which will not exit on last client disconnecting)
|
|
|
|
|
|
|
|
* View mode commands and mouse scrolling no longer change selections when those go off-screen.
|
|
|
|
|
|
|
|
* New commands `git apply`, `git edit`, `git grep`
|
2023-09-26 09:50:56 +02:00
|
|
|
|
2023-08-05 03:02:11 +02:00
|
|
|
== Kakoune 2023.08.08
|
|
|
|
|
|
|
|
* Fix compilation errors on FreeBSD and MacOS using clang
|
|
|
|
|
2023-07-29 07:53:23 +02:00
|
|
|
== Kakoune 2023.07.29
|
2023-05-08 22:46:19 +02:00
|
|
|
|
2023-06-20 03:16:00 +02:00
|
|
|
* `<a-u>` and `<a-U>` now undo/redo selection changes; the previous meaning
|
|
|
|
of moving in history tree has been moved to `<c-j>` and `<c-k>`
|
2023-06-17 09:10:05 +02:00
|
|
|
|
|
|
|
* `%exp{...}` expansions provide flexible quoting for expanded strings
|
|
|
|
(as double quoted strings)
|
|
|
|
|
|
|
|
* `<c-g>` cancels the current operation and goes back to the main event
|
|
|
|
loop, this provides an escape hatch when Kakoune seems to hang due to
|
|
|
|
a costly operation
|
|
|
|
|
|
|
|
* `show-matching -previous` highlighter will fall back onto the character
|
|
|
|
preceeding the cursor
|
2023-05-08 22:46:19 +02:00
|
|
|
|
2022-10-30 23:05:58 +01:00
|
|
|
== Kakoune 2022.10.31
|
2022-02-22 10:14:47 +01:00
|
|
|
|
2022-07-05 11:43:59 +02:00
|
|
|
* `complete-command` (See <<commands#configuring-command-completion,`:doc commands configuring-command-completion`>>)
|
2022-02-22 10:14:47 +01:00
|
|
|
|
2022-07-05 11:43:59 +02:00
|
|
|
* `p`, `P`, `!` and `<a-!>` commands now select the inserted text
|
2022-03-06 00:01:49 +01:00
|
|
|
|
2022-03-16 23:20:07 +01:00
|
|
|
* `x` now just extends the selection to contain full lines (as `<a-x>` did)
|
|
|
|
`<a-x>` trims partial lines from the selection (as `<a-X>` did)
|
|
|
|
|
2022-04-15 00:14:17 +02:00
|
|
|
* User mappings is now bound to `<space>` while keeping/removing main selection
|
|
|
|
moved to `,` and `<a-,>`
|
|
|
|
|
2022-07-29 21:04:23 +02:00
|
|
|
* Prompt history registers `%reg{colon}`, `%reg{slash}` and `%reg{pipe}` now
|
2022-07-05 11:43:59 +02:00
|
|
|
have reverse chronological order
|
|
|
|
|
2022-08-04 21:52:54 +02:00
|
|
|
* Executing user mode mappings no longer adds to prompt history registers.
|
2022-07-31 11:19:48 +02:00
|
|
|
|
2021-11-07 06:51:39 +01:00
|
|
|
== Kakoune 2021.11.07
|
|
|
|
|
|
|
|
* Support for curly and separately colored underlines (undocumented in 2021.10.28)
|
|
|
|
|
|
|
|
* Fixes for terminal flickering
|
|
|
|
|
|
|
|
* Fixes for command and response fifo corner cases
|
|
|
|
|
2021-10-28 00:13:34 +02:00
|
|
|
== Kakoune 2021.10.28
|
|
|
|
|
|
|
|
* `g` and `v` do not auto lower case the next key, so `GL` needs to be
|
|
|
|
manually mapped to `Gl` for example.
|
|
|
|
|
2021-08-28 06:07:42 +02:00
|
|
|
== Kakoune 2021.08.28
|
2020-09-09 11:38:12 +02:00
|
|
|
|
2021-07-07 11:46:47 +02:00
|
|
|
* command and response fifo support
|
|
|
|
(See <<expansions#command-and-response-fifo,`:doc expansions command-and-response-fifo`>>)
|
|
|
|
|
2021-01-03 23:48:52 +01:00
|
|
|
* Shell expansions only trim the last trailing newline instead of all of
|
|
|
|
them to make is possible to losslessly pass text through `%sh{...}`.
|
|
|
|
|
2020-12-29 01:28:13 +01:00
|
|
|
* `set-option -remove` support for subtracting/removing from option values
|
2020-09-09 11:38:12 +02:00
|
|
|
|
2020-10-19 12:01:18 +02:00
|
|
|
* Menu completions such as command name completion are now auto-inserted on
|
|
|
|
space
|
|
|
|
|
2020-10-27 10:20:18 +01:00
|
|
|
* `write -atomic` was replaced with `write -method [replace|overwrite]` to
|
2020-12-29 01:28:13 +01:00
|
|
|
make both write methods available explicitly
|
2020-10-27 10:20:18 +01:00
|
|
|
|
2021-07-20 14:45:33 +02:00
|
|
|
* `write <filename>` will fail if the given filename already exists and is
|
|
|
|
a regular file. Use the `-force` switch to override that behaviour.
|
|
|
|
|
2020-09-01 12:37:20 +02:00
|
|
|
== Kakoune 2020.09.01
|
2020-08-17 11:56:00 +02:00
|
|
|
|
2020-09-01 12:30:34 +02:00
|
|
|
* The `repl` and `send-text` aliases have been renamed respectively into
|
|
|
|
`repl-new` and `repl-send-text`.
|
|
|
|
|
2020-08-17 11:56:00 +02:00
|
|
|
* Daemon mode (`-d` switch) does not fork anymore.
|
|
|
|
|
2019-11-16 11:27:06 +01:00
|
|
|
* Replace NCursesUI with a custom terminal UI implementation
|
|
|
|
|
2020-08-04 11:13:08 +02:00
|
|
|
== Kakoune 2020.08.04
|
2020-03-01 03:28:06 +01:00
|
|
|
|
2020-07-04 05:48:10 +02:00
|
|
|
* Introduce `User` hook support.
|
|
|
|
|
2020-06-03 14:05:19 +02:00
|
|
|
* The `bold` and `italic` faces are no longer built-in. Highlighters
|
|
|
|
are expected to use face attributes (`+b` and `+i`, respectively) to
|
|
|
|
decorate text.
|
|
|
|
|
|
|
|
* The `lint-enable` command no longer needs to be called to display
|
|
|
|
linting errors. The `lint-disable` command was renamed into
|
|
|
|
`lint-hide-diagnostics`.
|
|
|
|
|
|
|
|
* The `+<length>` part of a `range-specs` highlighter consistently
|
|
|
|
refers to the length of the target range.
|
|
|
|
|
2020-05-10 12:55:15 +02:00
|
|
|
* clients stdin is transferred to the server, making it possible
|
|
|
|
to pipe into `kak -c <session>`
|
|
|
|
|
|
|
|
* Faces can have an alpha channel, specified using the
|
|
|
|
`rgba:RRGGBBAA` format.
|
|
|
|
|
2020-04-27 06:36:47 +02:00
|
|
|
* replace-ranges highlighter now support empty and multi-lines ranges
|
2020-04-06 03:13:24 +02:00
|
|
|
|
2020-05-28 18:37:26 +02:00
|
|
|
* `%val{...}` now expands to list of strings, `$kak_quoted_...` now work
|
2020-03-01 03:28:06 +01:00
|
|
|
as expected with these.
|
|
|
|
|
2020-06-07 05:46:50 +02:00
|
|
|
* `*SetOption` hooks filter string will contain a value only for options
|
|
|
|
of int/str/bool types to avoid performance issue with generating those
|
|
|
|
on more complex option types.
|
|
|
|
|
2020-08-04 11:13:08 +02:00
|
|
|
== Kakoune 2020.01.16
|
2020-01-02 11:27:16 +01:00
|
|
|
|
|
|
|
* Expose history tree through `$kak_history` and
|
|
|
|
`$kak_uncommitted_modifications`
|
|
|
|
|
2020-01-16 10:52:01 +01:00
|
|
|
* `InsertCompletionHide` parameter is the list of inserted
|
|
|
|
ranges
|
|
|
|
|
2019-12-10 11:27:48 +01:00
|
|
|
== Kakoune 2019.12.10
|
2019-09-15 11:40:38 +02:00
|
|
|
|
|
|
|
* Arrow keys and `<home>`, `<end>` are not normal mode commands
|
|
|
|
anymore but default key mappings.
|
2019-10-16 11:19:43 +02:00
|
|
|
|
|
|
|
* `ModeChange` hook parameter now takes `push:` or `pop:` prefix,
|
|
|
|
`InsertBegin`, `InsertEnd`, `NormalBegin` and `NormalEnd`
|
|
|
|
were removed.
|
2019-09-15 11:40:38 +02:00
|
|
|
|
2019-10-23 13:23:59 +02:00
|
|
|
* `-verbatim` switch in `evaluate-commands` for perfect command
|
|
|
|
forwarding to another context.
|
|
|
|
|
2019-11-07 11:09:48 +01:00
|
|
|
* `WrapMarker` face used by `wrap -marker` highlighter
|
|
|
|
|
2019-11-22 11:48:26 +01:00
|
|
|
* `info` supports markup with the `-markup` switch
|
|
|
|
|
2019-12-10 11:27:48 +01:00
|
|
|
* `rename-buffer` gained `-file` and `-scratch` switches
|
|
|
|
to support converting buffer types.
|
|
|
|
|
2019-07-01 14:07:29 +02:00
|
|
|
== Kakoune 2019.07.01
|
2019-03-21 12:03:11 +01:00
|
|
|
|
|
|
|
* Re-organized bundled script files directory hierarchy.
|
|
|
|
|
2019-04-07 01:49:43 +02:00
|
|
|
* Introduced helpers to write/read from file in scripts with
|
|
|
|
`%file{...}` expansion and `echo -to-file <filename>`.
|
|
|
|
|
2019-04-08 14:19:17 +02:00
|
|
|
* Added `ClientCreate` and `ClientClose` hooks
|
|
|
|
|
|
|
|
* `edit -scratch` with no buffer name will create a new
|
|
|
|
scratch buffer with a unique autogenerated name.
|
|
|
|
|
2019-04-15 17:50:13 +02:00
|
|
|
* `info -placement` is now `info -style` and supports
|
|
|
|
`menu` and `modal` additional styles.
|
|
|
|
|
|
|
|
* `completions` option type `docstring` are now arbitrary
|
|
|
|
kakoune commands that are run on item select.
|
|
|
|
|
|
|
|
* `InsertCompletionSelect` hook has been removed as
|
|
|
|
`completions` commands now provides a similar feature.
|
|
|
|
|
2019-03-16 09:41:30 +01:00
|
|
|
* Introduced a module system using the `provide-module` and
|
|
|
|
`require-module` commands that allows for lazily loading language
|
2019-03-15 19:52:33 +01:00
|
|
|
support files with dependency resolution.
|
|
|
|
|
2019-06-25 17:48:24 +02:00
|
|
|
* Added a new hook `ModuleLoaded` which is run after a module is
|
|
|
|
loaded, allowing for module specific configuration.
|
2019-03-15 19:52:33 +01:00
|
|
|
|
2019-06-22 09:22:21 +02:00
|
|
|
* Shell quoting of lists is not automatic anymore, `$kak_quoted_...`
|
|
|
|
makes it opt-in, and works for all option types.
|
|
|
|
|
2019-06-29 01:56:28 +02:00
|
|
|
* Lower case function key syntax is not accepted anymore,
|
|
|
|
`<f1>` should be converted to `<F1>`.
|
|
|
|
|
2019-01-20 12:52:01 +01:00
|
|
|
== Kakoune 2019.01.20
|
2018-05-19 03:05:28 +02:00
|
|
|
|
2018-11-25 13:01:02 +01:00
|
|
|
* `auto_complete` has been renamed to `autocomplete` for more
|
|
|
|
consistency.
|
|
|
|
|
2018-12-09 11:04:22 +01:00
|
|
|
* Start of a builtin key parser in the ncurses ui bypassing
|
2019-03-15 19:52:33 +01:00
|
|
|
the ncurses one. Can be favored by setting the ui option
|
2018-12-09 11:04:22 +01:00
|
|
|
`ncurses_builtin_key_parser` to `true`.
|
|
|
|
|
2018-12-25 08:50:28 +01:00
|
|
|
* Right clicks extend the current selection, the control modifier allows
|
2019-01-03 12:57:15 +01:00
|
|
|
merging all the selections after extension.
|
|
|
|
|
|
|
|
* The `regex` highlighter now supports named capture groups to
|
|
|
|
ease readability.
|
2018-12-25 08:50:28 +01:00
|
|
|
|
2018-10-27 00:26:50 +02:00
|
|
|
== Kakoune 2018.10.27
|
2018-09-12 13:24:38 +02:00
|
|
|
|
|
|
|
* `remove-hooks` <group> argument is now a regex and removes all
|
|
|
|
hooks whose group matches it.
|
|
|
|
|
2018-09-23 15:17:12 +02:00
|
|
|
* `exclusive` face attribute (e) has been replaced with more
|
|
|
|
granular `final foreground` (f), `final background` (g), and `final
|
|
|
|
attributes` (a), or the three combined as `final` (F). Semantics
|
|
|
|
changed slightly as those attributes apply to the existing face as
|
|
|
|
well (a final face will not get modified by a following face if that
|
|
|
|
following face does not have the final attribute itself.
|
|
|
|
|
2018-10-01 08:14:39 +02:00
|
|
|
* `<a-m>` aka "merge consecutive selections" has been moved to `<a-_>`.
|
|
|
|
The new `<a-m>` and `<a-M>` are now symmetrical with `m` and `M`.
|
|
|
|
Those commands select (or extend) to the matching char backwards.
|
|
|
|
|
2018-10-06 02:55:26 +02:00
|
|
|
* `define-command` switches `-shell-completion` and `-shell-candidates`
|
|
|
|
have been renamed to `-shell-script-completion` and
|
|
|
|
`-shell-script-candidates` to make way for a new `-shell-completion`
|
|
|
|
which completes like the shell (shell command name then filename).
|
|
|
|
|
2020-12-27 17:11:44 +01:00
|
|
|
* `asciidoc` is not a dependency anymore, the last file that required
|
2018-10-22 23:23:46 +02:00
|
|
|
it (Kakoune's manpage) has been converted to troff format.
|
|
|
|
|
2018-09-04 00:03:54 +02:00
|
|
|
== Kakoune 2018.09.04
|
2018-05-19 03:05:28 +02:00
|
|
|
|
2018-06-03 07:05:48 +02:00
|
|
|
This version contains a significant overhaul of various Kakoune
|
|
|
|
features that can break user configuration. This was a necessary
|
|
|
|
change to make Kakoune command model cleaner and more robust.
|
|
|
|
|
2018-05-06 23:29:52 +02:00
|
|
|
* `%sh{...}` strings are not reparsed automatically anymore, they need
|
|
|
|
to go through an explicit `evaluate-commands`
|
|
|
|
|
2018-05-19 03:05:28 +02:00
|
|
|
* The `-allow-override` switch from `define-command` has been renamed
|
|
|
|
`-override`.
|
|
|
|
|
|
|
|
* The search prompt uses buffer word completion so that fuzzy completion
|
|
|
|
can be used to quickly search for a buffer word.
|
|
|
|
|
2018-05-30 18:11:19 +02:00
|
|
|
* The `wrap` highlighter can accept a new `-marker <marker_text>` switch.
|
|
|
|
|
2018-07-05 10:00:26 +02:00
|
|
|
* The command line syntax has changed to support robust escaping.
|
|
|
|
|
|
|
|
- `%sh{...}` is not expanded to multiple tokens automatically anymore,
|
|
|
|
to evaluate its output as multiple tokens/commands, use the
|
|
|
|
`evaluate-commands` command:
|
|
|
|
|
|
|
|
-------------------------------------------------------------
|
|
|
|
evaluate-commands %sh{ echo "first command; second command" }
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
|
|
- Escaping of `'` in `'...'` and `"` and `%` in `"..."` strings is done
|
|
|
|
by doubling up (`''`, `""` and `%%`) instead of using a backslash
|
|
|
|
|
|
|
|
- Bare words escaping has been tweaked.
|
|
|
|
|
|
|
|
See <<command-parsing#,`:doc command-parsing`>>.
|
2018-06-03 07:05:48 +02:00
|
|
|
|
|
|
|
* Various lists (options, registers...) in Kakoune are now written using
|
|
|
|
the command line syntax:
|
|
|
|
|
|
|
|
- `set-register` now take an arbitrary number of parameters and sets
|
|
|
|
the register to multiple strings. `%reg` expands to a list of strings.
|
|
|
|
|
2018-07-14 15:37:42 +02:00
|
|
|
- the `$kak_reg_*` environment variable is now a list, `$kak_main_reg_*`
|
|
|
|
provides the previous behaviour.
|
|
|
|
|
2018-06-03 07:05:48 +02:00
|
|
|
- `%opt` expands list options as list of strings.
|
|
|
|
|
|
|
|
- selection descs are whitespaces separated instead of `:` separated
|
|
|
|
|
2018-06-28 13:18:23 +02:00
|
|
|
* Highlighters syntax has changed to permit explicit naming and remove
|
|
|
|
highlighter specific name parameters (such as for the group highlighter)
|
|
|
|
`add-highlighter <path>/<name> <type> <params>` is the new syntax.
|
|
|
|
|
|
|
|
* Regions highlighters have been overhauled and are now specified with
|
|
|
|
a sequence of commands instead of a single one:
|
|
|
|
|
|
|
|
------------------------------------------------------------------
|
|
|
|
add-highlighter <path>/<name> regions
|
|
|
|
add-highlighter <path>/<name>/<region name> region <begin> <end> \
|
2018-07-02 12:59:12 +02:00
|
|
|
<type> <params>
|
2018-06-28 13:18:23 +02:00
|
|
|
------------------------------------------------------------------
|
|
|
|
|
2018-07-02 12:59:12 +02:00
|
|
|
The recursion regex is opt-in through a `-recurse <recurse>` flag.
|
|
|
|
|
2018-06-28 13:18:23 +02:00
|
|
|
They also are not necessarily groups anymore, a region can directly
|
|
|
|
apply any other highlighter
|
|
|
|
|
|
|
|
See <<highlighters#,`:doc highlighters`>>
|
|
|
|
|
2018-07-08 11:11:04 +02:00
|
|
|
* Highlighter type names have been unified, types that used `_` as
|
|
|
|
word separators, such as `show_whitespaces` are now using `-`
|
|
|
|
(`show-whitespace`).
|
|
|
|
|
2018-07-04 11:42:32 +02:00
|
|
|
* `a` on end of line is not treated specially anymore, it will start
|
|
|
|
inserting on the next character, which will be the first character
|
|
|
|
of the next line.
|
|
|
|
|
2018-09-03 14:31:17 +02:00
|
|
|
* `autoshowcompl` options has been renamed `auto_complete` and is
|
2018-07-15 01:45:17 +02:00
|
|
|
now a `flags(insert|prompt)` option, allowing more granular
|
|
|
|
configuration of when the completions should be displayed
|
|
|
|
automatically.
|
|
|
|
|
2018-09-03 14:31:17 +02:00
|
|
|
* Prompt editing shortcuts have been changed to match readline.
|
|
|
|
|
2018-05-19 03:05:28 +02:00
|
|
|
== Kakoune 2018.04.13
|
|
|
|
|
|
|
|
First official Kakoune release.
|