diff --git a/syntax/i3.vim b/syntax/i3.vim index fb93437..2089598 100644 --- a/syntax/i3.vim +++ b/syntax/i3.vim @@ -14,7 +14,7 @@ syn match i3ChainDelimiter ";" syn match i3Var "\$\w\+" " Key modifiers -syn keyword i3KeyModifier Shift Control Mod1 Mod2 Mod3 Mod4 Mod5 +syn keyword i3KeyModifier Shift Control Ctrl Mod1 Mod2 Mod3 Mod4 Mod5 Mode_switch " Strings syn region i3SimpleString keepend start='[^ \t]' end='$\|;' contained contains=i3ChainDelimiter,i3Var @@ -22,18 +22,22 @@ syn match i3QuotedString '"[^"]\+"' contained syn cluster i3String contains=i3SimpleString,i3QuotedString " Config commands -syn keyword i3ConfigCommand bind bindcode bindsym assign new_window popup_during_fullscreen font floating_modifier floating_minimum_size floating_maximum_size default_orientation workspace_layout for_window focus_folows_mouse bar position colors output tray_output workspace_buttons -syn match i3IpcSocket "ipc-socket" nextgroup=@i3String skipwhite +syn keyword i3ConfigCommand bind bindcode bindsym assign new_window popup_during_fullscreen font floating_modifier default_orientation workspace_layout for_window focus_follows_mouse bar position colors output tray_output workspace_buttons workspace_auto_back_and_forth binding_mode_indicator debuglog floating_minimum_size floating_maximum_size force_focus_wrapping force_xinerama force_display_urgency_hint hidden_state modifier new_float shmlog socket_path verbose +syn match i3IpcSocket "ipc[-_]socket" nextgroup=@i3String skipwhite " Command keywords -syn keyword i3Command exit reload restart kill fullscreen global layout border focus move open split append_layout mark resize grow shrink restore show -syn keyword i3Param 1pixel default stacked tabbed normal none tiling stacking floating enable disable up down horizontal vertical both up down left right parent child px or ppt leave_fullscreen toggle mode_toggle scratchpad width height top bottom client dock hide primary yes no all window container to -syn keyword i3WsSpecialParam next prev +syn keyword i3Command exit reload restart kill fullscreen global layout border focus move open split append_layout mark unmark resize grow shrink show nop rename +syn keyword i3Param 1pixel default stacked tabbed normal none tiling stacking floating enable disable up down horizontal vertical auto up down left right parent child px or ppt leave_fullscreen toggle mode_toggle scratchpad width height top bottom client hide primary yes all active window container to absolute center on off x ms h v smart ignore pixel splith splitv +syn match i3DashedParam '--release' skipwhite +syn match i3NoStartupId '--no-startup-id' contained +syn keyword i3WsSpecialParam next prev next_on_output prev_on_output back_and_forth current number +syn keyword i3BordersSpecialParam none vertical horizontal both +syn keyword i3ModeParam dock hide invisible skipwhite " Exec commands -syn region i3ExecCommand keepend start='[^ \t]' end='$\|;' contained contains=i3ChainDelimiter,i3Var +syn region i3ExecCommand keepend start='[^ \t]' end='$\|;' contained contains=i3ChainDelimiter,i3Var,i3NoStartupId syn match i3QuotedExecCommand '"[^"]\+"' contained -syn keyword i3ExecKeyword exec exec_always nextgroup=i3QuotedExecCommand,i3ExecCommand skipwhite +syn keyword i3ExecKeyword exec exec_always i3bar_command nextgroup=i3QuotedExecCommand,i3ExecCommand skipwhite " Status command syn match i3StatusCommand ".*$" contained @@ -49,8 +53,11 @@ syn keyword i3SetKeyword set nextgroup=i3SetVar skipwhite " Workspaces syn keyword i3WsKeyword workspace nextgroup=i3WsSpecialParam,@i3String skipwhite +" Hide edge borders +syn keyword i3BordersConfigCommand hide_edge_borders nextgroup=i3BordersSpecialParam skipwhite + " Mode -syn keyword i3ModeKeyword mode nextgroup=@i3String skipwhite +syn keyword i3ModeKeyword mode nextgroup=i3ModeParam,@i3String skipwhite " Comments syn keyword i3Todo contained TODO FIXME XXX NOTE @@ -64,7 +71,7 @@ syn match i3ColorLast "#[0-9a-fA-F]\{6\}" contained nextgroup=i3Error skipwhite syn match i3Color2nd "#[0-9a-fA-F]\{6\}" contained nextgroup=i3ColorLast skipwhite syn match i3Color1st "#[0-9a-fA-F]\{6\}" contained nextgroup=i3Color2nd skipwhite -syn match i3ColorDef1 "client\.background\|statusline\|background\|separator" nextgroup=i3ColorLast skipwhite +syn match i3ColorDef1 "client\.background\|statusline\|background\|separator\|statusline" nextgroup=i3ColorLast skipwhite syn match i3ColorDef3 "client\.\(focused_inactive\|focused\|unfocused\|urgent\)\|inactive_workspace\|urgent_workspace\|focused_workspace\|active_workspace" nextgroup=i3Color1st skipwhite highlight link i3ChainDelimiter Operator @@ -75,10 +82,14 @@ highlight link i3QuotedExecCommand Special highlight link i3StatusCommand Special highlight link i3Param Constant +highlight link i3DashedParam Constant +highlight link i3NoStartupId Constant highlight link i3Color1st Constant highlight link i3Color2nd Constant highlight link i3ColorLast Constant highlight link i3WsSpecialParam Constant +highlight link i3BordersSpecialParam Constant +highlight link i3ModeParam Constant highlight link i3Var Identifier highlight link i3SetVar Identifier @@ -104,6 +115,7 @@ highlight link i3SetKeyword Define highlight link i3ModeKeyword Define highlight link i3FontStatement Define highlight link i3StatusCommandKeyword Define +highlight link i3BordersConfigCommand Define highlight link i3Todo Todo highlight link i3Comment Comment