29533
|
1 " Vim syntax file
|
|
2 " Language: sway window manager config
|
|
3 " Original Author: James Eapen <james.eapen@vai.org>
|
|
4 " Maintainer: James Eapen <james.eapen@vai.org>
|
31200
|
5 " Version: 0.1.6
|
|
6 " Reference version (jamespeapen/swayconfig.vim): 0.11.6
|
29756
|
7 " Last Change: 2022 Aug 08
|
29533
|
8
|
|
9 " References:
|
|
10 " http://i3wm.org/docs/userguide.html#configuring
|
|
11 " https://github.com/swaywm/sway/blob/b69d637f7a34e239e48a4267ae94a5e7087b5834/sway/sway.5.scd
|
|
12 " http://vimdoc.sourceforge.net/htmldoc/syntax.html
|
|
13 "
|
|
14 "
|
|
15 " Quit when a syntax file was already loaded
|
|
16 if exists("b:current_syntax")
|
|
17 finish
|
|
18 endif
|
|
19
|
|
20 runtime! syntax/i3config.vim
|
|
21
|
|
22 scriptencoding utf-8
|
|
23
|
|
24 " Error
|
|
25 "syn match swayConfigError /.*/
|
|
26
|
|
27 " binding
|
|
28 syn keyword swayConfigBindKeyword bindswitch bindgesture contained
|
|
29 syn match swayConfigBind /^\s*\(bindswitch\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,swayConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigNumber,i3ConfigUnit,i3ConfigUnitOr,i3ConfigBindArgument,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword,i3ConfigBorderStyleKeyword
|
|
30
|
|
31 " bindgestures
|
|
32 syn keyword swayConfigBindGestureCommand swipe pinch hold contained
|
|
33 syn keyword swayConfigBindGestureDirection up down left right next prev contained
|
|
34 syn keyword swayConfigBindGesturePinchDirection inward outward clockwise counterclockwise contained
|
|
35 syn match swayConfigBindGestureHold /^\s*\(bindgesture\)\s\+hold\(:[1-5]\)\?\s\+.*$/ contains=swayConfigBindKeyword,swayConfigBindGestureCommand,swayConfigBindGestureDirection,i3ConfigWorkspaceKeyword,i3ConfigAction
|
29756
|
36 syn match swayConfigBindGestureSwipe /^\s*\(bindgesture\)\s\+swipe\(:[3-5]\)\?:\(up\|down\|left\|right\)\s\+.*$/ contains=swayConfigBindKeyword,swayConfigBindGestureCommand,swayConfigBindGestureDirection,i3ConfigWorkspaceKeyword,i3ConfigAction
|
|
37 syn match swayConfigBindGesturePinch /^\s*\(bindgesture\)\s\+pinch\(:[2-5]\)\?:\(up\|down\|left\|right\|inward\|outward\|clockwise\|counterclockwise\)\(+\(up\|down\|left\|right\|inward\|outward\|clockwise\|counterclockwise\)\)\?.*$/ contains=swayConfigBindKeyword,swayConfigBindGestureCommand,swayConfigBindGestureDirection,swayConfigBindGesturePinchDirection,i3ConfigWorkspaceKeyword,i3ConfigAction
|
29533
|
38
|
|
39 " floating
|
|
40 syn keyword swayConfigFloatingKeyword floating contained
|
|
41 syn match swayConfigFloating /^\s*floating\s\+\(enable\|disable\|toggle\)\s*$/ contains=swayConfigFloatingKeyword
|
|
42
|
|
43 syn clear i3ConfigFloatingModifier
|
|
44 syn keyword swayConfigFloatingModifier floating_modifier contained
|
31200
|
45 syn match swayConfigFloatingMouseAction /^\s\?.*floating_modifier\s\S\+\s\?\(normal\|inverted\|none\)\?$/ contains=swayConfigFloatingModifier,i3ConfigVariable
|
29533
|
46
|
|
47 " Gaps
|
|
48 syn clear i3ConfigSmartBorderKeyword
|
|
49 syn clear i3ConfigSmartBorder
|
|
50 syn keyword swayConfigSmartBorderKeyword on no_gaps off contained
|
|
51 syn match swayConfigSmartBorder /^\s*smart_borders\s\+\(on\|no_gaps\|off\)\s\?$/ contains=swayConfigSmartBorderKeyword
|
|
52
|
|
53 " Changing colors
|
|
54 syn keyword swayConfigClientColorKeyword focused_tab_title contained
|
|
55 syn match swayConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable,i3ConfigClientColorKeyword,swayConfigClientColorKeyword
|
|
56
|
31200
|
57 " Input config
|
|
58 syn keyword swayConfigInputKeyword input contained
|
|
59 syn match swayConfigInput /^\s*input\s\+.*$/ contains=swayConfigInputKeyword
|
|
60
|
29533
|
61 " set display outputs
|
|
62 syn match swayConfigOutput /^\s*output\s\+.*$/ contains=i3ConfigOutput
|
|
63
|
|
64 " set display focus
|
|
65 syn keyword swayConfigFocusKeyword focus contained
|
|
66 syn keyword swayConfigFocusType output contained
|
|
67 syn match swayConfigFocus /^\s*focus\soutput\s.*$/ contains=swayConfigFocusKeyword,swayConfigFocusType
|
|
68
|
31200
|
69 " focus follows mouse
|
|
70 syn clear i3ConfigFocusFollowsMouseType
|
|
71 syn clear i3ConfigFocusFollowsMouse
|
|
72
|
|
73 syn keyword swayConfigFocusFollowsMouseType yes no always contained
|
|
74 syn match swayConfigFocusFollowsMouse /^\s*focus_follows_mouse\s\+\(yes\|no\|always\)\s\?$/ contains=i3ConfigFocusFollowsMouseKeyword,swayConfigFocusFollowsMouseType
|
|
75
|
|
76
|
29533
|
77 " xwayland
|
|
78 syn keyword swayConfigXwaylandKeyword xwayland contained
|
|
79 syn match swayConfigXwaylandModifier /^\s*xwayland\s\+\(enable\|disable\|force\)\s\?$/ contains=swayConfigXwaylandKeyword
|
|
80
|
31200
|
81 " Group mode/bar
|
|
82 syn clear i3ConfigBlock
|
|
83 syn region swayConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigInitializeKeyword,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable,swayConfigInputKeyword,i3ConfigOutput transparent keepend extend
|
|
84
|
29533
|
85 "hi def link swayConfigError Error
|
|
86 hi def link i3ConfigFloating Error
|
|
87 hi def link swayConfigFloating Type
|
|
88 hi def link swayConfigFloatingMouseAction Type
|
|
89 hi def link swayConfigFocusKeyword Type
|
|
90 hi def link swayConfigSmartBorderKeyword Type
|
31200
|
91 hi def link swayConfigInputKeyword Type
|
|
92 hi def link swayConfigFocusFollowsMouseType Type
|
29533
|
93 hi def link swayConfigBindGestureCommand Identifier
|
|
94 hi def link swayConfigBindGestureDirection Constant
|
|
95 hi def link swayConfigBindGesturePinchDirection Constant
|
|
96 hi def link swayConfigBindKeyword Identifier
|
|
97 hi def link swayConfigClientColorKeyword Identifier
|
|
98 hi def link swayConfigFloatingKeyword Identifier
|
|
99 hi def link swayConfigFloatingModifier Identifier
|
|
100 hi def link swayConfigFocusType Identifier
|
|
101 hi def link swayConfigSmartBorder Identifier
|
|
102 hi def link swayConfigXwaylandKeyword Identifier
|
|
103 hi def link swayConfigXwaylandModifier Type
|
|
104 hi def link swayConfigBindGesture PreProc
|
|
105
|
|
106 let b:current_syntax = "swayconfig"
|