runtime(i3config): update i3config syntax (#13191)

Commit: 
https://github.com/vim/vim/commit/02774f99cebcb890d3861febc1d03e75c02cc92d
Author: Josef Litoš <54900518+josefli...@users.noreply.github.com>
Date:   Wed Sep 27 18:57:24 2023 +0200

    runtime(i3config): update i3config syntax 
(https://github.com/vim/vim/issues/13191)
    
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/i3config.vim b/runtime/syntax/i3config.vim
index 8bc2a6e03..3b4765153 100644
--- a/runtime/syntax/i3config.vim
+++ b/runtime/syntax/i3config.vim
@@ -1,10 +1,9 @@
 " Vim syntax file
 " Language: i3 config file
-" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
+" Original Author: Josef Litos (JosefLitos/i3config.vim)
 " Maintainer: Quentin Hibon (github user hiqua)
-" Version: 0.4.22
-" Reference version (JosefLitos/i3config.vim): 4.22
-" Last Change: 2023-09-12
+" Version: 1.0.0
+" Last Change: 2023-09-14
 
 " References:
 " http://i3wm.org/docs/userguide.html#configuring
@@ -25,18 +24,18 @@ syn match i3ConfigError /.\+/
 syn keyword i3ConfigTodo TODO FIXME XXX contained
 
 " Helper type definitions
-syn match i3ConfigSeparator /[,;]/ contained
+syn match i3ConfigSeparator /[,;\]/ contained
 syn match i3ConfigParen /[{}]/ contained
 syn keyword i3ConfigBoolean yes no enabled disabled on off true false contained
-syn region i3ConfigString start=/\W\@<="/ skip=/\"/ end=/"/ contained 
contains=i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigVariable,i3ConfigExecAction
 keepend extend
-syn region i3ConfigString start=/\W\@<='/ end=/'/ contained 
contains=i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigVariable,i3ConfigExecAction
 keepend extend
-syn match i3ConfigColor /#\w\{3,8}/ contained
-syn match i3ConfigNumber /[a-zA-Z_$-]\@<!-\?\d\+\w\@!/ contained
+syn region i3ConfigString start=/\W\@<="/ skip=/\\("\|$\)/ end=/"\|$/ 
contained 
contains=i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigVariable,i3ConfigExecAction
 keepend extend
+syn region i3ConfigString start=/\W\@<='/ skip=/\$/ end=/'\|$/ contained 
contains=i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigVariable,i3ConfigExecAction
 keepend extend
+syn match i3ConfigColor /#[0-9A-Fa-f]\{3,8}/ contained
+syn match i3ConfigNumber /[0-9A-Za-z_$-]\@<!-\?\d\+\w\@!/ contained
 
 " 4.1 Include directive
 syn keyword i3ConfigIncludeKeyword include contained
-syn match i3ConfigIncludeCommand /`[^`]*`/ contained 
contains=i3ConfigShDelim,i3ConfigShParam,i3ConfigShOper,i3ConfigShCommand
-syn match i3ConfigInclude /^include .*$/ 
contains=i3ConfigIncludeKeyword,i3ConfigString,i3ConfigVariable,i3ConfigIncludeCommand
+syn match i3ConfigIncludeCommand /`[^`]*`/ contained 
contains=i3ConfigShDelim,i3ConfigShParam,i3ConfigShOper,i3ConfigShCommand,i3ConfigString
+syn match i3ConfigParamLine /^include .*$/ 
contains=i3ConfigIncludeKeyword,i3ConfigString,i3ConfigVariable,i3ConfigIncludeCommand,i3ConfigShOper
 
 " 4.2 Comments
 syn match i3ConfigComment /^\s*#.*$/ contains=i3ConfigTodo
@@ -45,23 +44,23 @@ syn match i3ConfigComment /^\s*#.*$/ contains=i3ConfigTodo
 syn keyword i3ConfigFontKeyword font contained
 syn match i3ConfigColonOperator /:/ contained
 syn match i3ConfigFontNamespace /\w\+:/ contained 
contains=i3ConfigColonOperator
-syn match i3ConfigFontSize /\s\=\d\+\(px\)\?\s\?$/ contained
+syn match i3ConfigFontSize / \d\+\(px\)\?\s\?$/ contained
 syn region i3ConfigFont start=/^\s*font / skip=/\$/ end=/$/ 
contains=i3ConfigFontKeyword,i3ConfigFontNamespace,i3ConfigFontSize,i3ConfigSeparator
 keepend
 
 " 4.4-4.5 Keyboard/Mouse bindings
 syn keyword i3ConfigBindKeyword bindsym bindcode contained
 syn match i3ConfigBindArgument 
/--\(release\|border\|whole-window\|exclude-titlebar\)/ contained
 syn match i3ConfigBindModifier /+/ contained
-syn match i3ConfigBindModkey /Ctrl\|Shift\|Mod[1-5]/ contained
-syn match i3ConfigBindCombo /[$a-zA-Z0-9_+]\+ / contained 
contains=i3ConfigBindModifier,i3ConfigVariable,i3ConfigBindModkey
-syn match i3ConfigBindComboLine /bind\(sym\|code\)\( --[a-z-]\+\)* 
[$a-zA-Z0-9_+]\+ / contained 
contains=i3ConfigBindKeyword,i3ConfigBindArgument,i3ConfigBindCombo
+syn keyword i3ConfigBindModkey Ctrl Shift Mod1 Mod2 Mod3 Mod4 Mod5 contained
+syn match i3ConfigBindCombo /[$0-9A-Za-z_+]\+ / contained 
contains=i3ConfigBindModifier,i3ConfigVariable,i3ConfigBindModkey
+syn match i3ConfigBindComboLine /bind\(sym\|code\)\( --[a-z-]\+\)* 
[$0-9A-Za-z_+]\+ / contained 
contains=i3ConfigBindKeyword,i3ConfigBindArgument,i3ConfigBindCombo
 syn region i3ConfigBind start=/^\s*bind\(sym\|code\) / skip=/\$/ end=/$/ 
contains=i3ConfigBindComboLine,i3ConfigCriteria,i3ConfigAction,i3ConfigSeparator,i3ConfigActionKeyword,i3ConfigOption,i3ConfigString,i3ConfigNumber,i3ConfigVariable,i3ConfigBoolean
 keepend
 
 " 4.6 Binding modes
 syn region i3ConfigKeyword start=/^mode\( --pango_markup\)\? \([^'" 
{]\+\|'[^']\+'\|".\+"\)\s\+{$/ end=/^\s*}$/ 
contains=i3ConfigShParam,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigNumber,i3ConfigParen,i3ConfigVariable
 fold keepend extend
 
 " 4.7 Floating modifier
-syn match i3ConfigKeyword /^floating_modifier [$a-zA-Z0-9+]\+$/ 
contains=i3ConfigVariable,i3ConfigBindModkey
+syn match i3ConfigKeyword /^floating_modifier [$0-9A-Za-z]*$/ 
contains=i3ConfigVariable,i3ConfigBindModkey
 
 " 4.8 Floating window size
 syn keyword i3ConfigSizeSpecial x contained
@@ -86,47 +85,46 @@ syn match i3ConfigKeyword /^default\(_floating\)\?_border 
.*$/ contains=i3Config
 
 " 4.13 Hide edge borders
 syn keyword i3ConfigEdgeOpts none vertical horizontal both smart smart_no_gaps 
contained
-syn match i3ConfigKeyword /^hide_edge_borders \w\+$/ contains=i3ConfigEdgeOpts
+syn match i3ConfigKeyword /^hide_edge_borders \w*$/ contains=i3ConfigEdgeOpts
 
 " 4.14 Smart Borders
 syn keyword i3ConfigSmartBorderOpts no_gaps contained
 syn match i3ConfigKeyword /^smart_borders \(on\|off\|no_gaps\)$/ 
contains=i3ConfigSmartBorderOpts,i3ConfigBoolean
 
 " 4.15 Arbitrary commands
-syn keyword i3ConfigForWindowKeyword for_window contained
-syn region i3ConfigForWindow start=/^for_window / end=/$/ 
contains=i3ConfigForWindowKeyword,i3ConfigCriteria keepend
+syn region i3ConfigKeyword start=/^for_window / end=/$/ 
contains=i3ConfigForWindowKeyword,i3ConfigCriteria keepend
 
 " 4.16 No opening focus
 syn match i3ConfigKeyword /^no_focus .*$/ contains=i3ConfigCondition
 
 " 4.17 Variables
-syn match i3ConfigVariable /\$[A-Z0-9a-z_:|[\]-]\+/
+syn match i3ConfigVariable /\$[0-9A-Za-z_:|[\]-]\+/
 syn keyword i3ConfigSetKeyword set contained
-syn match i3ConfigSet /^set \$.*$/ 
contains=i3ConfigVariable,i3ConfigSetKeyword,i3ConfigColor,i3ConfigString,i3ConfigNoStartupId,i3ConfigNumber,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShParam,i3ConfigShOper
+syn match i3ConfigSet /^set \$.*$/ 
contains=i3ConfigSetKeyword,i3ConfigVariable,i3ConfigColor,i3ConfigString,i3ConfigNumber,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShParam,i3ConfigShOper,i3ConfigBindModkey
 
 " 4.18 X resources
 syn keyword i3ConfigResourceKeyword set_from_resource contained
-syn match i3ConfigResource /^set_from_resource\s\+.*$/ 
contains=i3ConfigResourceKeyword,i3ConfigCondition,i3ConfigColor,i3ConfigVariable,i3ConfigString,i3ConfigNumber
+syn match i3ConfigParamLine /^set_from_resource\s\+.*$/ 
contains=i3ConfigResourceKeyword,i3ConfigCondition,i3ConfigColor,i3ConfigVariable,i3ConfigString,i3ConfigNumber
 
 " 4.19 Assign clients to workspaces
 syn keyword i3ConfigAssignKeyword assign contained
-syn match i3ConfigAssignSpecial /→/ contained
+syn match i3ConfigAssignSpecial /→\|number/ contained
 syn match i3ConfigAssign /^assign .*$/ 
contains=i3ConfigAssignKeyword,i3ConfigAssignSpecial,i3ConfigCondition,i3ConfigVariable,i3ConfigString,i3ConfigNumber
 
 " 4.20 Executing shell commands
 syn keyword i3ConfigExecKeyword exec contained
 syn keyword i3ConfigExecAlwaysKeyword exec_always contained
 syn match i3ConfigShCmdDelim /\$(/ contained
-syn region i3ConfigShCommand start=/\$(/ end=/)/ contained 
contains=i3ConfigShCmdDelim,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigString,i3ConfigNumber,i3ConfigVariable
 keepend extend
+syn region i3ConfigShCommand start=/\$(/ end=/)/ contained 
contains=i3ConfigShCmdDelim,i3ConfigExecAction,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigString,i3ConfigNumber,i3ConfigVariable
 keepend extend
 syn match  i3ConfigShDelim /[[\]{}();`]\+/ contained
 syn match  i3ConfigShOper /[<>&|+=~^*!.?]\+/ contained
-syn match i3ConfigShParam /\<-[a-zA-Z0-9_-]\+\>/ contained 
containedin=i3ConfigVar
+syn match i3ConfigShParam /\<-[0-9A-Za-z_-]\+\>/ contained 
containedin=i3ConfigVar
 syn region i3ConfigExec start=/^\s*exec\(_always\)\?\( --no-startup-id\)\? 
[^{]/ skip=/\$/ end=/$/ 
contains=i3ConfigExecKeyword,i3ConfigExecAlwaysKeyword,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigString,i3ConfigVariable,i3ConfigExecAction
 keepend
 
 " 4.21 Workspaces per output
 syn keyword i3ConfigWorkspaceKeyword workspace contained
 syn keyword i3ConfigWorkspaceOutput output contained
-syn keyword i3ConfigWorkspaceDir prev next back_and_forth contained
+syn keyword i3ConfigWorkspaceDir prev next back_and_forth number contained
 syn region i3ConfigWorkspaceLine start=/^workspace / skip=/\$/ end=/$/ 
contains=i3ConfigWorkspaceKeyword,i3ConfigNumber,i3ConfigString,i3ConfigGaps,i3ConfigWorkspaceOutput,i3ConfigVariable,i3ConfigBoolean,i3ConfigSeparator
 keepend
 
 " 4.22 Changing colors
@@ -136,121 +134,126 @@ syn match i3ConfigKeyword /^client\..*$/ 
contains=i3ConfigDotOperator,i3ConfigCl
 
 " 4.23 Interprocess communication
 syn match i3ConfigIpcKeyword /ipc-socket/ contained
-syn match i3ConfigIpc /^ipc-socket .*$/ contains=i3ConfigIpcKeyword
+syn match i3ConfigParamLine /^ipc-socket .*$/ contains=i3ConfigIpcKeyword
 
 " 4.24 Focus follows mouse
 syn keyword i3ConfigFocusFollowsMouseOpts always contained
-syn match i3ConfigFocusFollowsMouse /^focus_follows_mouse 
\(yes\|no\|always\)$/ contains=i3ConfigBoolean,i3ConfigFocusFollowsMouseOpts
+syn match i3ConfigKeyword /^focus_follows_mouse \(yes\|no\|always\)$/ 
contains=i3ConfigBoolean,i3ConfigFocusFollowsMouseOpts
 
 " 4.25 Mouse warping
 syn keyword i3ConfigMouseWarpingOpts output container none contained
-syn match i3ConfigMouseWarping /^mouse_warping \w*$/ 
contains=i3ConfigMouseWarpingOpts
+syn match i3ConfigKeyword /^mouse_warping \w*$/ 
contains=i3ConfigMouseWarpingOpts
 
 " 4.26 Popups while fullscreen
 syn keyword i3ConfigPopupFullscreenOpts smart ignore leave_fullscreen contained
-syn match i3ConfigPopupFullscreen /^popup_during_fullscreen \w*$/ 
contains=i3ConfigPopupFullscreenOpts
+syn match i3ConfigKeyword /^popup_during_fullscreen \w*$/ 
contains=i3ConfigPopupFullscreenOpts
 
 " 4.27 Focus wrapping
 syn keyword i3ConfigFocusWrappingOpts force workspace contained
-syn match i3ConfigFocusWrapping /^focus_wrapping 
\(yes\|no\|force\|workspace\)$/ 
contains=i3ConfigBoolean,i3ConfigFocusWrappingOpts
+syn match i3ConfigKeyword /^focus_wrapping \(yes\|no\|force\|workspace\)$/ 
contains=i3ConfigBoolean,i3ConfigFocusWrappingOpts
 
 " 4.28 Forcing Xinerama
-syn match i3ConfigForceXinerama /^force_xinerama \(yes\|no\)$/ 
contains=i3ConfigBoolean
+syn match i3ConfigKeyword /^force_xinerama \(yes\|no\)$/ 
contains=i3ConfigBoolean
 
 " 4.29 Automatic workspace back-and-forth
-syn match i3ConfigAutomaticSwitch /^workspace_auto_back_and_forth 
\(yes\|no\)$/ contains=i3ConfigBoolean
+syn match i3ConfigKeyword /^workspace_auto_back_and_forth \(yes\|no\)$/ 
contains=i3ConfigBoolean
 
 " 4.30 Delay urgency hint
 syn keyword i3ConfigTimeUnit ms contained
-syn match i3ConfigDelayUrgency /^force_display_urgency_hint \d\+ ms$/ 
contains=i3ConfigBoolean,i3ConfigNumber,i3ConfigTimeUnit
+syn match i3ConfigKeyword /^force_display_urgency_hint \d\+\( ms\)\?$/ 
contains=i3ConfigNumber,i3ConfigTimeUnit
 
 " 4.31 Focus on window activation
 syn keyword i3ConfigFocusOnActivationOpts smart urgent focus none contained
-syn match i3ConfigFocusOnActivation /^focus_on_window_activation .*$/  
contains=i3ConfigFocusOnActivationKeyword
+syn match i3ConfigKeyword /^focus_on_window_activation \w*$/  
contains=i3ConfigFocusOnActivationOpts
 
 " 4.32 Show marks in title
 syn match i3ConfigShowMarks /^show_marks \(yes\|no\)$/ contains=i3ConfigBoolean
 
 " 4.34 Tiling drag
 syn keyword i3ConfigTilingDragOpts modifier titlebar contained
-syn match i3ConfigTilingDrag /^tiling_drag\( off\|\( modifier\| 
titlebar\)\{1,2\}\)$/ contains=i3ConfigTilingOpts,i3ConfigBoolean
+syn match i3ConfigKeyword /^tiling_drag\( off\|\( modifier\| 
titlebar\)\{1,2\}\)$/ contains=i3ConfigTilingDragOpts,i3ConfigBoolean
 
 " 4.35 Gaps
 syn keyword i3ConfigGapsOpts inner outer horizontal vertical left right top 
bottom current all set plus minus toggle contained
-syn region i3ConfigGaps start=/gaps/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigGapsOpts,i3ConfigNumber,i3ConfigVariable,i3ConfigSeparator 
keepend
-syn match i3ConfigGapStyleLine /^gaps .*$/ contains=i3ConfigGaps
+syn region i3ConfigGaps start=/gaps/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigGapsOpts,i3ConfigNumber,i3ConfigVariable,i3ConfigSeparator 
keepend
+syn match i3ConfigGapsLine /^gaps .*$/ contains=i3ConfigGaps
 syn keyword i3ConfigSmartGapOpts inverse_outer contained
-syn match i3ConfigSmartGap /^smart_gaps \(on\|off\|inverse_outer\)$/ 
contains=i3ConfigSmartGapOpts,i3ConfigBoolean
+syn match i3ConfigKeyword /^smart_gaps \(on\|off\|inverse_outer\)$/ 
contains=i3ConfigSmartGapOpts,i3ConfigBoolean
 
 " 5 Configuring bar
-syn match i3ConfigBarModifier /^\s\+modifier [^ ]\+$/ contained 
contains=i3ConfigBindModifier,i3ConfigVariable,i3ConfigBindModkey
-syn keyword i3ConfigBarOpts bar i3bar_command status_command mode hidden_state 
id position output tray_output tray_padding font separator_symbol 
workspace_buttons workspace_min_width strip_workspace_numbers 
strip_workspace_name binding_mode_indicator padding contained
-syn region i3ConfigBarBlock start=/^bar {$/ end=/^}$/ 
contains=i3ConfigBarOpts,i3ConfigBarModifier,i3ConfigBind,i3ConfigString,i3ConfigComment,i3ConfigFont,i3ConfigBoolean,i3ConfigNumber,i3ConfigParen,i3ConfigColor,i3ConfigVariable,i3ConfigColorsBlock
 fold keepend extend
+syn match i3ConfigBarModifier /^\s\+modifier \S\+$/ contained 
contains=i3ConfigBindModifier,i3ConfigVariable,i3ConfigBindModkey,i3ConfigBarOptVals
+syn keyword i3ConfigBarOpts bar i3bar_command status_command 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
+syn keyword i3ConfigBarOptVals dock hide invisible show none top bottom 
primary nonprimary contained
+syn region i3ConfigBarBlock start=/^bar {$/ end=/^}$/ 
contains=i3ConfigBarOpts,i3ConfigBarOptVals,i3ConfigBarModifier,i3ConfigBind,i3ConfigString,i3ConfigComment,i3ConfigFont,i3ConfigBoolean,i3ConfigNumber,i3ConfigParen,i3ConfigColor,i3ConfigVariable,i3ConfigColorsBlock,i3ConfigShOper,i3ConfigShCommand
 fold keepend extend
 
 " 5.16 Color block
+syn keyword i3ConfigColorsKeyword colors contained
 syn match i3ConfigColorsOpts 
/\(focused_\)\?\(background\|statusline\|separator\)\|\(focused\|active\|inactive\|urgent\)_workspace\|binding_mode/
 contained
-syn region i3ConfigColorsBlock start=/^\s\+colors {$/ end=/^\s\+}$/ contained 
contains=i3ConfigColorsOpts,i3ConfigColor,i3ConfigVariable,i3ConfigComment,i3ConfigParen
 fold keepend extend
+syn region i3ConfigColorsBlock start=/^\s\+colors {$/ end=/^\s\+}$/ contained 
contains=i3ConfigColorsKeyword,i3ConfigColorsOpts,i3ConfigColor,i3ConfigVariable,i3ConfigComment,i3ConfigParen
 fold keepend extend
 
-" 6.0 Criteria-based commands
-syn match i3ConfigConditionProp /\w\+\(-\w\+\)*/ contained
-syn match i3ConfigConditionText /[^[ ]\+=/ contained 
contains=i3ConfigConditionProp,i3ConfigShOper
-syn keyword i3ConfigConditionFocused __focused__ contained
-syn region i3ConfigCondition start=/\[/ end=/\]/ contained 
contains=i3ConfigConditionText,i3ConfigShDelim,i3ConfigNumber,i3ConfigString,i3ConfigConditionFocused
 keepend extend
-syn region i3ConfigCriteria start=/\[/ skip=/\$/ end=/\(;\|$\)/ contained 
contains=i3ConfigCondition,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigBoolean,i3ConfigNumber,i3ConfigVariable,i3ConfigSeparator
 keepend
+" 6.0 Command criteria
+syn keyword i3ConfigConditionProp class instance window_role window_type 
machine id title urgent workspace con_mark con_id floating_from tiling_from 
contained
+syn keyword i3ConfigConditionSpecial __focused__ all floating tiling contained
+syn region i3ConfigCondition start=/\[/ end=/\]/ contained 
contains=i3ConfigShDelim,i3ConfigConditionProp,i3ConfigShOper,i3ConfigConditionSpecial,i3ConfigNumber,i3ConfigString
 keepend extend
+syn region i3ConfigCriteria start=/\[/ skip=/\$/ end=/\(;\|$\)/ contained 
contains=i3ConfigCondition,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigBoolean,i3ConfigNumber,i3ConfigVariable,i3ConfigSeparator
 keepend transparent
 
 " 6.1 Actions through shell
 syn match i3ConfigExecActionKeyword /i3-msg/ contained
-syn region i3ConfigExecAction start=/[a-z3-]\+msg '/ skip=/\$\| '/ end=/'/ 
contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend extend
-syn region i3ConfigExecAction start=/[a-z3-]\+msg "/ skip=/\$\| "/ end=/"/ 
contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend extend
-syn region i3ConfigExecAction start=/[a-z3-]\+msg\( ['"-]\)\@!/ skip=/\$/ 
end=/\([&|;})'"]\|$\)/ contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend
+syn region i3ConfigExecAction start=/[a-z3-]\+msg "/ skip=/ "\|\$/ end=/"\|$/ 
contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend extend
+syn region i3ConfigExecAction start=/[a-z3-]\+msg '/ skip=/ '\|\$/ end=/'\|$/ 
contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend extend
+syn region i3ConfigExecAction start=/[a-z3-]\+msg ['"-]\@!/ skip=/\$/ 
end=/[&|;})'"]\@=\|$/ contained 
contains=i3ConfigExecActionKeyword,i3ConfigShCommand,i3ConfigNumber,i3ConfigShOper,i3ConfigCriteria,i3ConfigAction,i3ConfigActionKeyword,i3ConfigOption,i3ConfigVariable
 keepend extend
 " 6.1 Executing applications (4.20)
-syn region i3ConfigAction start=/exec/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigExecKeyword,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigString,i3ConfigVariable,i3ConfigSeparator
 keepend
+syn region i3ConfigAction start=/exec/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigExecKeyword,i3ConfigExecAction,i3ConfigShCommand,i3ConfigShDelim,i3ConfigShOper,i3ConfigShParam,i3ConfigNumber,i3ConfigString,i3ConfigVariable,i3ConfigSeparator
 keepend
 
 " 6.3 Manipulating layout
 syn keyword i3ConfigLayoutKeyword layout contained
 syn keyword i3ConfigLayoutOpts default tabbed stacking splitv splith toggle 
split all contained
-syn region i3ConfigAction start=/layout/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigLayoutKeyword,i3ConfigLayoutOpts,i3ConfigSeparator keepend
+syn region i3ConfigAction start=/layout/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigLayoutKeyword,i3ConfigLayoutOpts,i3ConfigSeparator keepend 
transparent
 
 " 6.4 Focusing containers
 syn keyword i3ConfigFocusKeyword focus contained
 syn keyword i3ConfigFocusOpts left right up down parent child next prev 
sibling floating tiling mode_toggle contained
 syn keyword i3ConfigFocusOutputOpts left right down up current primary 
nonprimary next prev contained
-syn region i3ConfigFocusOutput start=/ output / skip=/\$/ end=/\([,;]\|$\)/ 
contained 
contains=i3ConfigMoveType,i3ConfigWorkspaceOutput,i3ConfigFocusOutputOpts,i3ConfigString,i3ConfigNumber,i3ConfigSeparator
 keepend
+syn region i3ConfigFocusOutput start=/ output / skip=/\$/ end=/[,;]\|$/ 
contained 
contains=i3ConfigWorkspaceOutput,i3ConfigFocusOutputOpts,i3ConfigString,i3ConfigNumber,i3ConfigSeparator
 keepend
 syn match i3ConfigFocusOutputLine /^focus output .*$/ 
contains=i3ConfigFocusKeyword,i3ConfigFocusOutput
-syn region i3ConfigAction start=/focus/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigFocusKeyword,i3ConfigFocusOpts,i3ConfigFocusOutput,i3ConfigString,i3ConfigSeparator
 keepend
+syn region i3ConfigAction start=/focus/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigFocusKeyword,i3ConfigFocusOpts,i3ConfigFocusOutput,i3ConfigString,i3ConfigSeparator
 keepend transparent
 
 " 6.8 Focusing workspaces (4.21)
-syn region i3ConfigAction start=/workspace / skip=/\$/ end=/\([,;]\|$\)/ 
contained 
contains=i3ConfigWorkspaceKeyword,i3ConfigWorkspaceDir,i3ConfigNumber,i3ConfigString,i3ConfigGaps,i3ConfigWorkspaceOutput,i3ConfigVariable,i3ConfigBoolean,i3ConfigSeparator
 keepend
+syn region i3ConfigAction start=/workspace / skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigWorkspaceKeyword,i3ConfigWorkspaceDir,i3ConfigNumber,i3ConfigString,i3ConfigGaps,i3ConfigWorkspaceOutput,i3ConfigVariable,i3ConfigBoolean,i3ConfigSeparator
 keepend transparent
 
-" 6.9-6.11 Moving containers
+" 6.8.2 Renaming workspaces
+syn keyword i3ConfigRenameKeyword rename contained
+syn region i3ConfigAction start=/rename workspace/ end=/[,;]\|$/ contained 
contains=i3ConfigRenameKeyword,i3ConfigMoveDir,i3ConfigMoveType,i3ConfigNumber,i3ConfigVariable,i3ConfigString
 keepend transparent
+
+" 6.5,6.9-6.11 Moving containers
 syn keyword i3ConfigMoveKeyword move contained
-syn keyword i3ConfigMoveDir left right down up position absolute center to 
contained
+syn keyword i3ConfigMoveDir left right down up position absolute center to 
current contained
 syn keyword i3ConfigMoveType window container workspace output mark mouse 
scratchpad contained
 syn match i3ConfigUnit / px\| ppt/ contained
-syn region i3ConfigAction start=/move/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigMoveKeyword,i3ConfigMoveDir,i3ConfigMoveType,i3ConfigWorkspaceDir,i3ConfigUnit,i3ConfigNumber,i3ConfigVariable,i3ConfigSeparator
 keepend
+syn region i3ConfigAction start=/move/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigMoveKeyword,i3ConfigMoveDir,i3ConfigMoveType,i3ConfigWorkspaceDir,i3ConfigUnit,i3ConfigNumber,i3ConfigVariable,i3ConfigString,i3ConfigSeparator,i3ConfigShParam
 keepend transparent
 
 " 6.12 Resizing containers/windows
 syn keyword i3ConfigResizeKeyword resize contained
 syn keyword i3ConfigResizeOpts grow shrink up down left right set width height 
or contained
-syn region i3ConfigAction start=/resize/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigResizeKeyword,i3ConfigResizeOpts,i3ConfigNumber,i3ConfigUnit,i3ConfigSeparator
 keepend
+syn region i3ConfigAction start=/resize/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigResizeKeyword,i3ConfigResizeOpts,i3ConfigNumber,i3ConfigUnit,i3ConfigSeparator
 keepend transparent
 
 " 6.14 VIM-like marks
-syn keyword i3ConfigMarkKeyword mark contained
-syn match i3ConfigMark /mark\( --\(add\|replace\)\( --toggle\)\?\)\?/ 
contained contains=i3ConfigMarkKeyword
-syn region i3ConfigAction start=/\<mark/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigMark,i3ConfigNumber,i3ConfigString,i3ConfigSeparator keepend
+syn match i3ConfigMark /mark\( --\(add\|replace\)\( --toggle\)\?\)\?/ 
contained contains=i3ConfigShParam
+syn region i3ConfigAction start=/\<mark/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigMark,i3ConfigNumber,i3ConfigString,i3ConfigSeparator keepend 
transparent
 
 " 6.24 Changing gaps (4.35)
-syn region i3ConfigAction start=/gaps/ skip=/\$/ end=/\([,;]\|$\)/ contained 
contains=i3ConfigGaps keepend
+syn region i3ConfigAction start=/gaps/ skip=/\$/ end=/[,;]\|$/ contained 
contains=i3ConfigGaps keepend transparent
 
 " Commands useable in keybinds
-syn keyword i3ConfigActionKeyword mode append_layout kill open fullscreen 
sticky split floating swap rename unmark show_marks title_window_icon 
title_format border restart reload exit scratchpad nop bar contained
-syn keyword i3ConfigOption enable disable toggle key restore current 
horizontal vertical auto none normal pixel show container with id con_id 
contained
+syn keyword i3ConfigActionKeyword mode append_layout kill open fullscreen 
sticky split floating swap unmark show_marks title_window_icon title_format 
border restart reload exit scratchpad nop bar contained
+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
 
 " Define the highlighting.
 hi def link i3ConfigError                           Error
 hi def link i3ConfigTodo                            Todo
 hi def link i3ConfigKeyword                         Keyword
 hi def link i3ConfigCommand                         Statement
+hi def link i3ConfigParamLine                       i3ConfigString
 hi def link i3ConfigOperator                        Operator
 hi def link i3ConfigSeparator                       i3ConfigOperator
 hi def link i3ConfigParen                           Delimiter
@@ -259,7 +262,6 @@ hi def link i3ConfigString                          String
 hi def link i3ConfigColor                           Constant
 hi def link i3ConfigNumber                          Number
 hi def link i3ConfigIncludeKeyword                  i3ConfigKeyword
-hi def link i3ConfigInclude                         i3ConfigString
 hi def link i3ConfigComment                         Comment
 hi def link i3ConfigFontKeyword                     i3ConfigKeyword
 hi def link i3ConfigColonOperator                   i3ConfigOperator
@@ -278,11 +280,9 @@ hi def link i3ConfigTitleAlignOpts                  
i3ConfigOption
 hi def link i3ConfigBorderOpts                      i3ConfigOption
 hi def link i3ConfigEdgeOpts                        i3ConfigOption
 hi def link i3ConfigSmartBorderOpts                 i3ConfigOption
-hi def link i3ConfigForWindowKeyword                i3ConfigKeyword
 hi def link i3ConfigVariable                        Variable
 hi def link i3ConfigSetKeyword                      i3ConfigKeyword
 hi def link i3ConfigResourceKeyword                 i3ConfigKeyword
-hi def link i3ConfigResource                        i3ConfigString
 hi def link i3ConfigAssignKeyword                   i3ConfigKeyword
 hi def link i3ConfigAssignSpecial                   i3ConfigOption
 hi def link i3ConfigExecKeyword                     i3ConfigCommand
@@ -293,39 +293,29 @@ hi def link i3ConfigShOper                          
Operator
 hi def link i3ConfigShCmdDelim                      i3ConfigShDelim
 hi def link i3ConfigShCommand                       Normal
 hi def link i3ConfigWorkspaceKeyword                i3ConfigCommand
-hi def link i3ConfigWorkspaceOutput                 i3ConfigOption
+hi def link i3ConfigWorkspaceOutput                 i3ConfigMoveType
 hi def link i3ConfigWorkspaceDir                    i3ConfigOption
 hi def link i3ConfigDotOperator                     i3ConfigOperator
 hi def link i3ConfigClientOpts                      i3ConfigOption
 hi def link i3ConfigIpcKeyword                      i3ConfigKeyword
-hi def link i3ConfigIpc                             i3ConfigString
 hi def link i3ConfigFocusFollowsMouseOpts           i3ConfigOption
-hi def link i3ConfigFocusFollowsMouse               i3ConfigKeyword
 hi def link i3ConfigMouseWarpingOpts                i3ConfigOption
-hi def link i3ConfigMouseWarping                    i3ConfigKeyword
 hi def link i3ConfigPopupFullscreenOpts             i3ConfigOption
-hi def link i3ConfigPopupFullscreen                 i3ConfigKeyword
 hi def link i3ConfigFocusWrappingOpts               i3ConfigOption
-hi def link i3ConfigFocusWrapping                   i3ConfigKeyword
-hi def link i3ConfigForceXinerama                   i3ConfigKeyword
-hi def link i3ConfigAutomaticSwitch                 i3ConfigKeyword
 hi def link i3ConfigTimeUnit                        i3ConfigNumber
-hi def link i3ConfigDelayUrgency                    i3ConfigKeyword
 hi def link i3ConfigFocusOnActivationOpts           i3ConfigOption
-hi def link i3ConfigFocusOnActivation               i3ConfigKeyword
 hi def link i3ConfigShowMarks                       i3ConfigCommand
 hi def link i3ConfigTilingDragOpts                  i3ConfigOption
-hi def link i3ConfigTilingDrag                      i3ConfigKeyword
 hi def link i3ConfigGapsOpts                        i3ConfigOption
 hi def link i3ConfigGaps                            i3ConfigCommand
 hi def link i3ConfigSmartGapOpts                    i3ConfigOption
-hi def link i3ConfigSmartGap                        i3ConfigKeyword
 hi def link i3ConfigBarModifier                     i3ConfigKeyword
 hi def link i3ConfigBarOpts                         i3ConfigKeyword
+hi def link i3ConfigBarOptVals                      i3ConfigOption
+hi def link i3ConfigColorsKeyword                   i3ConfigKeyword
 hi def link i3ConfigColorsOpts                      i3ConfigOption
-hi def link i3ConfigColors                          i3ConfigKeyword
 hi def link i3ConfigConditionProp                   i3ConfigShParam
-hi def link i3ConfigConditionFocused                Constant
+hi def link i3ConfigConditionSpecial                Constant
 hi def link i3ConfigExecActionKeyword               i3ConfigShCommand
 hi def link i3ConfigExecAction                      i3ConfigString
 hi def link i3ConfigLayoutKeyword                   i3ConfigCommand
@@ -333,15 +323,15 @@ hi def link i3ConfigLayoutOpts                      
i3ConfigOption
 hi def link i3ConfigFocusKeyword                    i3ConfigCommand
 hi def link i3ConfigFocusOpts                       i3ConfigOption
 hi def link i3ConfigFocusOutputOpts                 i3ConfigOption
+hi def link i3ConfigRenameKeyword                   i3ConfigCommand
 hi def link i3ConfigMoveKeyword                     i3ConfigCommand
 hi def link i3ConfigMoveDir                         i3ConfigOption
-hi def link i3ConfigMoveType                        i3ConfigOption
+hi def link i3ConfigMoveType                        Constant
 hi def link i3ConfigUnit                            i3ConfigNumber
 hi def link i3ConfigResizeKeyword                   i3ConfigCommand
 hi def link i3ConfigResizeOpts                      i3ConfigOption
-hi def link i3ConfigMarkKeyword                     i3ConfigCommand
-hi def link i3ConfigMark                            i3ConfigShParam
+hi def link i3ConfigMark                            i3ConfigCommand
 hi def link i3ConfigActionKeyword                   i3ConfigCommand
 hi def link i3ConfigOption                          Type
 
-let b:current_syntax = "i3config"
\ No newline at end of file
+let b:current_syntax = "i3config"

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1qlXtU-00EJac-SG%40256bit.org.

Raspunde prin e-mail lui