anchor.diff:  addhl -group <name>/<subname> <type> <params>...
   ------------------------------------------------
   
  -Region highlighters
  -~~~~~~~~~~~~~~~~~~~
  -
  -The +region+ highlighters takes 3 to 4 parameters:
  -
  ----------------------------------------------------
  -addhl region <name> <opening> <closing> [<recurse>]
  ----------------------------------------------------
  -
  -+name+ is user defined, but +opening+, +closing+ and +recurse+ are regexes.
  +Regions highlighters
  +~~~~~~~~~~~~~~~~~~~~
  +
  +A special highlighter provide a way to segment the buffer into regions, which are
  +to be highlighted differently.
  +
  +A region is defined by 4 parametes:
  +
  +------------------------------------
  +<name> <opening> <closing> <recurse>
  +------------------------------------
  +
  ++name+ is user defined, +opening+, +closing+ and +recurse+ are regexes.
   
    * +opening+ defines the region start text
    * +closing+ defines the region end text
  
positive.code:  * +show_matching+: highlight matching char of the character under the selections
         cursor using +MatchingChar+ face.
   * +number_lines+: show line numbers
   * +fill <face>+: fill using given face, mostly useful with region highlighters
         (see below)
  
  Highlighting Groups
  
negative.code: construct in kakoune accept nested +{ ... }+ so +%sh{ ... { ... } ... }+ is valid.
  this region can be defined with:
  
  ------------------------
  shell_expand %sh\{ \} \{
  ------------------------
  
  Regions are used in the +regions+ highlighter which can take any number
  of regions.
  
  -----------------------------------------------------------------------
  addhl regions <name> <region_name1> <opening1> <closing1> <recurse1>  \
                       <region_name2> <opening2> <closing2> <recurse2>...
  -----------------------------------------------------------------------
  
  defines multiple regions in which other highlighters can be added
  
  