neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

i3config.vim (23224B)


      1 " Vim syntax file
      2 " Language: i3 config file
      3 " Original Author: Josef Litos (litoj/i3config.vim)
      4 " Maintainer: Josef Litos (litoj)
      5 " Previous maintainer: Quentin Hibon (github user hiqua)
      6 " Version: 1.2.7
      7 " Last Change: 2025-12-02
      8 
      9 " References:
     10 " http://i3wm.org/docs/userguide.html#configuring
     11 " http://vimdoc.sourceforge.net/htmldoc/syntax.html
     12 "
     13 "
     14 " Quit when a syntax file was already loaded
     15 if exists("b:current_syntax")
     16  finish
     17 endif
     18 
     19 scriptencoding utf-8
     20 
     21 " Error
     22 syn match i3ConfigError /.\+/
     23 
     24 " Todo
     25 syn keyword i3ConfigTodo TODO FIXME XXX contained
     26 
     27 " Helper type definitions
     28 syn match i3ConfigSeparator /[,;\\]/ contained
     29 syn match i3ConfigParen /[{}]/ contained
     30 syn keyword i3ConfigBoolean yes no enabled disabled on off true false contained
     31 " String in simpler (matchable end) and more robust (includes `extend` keyword) forms
     32 syn cluster i3ConfigStrIn contains=i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,@i3ConfigNumVar,i3ConfigExecAction
     33 syn match i3ConfigString /\(["']\)[^\\"')\]}]*\1/ contained contains=@i3ConfigStrIn
     34 syn region i3ConfigString start=/"[^\\"')\]}]*[\\')\]}]/ skip=/\\\@<=\("\|$\)/ end=/"\|$/ contained contains=@i3ConfigStrIn keepend extend
     35 syn region i3ConfigString start=/'[^\\"')\]}]*[\\")\]}]/ skip=/\\\@<=$/ end=/'\|$/ contained contains=@i3ConfigStrIn keepend extend
     36 syn match i3ConfigColor /#[0-9A-Fa-f]\{3,8}/ contained
     37 syn match i3ConfigNumber /[0-9A-Za-z_$-]\@<!-\?\d\+\w\@!/ contained
     38 " Grouping of common usages
     39 syn cluster i3ConfigStrVar contains=i3ConfigString,i3ConfigVariable
     40 syn cluster i3ConfigNumVar contains=i3ConfigNumber,i3ConfigVariable
     41 syn cluster i3ConfigColVar contains=i3ConfigColor,i3ConfigVariable
     42 syn cluster i3ConfigIdent contains=i3ConfigString,i3ConfigNumber,i3ConfigVariable
     43 syn cluster i3ConfigValue contains=@i3ConfigIdent,i3ConfigBoolean
     44 
     45 " 4.1 Include directive
     46 syn match i3ConfigIncludeCommand /`[^`]*`/ contained contains=@i3ConfigSh
     47 syn region i3ConfigParamLine matchgroup=i3ConfigKeyword start=/include / end=/$/ contained contains=@i3ConfigStrVar,i3ConfigIncludeCommand,i3ConfigShOper keepend
     48 
     49 " 4.2 Comments
     50 syn match i3ConfigComment /#.*$/ contained contains=i3ConfigTodo
     51 
     52 " 4.3 Fonts
     53 syn match i3ConfigFontSize / \d\+\(px\)\?$/ contained
     54 syn match i3ConfigColonOperator /:/ contained
     55 syn match i3ConfigFontNamespace /\(pango\|xft\):/ contained contains=i3ConfigColonOperator
     56 syn region i3ConfigFont matchgroup=i3ConfigKeyword start=/font / skip=/\\$/ end=/$/ contained contains=i3ConfigFontNamespace,i3ConfigFontSize,i3ConfigSeparator keepend
     57 
     58 " 4.4-4.5 Keyboard/Mouse bindings
     59 syn match i3ConfigBindArgument /--\(release\|border\|whole-window\|exclude-titlebar\) / contained nextgroup=i3ConfigBindArgument,i3ConfigBindCombo
     60 syn match i3ConfigBindModifier /+/ contained
     61 syn keyword i3ConfigBindModkey Ctrl Shift Mod1 Mod2 Mod3 Mod4 Mod5 contained
     62 syn match i3ConfigBindCombo /[$0-9A-Za-z_+]\+/ contained contains=i3ConfigBindModifier,i3ConfigVariable,i3ConfigBindModkey nextgroup=i3ConfigBind
     63 syn cluster i3ConfigBinder contains=i3ConfigCriteria,@i3ConfigCommand,i3ConfigSeparator
     64 syn region i3ConfigBind start=/\zs/ skip=/\\$/ end=/$/ contained contains=@i3ConfigBinder keepend
     65 syn keyword i3ConfigBindKeyword bindsym bindcode contained skipwhite nextgroup=i3ConfigBindArgument,i3ConfigBindCombo
     66 
     67 " 4.6 Binding modes
     68 syn region i3ConfigModeBlock matchgroup=i3ConfigParen start=/{$/ end=/^\s*}$/ contained contains=i3ConfigComment,i3ConfigBindKeyword fold keepend
     69 syn match i3ConfigModeIdent /[^ ,;]\+/ contained contains=@i3ConfigStrVar extend skipwhite nextgroup=i3ConfigModeBlock
     70 syn match i3ConfigKeyword /mode\( --pango_markup\)\?/ contained contains=i3ConfigShParam skipwhite nextgroup=i3ConfigModeIdent
     71 
     72 " 4.7 Floating modifier
     73 syn match i3ConfigKeyword /floating_modifier [$A-Z][0-9A-Za-z]*$/ contained contains=i3ConfigVariable,i3ConfigBindModkey
     74 
     75 " 4.8 Floating window size
     76 syn keyword i3ConfigSizeSpecial x contained
     77 syn match i3ConfigSize /-\?\d\+ x -\?\d\+/ contained contains=i3ConfigSizeSpecial,i3ConfigNumber
     78 syn keyword i3ConfigKeyword floating_maximum_size floating_minimum_size contained skipwhite nextgroup=i3ConfigSize
     79 
     80 " 4.9 Orientation
     81 syn keyword i3ConfigOrientationOpts vertical horizontal auto contained
     82 syn keyword i3ConfigKeyword default_orientation contained skipwhite nextgroup=i3ConfigOrientationOpts
     83 
     84 " 4.10 Layout mode
     85 syn keyword i3ConfigWorkspaceLayoutOpts default stacking tabbed contained
     86 syn keyword i3ConfigKeyword workspace_layout contained skipwhite nextgroup=i3ConfigWorkspaceLayoutOpts
     87 
     88 " 4.11 Title alignment
     89 syn keyword i3ConfigTitleAlignOpts left center right contained
     90 syn keyword i3ConfigKeyword title_align contained skipwhite nextgroup=i3ConfigTitleAlignOpts
     91 
     92 " 4.12 Border size
     93 syn keyword i3ConfigBorderOpts none normal pixel contained skipwhite nextgroup=@i3ConfigNumVar
     94 syn keyword i3ConfigKeyword default_floating_border default_border contained skipwhite nextgroup=i3ConfigBorderOpts
     95 
     96 " 4.13 Hide edge borders
     97 syn keyword i3ConfigEdgeOpts none vertical horizontal both smart smart_no_gaps contained
     98 syn keyword i3ConfigKeyword hide_edge_borders contained skipwhite nextgroup=i3ConfigEdgeOpts
     99 
    100 " 4.14 Smart Borders
    101 syn keyword i3ConfigSmartBorderOpts no_gaps contained
    102 syn keyword i3ConfigKeyword smart_borders contained skipwhite nextgroup=i3ConfigSmartBorderOpts,i3ConfigBoolean
    103 
    104 " 4.15 Arbitrary commands
    105 syn keyword i3ConfigKeyword for_window contained skipwhite nextgroup=i3ConfigCriteria
    106 
    107 " 4.16 No opening focus
    108 syn keyword i3ConfigKeyword no_focus contained skipwhite nextgroup=i3ConfigCondition
    109 
    110 " 4.17 Variables
    111 syn match i3ConfigVariable /\$[0-9A-Za-z_:|[\]-]\+/
    112 syn region i3ConfigSet start=/\$/ skip=/\\$/ end=/$/ contained contains=@i3ConfigSh,@i3ConfigValue,i3ConfigColor,i3ConfigBindModkey keepend
    113 syn keyword i3ConfigKeyword set contained skipwhite nextgroup=i3ConfigSet
    114 
    115 " 4.18 X resources
    116 syn region i3ConfigParamLine matchgroup=i3ConfigKeyword start=/set_from_resource\ze \$/ end=/$/ contained contains=@i3ConfigColVar,i3ConfigDotOperator
    117 
    118 " 4.19 Assign clients to workspaces
    119 syn match i3ConfigAssignSpecial /→\|number/ contained
    120 syn region i3ConfigKeyword start=/assign / end=/$/ contained contains=i3ConfigAssignSpecial,i3ConfigCondition,@i3ConfigIdent keepend
    121 
    122 " 4.20 Executing shell commands
    123 syn region i3ConfigShCommand matchgroup=i3ConfigShDelim start=/\$(/ end=/)/ contained contains=i3ConfigExecAction,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigString,i3ConfigNumber,i3ConfigVariable extend
    124 syn match  i3ConfigShDelim /[[\]{}();`]\+/ contained
    125 syn match  i3ConfigShOper /[<>&|+=~^*!.?]\+/ contained
    126 syn match i3ConfigShParam /\s\zs-[A-Za-z-][0-9A-Za-z_-]*\>/ contained
    127 syn cluster i3ConfigSh contains=@i3ConfigIdent,i3ConfigShOper,i3ConfigShDelim,i3ConfigShParam,i3ConfigShCommand,i3ConfigComment
    128 syn region i3ConfigExec start=/ \ze[^{]/ skip=/\\$/ end=/$/ contained contains=i3ConfigExecAction,@i3ConfigSh keepend
    129 syn keyword i3ConfigKeyword exec_always exec contained nextgroup=i3ConfigExec
    130 
    131 " 4.21 Workspaces per output
    132 syn match i3ConfigOutputIdent /[^ ,;]\+/ contained contains=@i3ConfigIdent,i3ConfigColonOperator skipwhite nextgroup=i3ConfigOutputIdent extend
    133 syn keyword i3ConfigOutput output contained skipwhite nextgroup=i3ConfigOutputIdent
    134 syn match i3ConfigWorkspaceIdent /[^ ,;]\+/ contained contains=@i3ConfigIdent skipwhite nextgroup=i3ConfigGaps,i3ConfigOutput extend
    135 syn keyword i3ConfigKeyword workspace contained skipwhite nextgroup=i3ConfigWorkspaceIdent
    136 
    137 " 4.22 Changing colors
    138 syn keyword i3ConfigClientOpts focused focused_inactive focused_tab_title unfocused urgent placeholder background contained skipwhite nextgroup=i3ConfigColorSeq
    139 syn match i3ConfigDotOperator /\./ contained nextgroup=i3ConfigClientOpts
    140 syn keyword i3ConfigKeyword client contained nextgroup=i3ConfigDotOperator
    141 
    142 " 4.23 Interprocess communication
    143 syn region i3ConfigParamLine matchgroup=i3ConfigKeyword start=/ipc-socket / end=/$/ contained contains=i3ConfigNumber,i3ConfigShOper
    144 
    145 " 4.24 Focus follows mouse
    146 syn keyword i3ConfigFocusFollowsMouseOpts always contained
    147 syn keyword i3ConfigKeyword focus_follows_mouse contained skipwhite nextgroup=i3ConfigBoolean,i3ConfigFocusFollowsMouseOpts
    148 
    149 " 4.25 Mouse warping
    150 syn keyword i3ConfigMouseWarpingOpts output container none contained
    151 syn keyword i3ConfigKeyword mouse_warping contained skipwhite nextgroup=i3ConfigMouseWarpingOpts
    152 
    153 " 4.26 Popups while fullscreen
    154 syn keyword i3ConfigPopupFullscreenOpts smart ignore leave_fullscreen contained
    155 syn keyword i3ConfigPopupFullscreenOptsExtra all contained
    156 syn cluster i3ConfigPopupFullscreenOpts contains=i3ConfigPopupFullscreenOpts,i3ConfigPopupFullscreenOptsExtra
    157 syn keyword i3ConfigKeyword popup_during_fullscreen contained skipwhite nextgroup=@i3ConfigPopupFullscreenOpts
    158 
    159 " 4.27 Focus wrapping
    160 syn keyword i3ConfigFocusWrappingOpts force workspace contained
    161 syn keyword i3ConfigKeyword focus_wrapping contained skipwhite nextgroup=i3ConfigBoolean,i3ConfigFocusWrappingOpts
    162 
    163 " 4.28 Forcing Xinerama
    164 " 4.29 Automatic workspace back-and-forth
    165 " 4.32 Show marks in title
    166 syn keyword i3ConfigKeyword force_xinerama workspace_auto_back_and_forth show_marks contained skipwhite nextgroup=i3ConfigBoolean
    167 
    168 " 4.30 Delay urgency hint
    169 syn match i3ConfigTimeUnit / \d\+\( ms\)\?$/ contained contains=i3ConfigNumber
    170 syn keyword i3ConfigKeyword force_display_urgency_hint contained nextgroup=i3ConfigTimeUnit
    171 
    172 " 4.31 Focus on window activation
    173 syn keyword i3ConfigFocusOnActivationOpts smart urgent focus none contained
    174 syn keyword i3ConfigKeyword focus_on_window_activation contained skipwhite nextgroup=i3ConfigFocusOnActivationOpts
    175 
    176 " 4.34 Tiling drag
    177 syn keyword i3ConfigTilingDragOpts modifier titlebar contained skipwhite nextgroup=i3ConfigTilingDragOpts
    178 syn keyword i3ConfigKeyword tiling_drag contained skipwhite nextgroup=i3ConfigTilingDragOpts,i3ConfigBoolean
    179 
    180 " 4.35 Gaps (+6.24)
    181 syn keyword i3ConfigGapsWhich inner outer horizontal vertical left right top bottom contained skipwhite nextgroup=i3ConfigGapsWhere,@i3ConfigNumVar
    182 syn keyword i3ConfigGapsWhere current all contained skipwhite nextgroup=i3ConfigGapsOper
    183 syn keyword i3ConfigGapsOper set plus minus toggle contained skipwhite nextgroup=@i3ConfigNumVar
    184 syn match i3ConfigGaps /gaps/ contained contains=i3ConfigCommand skipwhite nextgroup=i3ConfigGapsWhich
    185 syn keyword i3ConfigCommand gaps contained skipwhite nextgroup=i3ConfigGapsWhich
    186 
    187 syn keyword i3ConfigSmartGapOpts inverse_outer toggle contained
    188 syn keyword i3ConfigKeyword smart_gaps contained skipwhite nextgroup=i3ConfigSmartGapOpts,i3ConfigBoolean
    189 
    190 " 5 Configuring bar
    191 syn keyword i3ConfigBarOpts modifier contained skipwhite nextgroup=i3ConfigBindCombo,i3ConfigBarOptVals
    192 syn keyword i3ConfigBarOpts i3bar_command status_command workspace_command contained skipwhite nextgroup=@i3ConfigSh
    193 syn keyword i3ConfigBarOpts mode hidden_state id position output tray_output tray_padding separator_symbol workspace_buttons workspace_min_width strip_workspace_numbers strip_workspace_name binding_mode_indicator padding contained skipwhite nextgroup=i3ConfigBarOptVals,@i3ConfigValue,i3ConfigShOper
    194 syn keyword i3ConfigBarOptVals dock hide invisible show none top bottom primary nonprimary contained
    195 
    196 syn region i3ConfigBarBlock matchgroup=i3ConfigParen start=/ {$/ end=/^\s*}$/ contained contains=i3ConfigBarOpts,i3ConfigComment,i3ConfigBindKeyword,i3ConfigColorsBlock,i3ConfigFont fold keepend
    197 syn keyword i3ConfigKeyword bar contained nextgroup=i3ConfigBarBlock
    198 
    199 " 5.16 Color block
    200 syn match i3ConfigColorSeq /#[0-9A-Fa-f]\{3,8}\|\$[0-9A-Za-z_:|[\]-]\+/ contained contains=@i3ConfigColVar skipwhite nextgroup=i3ConfigColorSeq
    201 syn keyword i3ConfigColorsOpts background statusline separator contained skipwhite nextgroup=@i3ConfigColVar
    202 syn match i3ConfigColorsOpts /focused_\(background\|statusline\|separator\)\|\(focused\|active\|inactive\|urgent\)_workspace\|binding_mode/ contained skipwhite nextgroup=i3ConfigColorSeq
    203 syn region i3ConfigColorsBlock matchgroup=i3ConfigKeyword start=/^\s\+colors \ze{$/ end=/^\s\+}\zs$/ contained contains=i3ConfigColorsOpts,i3ConfigComment,i3ConfigParen fold keepend extend
    204 
    205 " 6.0 Command criteria
    206 syn keyword i3ConfigConditionProp class instance window_role window_type machine id title urgent workspace con_mark con_id floating_from tiling_from contained
    207 syn keyword i3ConfigConditionSpecial __focused__ all floating tiling contained
    208 syn region i3ConfigCondition matchgroup=i3ConfigShDelim start=/\[/ end=/\]/ contained contains=i3ConfigConditionProp,i3ConfigShOper,i3ConfigConditionSpecial,@i3ConfigIdent keepend extend
    209 syn region i3ConfigCriteria start=/\[/ skip=/\\$/ end=/\(;\|$\)/ contained contains=i3ConfigCondition,@i3ConfigCommand,i3ConfigSeparator keepend transparent
    210 
    211 " 6.1 Actions through shell
    212 syn match i3ConfigExecActionKeyword /i3-msg/ contained
    213 syn cluster i3ConfigExecActionVal contains=i3ConfigExecActionKeyword,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,@i3ConfigNumVar
    214 syn region i3ConfigExecAction start=/[a-z3-]\+msg "/ skip=/ "\|\\$/ end=/"\|$/ contained contains=i3ConfigExecActionKeyword,@i3ConfigExecActionVal keepend extend
    215 syn region i3ConfigExecAction start=/[a-z3-]\+msg '/ skip=/ '\|\\$/ end=/'\|$/ contained contains=i3ConfigExecActionKeyword,@i3ConfigExecActionVal keepend extend
    216 syn region i3ConfigExecAction start=/[a-z3-]\+msg ['"-]\@!/ skip=/\\$/ end=/[&|;})'"]\@=\|$/ contained contains=i3ConfigExecActionKeyword,@i3ConfigExecActionVal keepend extend
    217 " 6.1 Executing applications (4.20)
    218 syn region i3ConfigAction matchgroup=i3ConfigCommand start=/exec / skip=/\\$/ end=/\ze[,;]\|$/ contained contains=i3ConfigExecAction,@i3ConfigSh keepend
    219 
    220 " 6.3 Manipulating layout
    221 syn keyword i3ConfigLayoutOpts default tabbed stacking splitv splith toggle split all contained
    222 syn region i3ConfigAction matchgroup=i3ConfigCommand start=/layout / skip=/\\$/ end=/\ze[,;]\|$/ contained contains=i3ConfigLayoutOpts keepend transparent
    223 
    224 " 6.4 Focusing containers
    225 syn keyword i3ConfigFocusOpts left right up down parent child next prev sibling floating tiling mode_toggle contained
    226 syn keyword i3ConfigOutputDir left right down up current primary nonprimary next prev contained skipwhite
    227 syn keyword i3ConfigFocusOutput output contained skipwhite nextgroup=i3ConfigOutputIdent,i3ConfigOutputDir
    228 syn keyword i3ConfigActionKeyword focus contained skipwhite nextgroup=i3ConfigFocusOpts,i3ConfigFocusOutput
    229 syn keyword i3ConfigKeyword focus skipwhite contained nextgroup=i3ConfigFocusOutput
    230 
    231 " 6.8 Focusing workspaces (4.21)
    232 syn keyword i3ConfigWorkspaceDir prev next back_and_forth contained
    233 syn keyword i3ConfigWorkspaceDir number contained skipwhite nextgroup=i3ConfigWorkspaceIdent
    234 syn keyword i3ConfigActionKeyword workspace contained skipwhite nextgroup=i3ConfigWorkspaceDir,i3ConfigWorkspaceIdent
    235 
    236 " 6.8.2 Renaming workspaces
    237 syn region i3ConfigWorkspaceFromTo start=/workspace\( .*\)\? to/ end=/\ze[,;]\|$/ contained contains=i3ConfigMoveType,@i3ConfigWorkspaceIdent keepend transparent
    238 syn keyword i3ConfigActionKeyword rename contained skipwhite nextgroup=i3ConfigWorkspaceFromTo
    239 
    240 " 6.5,6.9-6.11 Moving containers
    241 syn match i3ConfigUnit /-\?\d\+\( px\| ppt\)\?/ contained contains=i3ConfigNumber skipwhite nextgroup=i3ConfigUnit,i3ConfigResizeExtra
    242 syn keyword i3ConfigMoveDir left right down up position contained skipwhite nextgroup=i3ConfigUnit
    243 syn match i3ConfigMoveDir /position \(mouse\|center\)/ contained
    244 syn keyword i3ConfigMoveDir absolute contained skipwhite nextgroup=i3ConfigMoveDir
    245 syn keyword i3ConfigMoveDir absolute contained
    246 
    247 syn keyword i3ConfigMoveType mark contained skipwhite nextgroup=i3ConfigOutputIdent
    248 syn keyword i3ConfigMoveType scratchpad contained
    249 syn keyword i3ConfigMoveType output contained skipwhite nextgroup=i3ConfigOutputIdent,i3ConfigOutputDir
    250 syn keyword i3ConfigMoveType workspace contained skipwhite nextgroup=i3ConfigMoveType,i3ConfigWorkspaceIdent,i3ConfigWorkspaceDir
    251 syn keyword i3ConfigMoveType window container contained skipwhite nextgroup=i3ConfigMoveType
    252 syn keyword i3ConfigMoveTo to contained
    253 syn match i3ConfigMoveType /to/ contained contains=i3ConfigMoveTo skipwhite nextgroup=i3ConfigMoveType
    254 syn match i3ConfigActionKeyword /move\( --no-auto-back-and-forth\)\?/ contained contains=i3ConfigShParam skipwhite nextgroup=i3ConfigMoveType,i3ConfigMoveDir
    255 
    256 " 6.12 Resizing containers/windows
    257 syn keyword i3ConfigResizeExtra or height contained skipwhite nextgroup=i3ConfigUnit
    258 syn keyword i3ConfigResizeDir up down left right width height contained skipwhite nextgroup=i3ConfigUnit
    259 syn keyword i3ConfigResizeType grow shrink contained skipwhite nextgroup=i3ConfigResizeDir
    260 syn keyword i3ConfigResizeType set contained skipwhite nextgroup=i3ConfigResizeDir,i3ConfigUnit
    261 syn keyword i3ConfigActionKeyword resize contained skipwhite nextgroup=i3ConfigResizeType
    262 
    263 " 6.14 VIM-like marks
    264 syn match i3ConfigMarkOpt /--\(add\|replace\)\( --toggle\)\?/ contained contains=i3ConfigShParam skipwhite nextgroup=i3ConfigOutputIdent
    265 syn keyword i3ConfigActionKeyword mark contained skipwhite nextgroup=i3ConfigMarkOpt,i3ConfigOutputIdent
    266 
    267 " Commands usable for direct config calls - for enforcing start of line for Commands
    268 syn match i3ConfigTopLevelDirective /^\s*/ nextgroup=i3ConfigComment,i3ConfigKeyword,i3ConfigCommand,i3ConfigBindKeyword,i3ConfigParamLine,i3ConfigFont,i3ConfigError
    269 
    270 " Commands usable in keybinds
    271 syn keyword i3ConfigActionKeyword mode append_layout kill open fullscreen sticky split floating swap unmark title_window_icon title_format border restart reload exit scratchpad nop bar contained skipwhite nextgroup=i3ConfigOption,@i3ConfigValue
    272 syn keyword i3ConfigOption default enable disable toggle key restore current horizontal vertical auto none normal pixel show container with id con_id padding hidden_state hide dock invisible contained skipwhite nextgroup=i3ConfigOption,@i3ConfigValue
    273 " Commands usable at runtime (outside loading config)
    274 syn cluster i3ConfigCommand contains=i3ConfigCommand,i3ConfigAction,i3ConfigActionKeyword,@i3ConfigValue,i3ConfigColor
    275 
    276 " Define the highlighting.
    277 hi def link i3ConfigError                           Error
    278 hi def link i3ConfigTodo                            Todo
    279 hi def link i3ConfigKeyword                         Keyword
    280 hi def link i3ConfigCommand                         Statement
    281 hi def link i3ConfigParamLine                       i3ConfigString
    282 hi def link i3ConfigOperator                        Operator
    283 hi def link i3ConfigSeparator                       i3ConfigOperator
    284 hi def link i3ConfigParen                           Delimiter
    285 hi def link i3ConfigBoolean                         Boolean
    286 hi def link i3ConfigString                          String
    287 hi def link i3ConfigColor                           Constant
    288 hi def link i3ConfigNumber                          Number
    289 hi def link i3ConfigIdent                           Identifier
    290 hi def link i3ConfigComment                         Comment
    291 hi def link i3ConfigColonOperator                   i3ConfigOperator
    292 hi def link i3ConfigFontNamespace                   i3ConfigOption
    293 hi def link i3ConfigFontSize                        i3ConfigNumber
    294 hi def link i3ConfigFont                            i3ConfigParamLine
    295 hi def link i3ConfigBindArgument                    i3ConfigShParam
    296 hi def link i3ConfigBindModifier                    i3ConfigOperator
    297 hi def link i3ConfigBindModkey                      Special
    298 hi def link i3ConfigBindCombo                       SpecialChar
    299 hi def link i3ConfigBindKeyword                     i3ConfigKeyword
    300 hi def link i3ConfigModeIdent                       i3ConfigIdent
    301 hi def link i3ConfigSizeSpecial                     i3ConfigOperator
    302 hi def link i3ConfigOrientationOpts                 i3ConfigOption
    303 hi def link i3ConfigWorkspaceLayoutOpts             i3ConfigOption
    304 hi def link i3ConfigTitleAlignOpts                  i3ConfigOption
    305 hi def link i3ConfigBorderOpts                      i3ConfigOption
    306 hi def link i3ConfigEdgeOpts                        i3ConfigOption
    307 hi def link i3ConfigSmartBorderOpts                 i3ConfigOption
    308 hi def link i3ConfigVariable                        Variable
    309 hi def link i3ConfigAssignSpecial                   i3ConfigOption
    310 hi def link i3ConfigShParam                         PreProc
    311 hi def link i3ConfigShDelim                         Delimiter
    312 hi def link i3ConfigShOper                          Operator
    313 hi def link i3ConfigShCommand                       Normal
    314 hi def link i3ConfigOutputIdent                     i3ConfigIdent
    315 hi def link i3ConfigOutput                          i3ConfigMoveType
    316 hi def link i3ConfigWorkspaceIdent                  i3ConfigIdent
    317 hi def link i3ConfigDotOperator                     i3ConfigOperator
    318 hi def link i3ConfigClientOpts                      i3ConfigOption
    319 hi def link i3ConfigFocusFollowsMouseOpts           i3ConfigOption
    320 hi def link i3ConfigMouseWarpingOpts                i3ConfigOption
    321 hi def link i3ConfigPopupFullscreenOpts             i3ConfigOption
    322 hi def link i3ConfigPopupFullscreenOptsExtra        i3ConfigPopupFullscreenOpts
    323 hi def link i3ConfigFocusWrappingOpts               i3ConfigOption
    324 hi def link i3ConfigTimeUnit                        i3ConfigNumber
    325 hi def link i3ConfigFocusOnActivationOpts           i3ConfigOption
    326 hi def link i3ConfigTilingDragOpts                  i3ConfigOption
    327 hi def link i3ConfigGapsWhich                       i3ConfigOption
    328 hi def link i3ConfigGapsWhere                       i3ConfigOption
    329 hi def link i3ConfigGapsOper                        i3ConfigOption
    330 hi def link i3ConfigSmartGapOpts                    i3ConfigOption
    331 hi def link i3ConfigBarModifier                     i3ConfigKeyword
    332 hi def link i3ConfigBarOpts                         i3ConfigKeyword
    333 hi def link i3ConfigBarOptVals                      i3ConfigOption
    334 hi def link i3ConfigColorsOpts                      i3ConfigOption
    335 hi def link i3ConfigConditionProp                   i3ConfigShParam
    336 hi def link i3ConfigConditionSpecial                Constant
    337 hi def link i3ConfigExecActionKeyword               i3ConfigShCommand
    338 hi def link i3ConfigExecAction                      i3ConfigString
    339 hi def link i3ConfigLayoutOpts                      i3ConfigOption
    340 hi def link i3ConfigFocusOpts                       i3ConfigOption
    341 hi def link i3ConfigOutputDir                       i3ConfigOption
    342 hi def link i3ConfigFocusOutput                     i3ConfigOutput
    343 hi def link i3ConfigWorkspaceDir                    i3ConfigOption
    344 hi def link i3ConfigMoveDir                         i3ConfigOption
    345 hi def link i3ConfigMoveType                        Constant
    346 hi def link i3ConfigMoveTo                          i3ConfigOption
    347 hi def link i3ConfigUnit                            i3ConfigNumber
    348 hi def link i3ConfigResizeExtra                     i3ConfigOption
    349 hi def link i3ConfigResizeDir                       i3ConfigOption
    350 hi def link i3ConfigResizeType                      i3ConfigOption
    351 hi def link i3ConfigMark                            i3ConfigCommand
    352 hi def link i3ConfigMarkOpt                         i3ConfigOption
    353 hi def link i3ConfigActionKeyword                   i3ConfigCommand
    354 hi def link i3ConfigOption                          Type
    355 
    356 let b:current_syntax = "i3config"