anchor.diff:  Commands
   --------
   
  -When pressing +:+ in normal mode, Kakoune will open a prompt to enter a command.
  +When pressing `:` in normal mode, Kakoune will open a prompt to enter a command.
   
   Commands are used for non editing tasks, such as opening a buffer, writing the
   current one, quitting, etc...
  
positive.code: 
  Kakoune support three string syntax:
   
   * +\'strings\'+: uninterpreted strings, you can use \' to escape the separator,
       every other char is itself.
  
   * +"strings"+: expanded strings, % strings (see %sh, %opt or %reg) contained
       are expended. Use \% to escape a % inside them, and \\ to escape a slash.
  
   * +%\{strings\}+: these strings are very useful when entering commands
  
     - the '{' and '}' delimiter are configurable: you can use any non
       alphanumeric character. like %[string], %<string>, %(string), %~string~
       or %!string!...
     - if the character following the % is one of {[(<, then the closing one is
       the matching }])> and the delimiters are not escapable but are nestable.
       for example +%{ roger {}; }+ is a valid string, +%{ marcel \}+ as well.
  
  Expansions
  ^^^^^^^^^^
  
  A special kind of +%\{strings\}+ can be used, with a type between
  +%+ and the opening delimiter (which cannot be alphanumeric). These
  strings are expanded according to their type.
  
  For example +%opt{autoinfo}+ is of type 'opt'. opt expansions are replaced
  by the value of the given option (here +autoinfo+).
  
  Supported types are:
  
   * +sh+: shell expansion, similar to posix shell $(...) construct, see the
       Shell expansion section for more details.
   * +reg+: register expansion, will be replaced by the content of the given
       register.
   * +opt+: option expansion, will be replaced with the value of the given
       option
   * +val+: value expansion, gives access to the environment variable available
       to the Shell expansion. The +kak_+ prefix is not used there.
  
  for example you can display last search pattern with
  
  
negative.code: 
  Writing a file never uses the window options for example, so any
  options related to writing wont be taken into account if set in the
  window scope (`BOM` or `eolformat` for example).
  
  New options can be declared using the `:decl` command:
  
  ---------------------------------------
  :decl [-hidden] <type> <name> [<value>]
  ---------------------------------------
  
  the `-hidden` parameter makes the option invisible in completion, but
  still modifiable.
  
  Some options are built in Kakoune, and can be used to control it's behaviour:
  
   * `tabstop` _int_: width of a tab character.
   * `indentwidth` _int_: width (in spaces) used for indentation.
     0 means a tab character.
   * `scrolloff` _coord_: number of lines,columns to keep visible around
     the cursor when scrolling.
   * `eolformat` _string_ ('lf' or 'crlf'): the format of end of lines when
     writing a buffer, this is autodetected on load.
   * `BOM` _string_ ("no" or "utf-8"): define if the file should be written
     with an unicode byte order mark.
   * `complete_prefix` _bool_: when completing in command line, and multiple
     candidates exist, enable completion with common prefix.
   * `incsearch` _bool_: execute search as it is typed
   * `aligntab` _bool_: use tabs for alignement command
   * `autoinfo` _bool_: display automatic information box for certain commands.
   * `autoshowcompl` _bool_: automatically display possible completions when
     editing a prompt.
   * `ignored_files` _regex_: filenames matching this regex wont be considered
     as candidates on filename completion (except if the text being completed
     already matches it).
   * `disabled_hooks` _regex_: hooks whose group matches this regex wont be
     executed. For example indentation hooks can be disabled with '.*-indent'. 
   * `filetype` _str_: arbitrary string defining the type of the file
     filetype dependant actions should hook on this option changing for
     activation/deactivation.
   * `path` _str-list_: directories to search for gf command.
   * `completers` _str-list_: completion systems to use for insert mode
     completion. given completers are tried in order until one generate some
     completion candidates. Existing completers are:
     - `word=all` or `word=buffer` which complete using words in all buffers
       (`word=all`) or only the current one (`word=buffer`)
     - `filename` which tries to detect when a filename is being entered and
       provides completion based on local filesystem.
     - `option=<opt-name>` where <opt-name> is a _str-list_ option. The first
       element of the list should follow the format:
       _<line>.<column>[+<length>]@<timestamp>_ to define where the completion
       apply in the buffer, and the other strings are the candidates.
   * `autoreload` _yesnoask_: auto reload the buffers when an external
     modification is detected.
   * `ui_options`: colon separated list of key=value pairs that are forwarded to
     the user interface implementation. The NCurses UI support the following option:
     - `ncurses_status_on_top`: if `yes`, or `true` the status line will be placed
       at the top of the terminal rather than at the bottom.
  
  Faces
  