Skip to content

v2018.09.04

Compare
Choose a tag to compare
@mawww mawww released this 03 Sep 22:31
· 3737 commits to master since this release

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.

  • %sh{...} strings are not reparsed automatically anymore, they need to go through an explicit evaluate-commands

  • 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.

  • The wrap highlighter can accept a new -marker <marker_text> switch.

  • 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 :doc command-parsing.

  • 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.

    • the $kak_reg_* environment variable is now a list, $kak_main_reg_* provides the previous behaviour.

    • %opt expands list options as list of strings.

    • selection descs are whitespaces separated instead of : separated

  • 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> \
  <type> <params>

The recursion regex is opt-in through a -recurse <recurse> flag.

They also are not necessarily groups anymore, a region can directly apply any other highlighter

See :doc highlighters

  • Highlighter type names have been unified, types that used _ as word separators, such as show_whitespaces are now using - (show-whitespace).

  • 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.

  • autoshowcompl options has been renamed auto_complete and is now a flags(insert|prompt) option, allowing more granular configuration of when the completions should be displayed automatically.

  • Prompt editing shortcuts have been changed to match readline.