mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
134 lines
6.0 KiB
VimL
134 lines
6.0 KiB
VimL
if polyglot#init#is_disabled(expand('<sfile>:p'), 'sway', 'syntax/sway.vim')
|
|
finish
|
|
endif
|
|
|
|
" Vim syntax file
|
|
" Language: sway-wm config file
|
|
" Maintainer: Aaron Ouellette
|
|
" Latest Revision: 11 June 2016
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" Symbols
|
|
syn match swayOperators "+\|→"
|
|
syn match swayChainDelimiter ";"
|
|
|
|
syn match swayVar "\$\w\+"
|
|
|
|
" Key modifiers
|
|
syn keyword swayKeyModifier Shift Control Ctrl Mod1 Mod2 Mod3 Mod4 Mod5 Mode_switch
|
|
|
|
" Strings
|
|
syn region swaySimpleString keepend start='[^ \t]' end='$\|;' contained contains=swayChainDelimiter,swayVar
|
|
syn match swayQuotedString '"[^"]\+"' contained
|
|
syn cluster swayString contains=swaySimpleString,swayQuotedString
|
|
|
|
" Config commands
|
|
syn keyword swayConfigCommand 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 input workspace_buttons workspace_auto_back_and_forth binding_mode_indicator debuglog floating_minimum_size floating_maximum_size force_focus_wrapping force_display_urgency_hint hidden_state modifier new_float socket_path mouse_warping strip_workspace_numbers focus_on_window_activation no_focus include gaps
|
|
syn match swayIpcSocket "ipc[-_]socket" nextgroup=@swayString skipwhite
|
|
|
|
" Command keywords
|
|
syn keyword swayCommand exit reload restart kill fullscreen global layout border focus move open split append_layout mark unmark resize grow shrink show nop rename title_format sticky
|
|
syn keyword swayParam 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 output true
|
|
syn match swayDashedParam '--\(release\|border\|whole-window\|toggle\)' skipwhite
|
|
syn keyword swayWsSpecialParam next prev next_on_output prev_on_output back_and_forth current number
|
|
syn keyword swayBordersSpecialParam none vertical horizontal both
|
|
syn keyword swayModeParam dock hide invisible skipwhite
|
|
|
|
" these are not keywords but we add them for consistency
|
|
syn keyword swayPseudoParam no false inactive
|
|
|
|
" Exec commands
|
|
syn region swayExecCommand keepend start='[^ \t]' end='$\|;' contained contains=swayChainDelimiter,swayVar,swayNoStartupId
|
|
syn match swayQuotedExecCommand '"[^"]\+"' contained
|
|
syn keyword swayExecKeyword exec exec_always swaybar_command nextgroup=swayQuotedExecCommand,swayExecCommand skipwhite
|
|
|
|
" Status command
|
|
syn match swayStatusCommand ".*$" contained
|
|
syn keyword swayStatusCommandKeyword status_command nextgroup=swayStatusCommand skipwhite
|
|
|
|
" Font statement
|
|
syn keyword swayFontStatement font nextgroup=@swayString skipwhite
|
|
|
|
" Separator symbol
|
|
syn keyword swaySeparatorSymbol separator_symbol nextgroup=@swayString skipwhite
|
|
|
|
" Set statement
|
|
syn match swaySetVar "\$\w\+" contained nextgroup=@swayString skipwhite
|
|
syn keyword swaySetKeyword set nextgroup=swaySetVar skipwhite
|
|
|
|
" Workspaces
|
|
syn keyword swayWsKeyword workspace nextgroup=swayWsSpecialParam,@swayString skipwhite
|
|
|
|
" Hide edge borders
|
|
syn keyword swayBordersConfigCommand hide_edge_borders nextgroup=swayBordersSpecialParam skipwhite
|
|
|
|
" Mode
|
|
syn keyword swayModeKeyword mode nextgroup=swayModeParam,@swayString skipwhite
|
|
|
|
" Comments
|
|
syn keyword swayTodo contained TODO FIXME XXX NOTE
|
|
syn match swayComment "^\s*#.*$" contains=swayTodo
|
|
|
|
" Error (at end of line)
|
|
syn match swayError ".*$" contained
|
|
|
|
" Hex color code
|
|
syn match swayColorLast "#[0-9a-fA-F]\{6\}" contained nextgroup=swayError skipwhite
|
|
syn match swayColor2nd "#[0-9a-fA-F]\{6\}" contained nextgroup=swayColorLast skipwhite
|
|
syn match swayColor1st "#[0-9a-fA-F]\{6\}" contained nextgroup=swayColor2nd skipwhite
|
|
|
|
syn match swayColorDef1 "client\.background\|statusline\|background\|separator\|statusline" nextgroup=swayColorLast skipwhite
|
|
syn match swayColorDef3 "client\.\(focused_inactive\|focused\|unfocused\|urgent\)\|inactive_workspace\|urgent_workspace\|focused_workspace\|active_workspace" nextgroup=swayColor1st skipwhite
|
|
|
|
highlight link swayChainDelimiter Operator
|
|
highlight link swayOperators Operator
|
|
|
|
highlight link swayExecCommand Special
|
|
highlight link swayQuotedExecCommand Special
|
|
highlight link swayStatusCommand Special
|
|
|
|
highlight link swayParam Constant
|
|
highlight link swayPseudoParam Constant
|
|
highlight link swayDashedParam Constant
|
|
highlight link swayNoStartupId Constant
|
|
highlight link swayColor1st Constant
|
|
highlight link swayColor2nd Constant
|
|
highlight link swayColorLast Constant
|
|
highlight link swayWsSpecialParam Constant
|
|
highlight link swayBordersSpecialParam Constant
|
|
highlight link swayModeParam Constant
|
|
|
|
highlight link swayVar Identifier
|
|
highlight link swaySetVar Identifier
|
|
|
|
highlight link swayKeyModifier Function
|
|
|
|
highlight link swaySimpleString String
|
|
highlight link swayQuotedString String
|
|
highlight link swayWsName String
|
|
highlight link swayQuotedWsName String
|
|
highlight link swaySetValue String
|
|
highlight link swayFont String
|
|
|
|
highlight link swayExecKeyword Keyword
|
|
highlight link swayCommand Keyword
|
|
highlight link swayWsKeyword Keyword
|
|
|
|
highlight link swayColorDef1 Define
|
|
highlight link swayColorDef3 Define
|
|
highlight link swayConfigCommand Define
|
|
highlight link swayIpcSocket Define
|
|
highlight link swaySetKeyword Define
|
|
highlight link swayModeKeyword Define
|
|
highlight link swayFontStatement Define
|
|
highlight link swaySeparatorSymbol Define
|
|
highlight link swayStatusCommandKeyword Define
|
|
highlight link swayBordersConfigCommand Define
|
|
|
|
highlight link swayTodo Todo
|
|
highlight link swayComment Comment
|
|
highlight link swayError Error
|