diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2021-06-09 21:11:58 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2021-06-09 21:11:58 +0200 |
commit | c4e50b4e9da54836b0fcd443229c7213de789e21 (patch) | |
tree | 149f8bd0acaead947adfe8831f4180a5dfde1c8b | |
parent | 839447bbf542925b1085a33d076cc525138aad7c (diff) | |
download | vim-polyglot-c4e50b4e9da54836b0fcd443229c7213de789e21.tar.gz vim-polyglot-c4e50b4e9da54836b0fcd443229c7213de789e21.zip |
Update
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | after/ftplugin/just.vim | 11 | ||||
-rw-r--r-- | autoload/polyglot/init.vim | 10 | ||||
-rw-r--r-- | autoload/polyglot/sleuth.vim | 4 | ||||
-rw-r--r-- | ftplugin/i3config.vim | 5 | ||||
-rw-r--r-- | ftplugin/sway.vim | 5 | ||||
-rw-r--r-- | syntax/i3config.vim | 263 | ||||
-rw-r--r-- | syntax/just.vim | 128 | ||||
-rw-r--r-- | syntax/sway.vim | 133 | ||||
-rw-r--r-- | tests/filetypes.vim | 4 |
10 files changed, 150 insertions, 417 deletions
@@ -102,7 +102,6 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr - [hive](https://github.com/zebradil/hive.vim) (HiveQL syntax highlighting for q, hql and ql files) - [hjson](https://github.com/hjson/vim-hjson) (Syntax highlighting for hjson files) - [html5](https://github.com/othree/html5.vim) -- [i3/sway](https://github.com/jamespeapen/swayconfig.vim/tree/i3sway) (Syntax highlighting for i3.config, i3config, sway.config and swayconfig files) - [icalendar](https://github.com/chutzpah/icalendar.vim) (Syntax highlighting for ics files) - [idris2](https://github.com/edwinb/idris2-vim) (Syntax highlighting for idr, ipkg and lidr files) - [idris](https://github.com/idris-hackers/idris-vim) (Idris syntax highlighting for idr and lidr files) @@ -118,7 +117,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr - [jst](https://github.com/briancollins/vim-jst) (EJS syntax highlighting for ejs, ect and jst files) - [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (Syntax highlighting for jsx files) - [julia](https://github.com/JuliaEditorSupport/julia-vim) (Julia syntax highlighting for jl files) -- [just](https://github.com/NoahTheDuke/vim-just) (Syntax highlighting for justfile and *.just files) +- [just](https://github.com/NoahTheDuke/vim-just) (Syntax highlighting for just files) - [kotlin](https://github.com/udalov/kotlin-vim) (Kotlin syntax highlighting for kt, ktm and kts files) - [ledger](https://github.com/ledger/vim-ledger) (Syntax highlighting for ldg, ledger and journal files) - [lilypond](https://github.com/anowlcalledjosh/vim-lilypond) (LilyPond syntax highlighting for ly and ily files) @@ -182,6 +181,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr - [svelte](https://github.com/leafOfTree/vim-svelte-plugin) (Svelte syntax highlighting for svelte files) - [svg-indent](https://github.com/jasonshell/vim-svg-indent) - [svg](https://github.com/vim-scripts/svg.vim) (SVG syntax highlighting for svg files) +- [sway](https://github.com/jamespeapen/swayconfig.vim/tree/i3sway) (Syntax highlighting for i3config, i3.config, swayconfig and sway.config files) - [swift](https://github.com/keith/swift.vim) (Swift syntax highlighting for swift files) - [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (Syntax highlighting for sxhkdrc files) - [systemd](https://github.com/wgwoods/vim-systemd-syntax) (Syntax highlighting for automount, dnssd, link, mount, netdev and 9 more files) diff --git a/after/ftplugin/just.vim b/after/ftplugin/just.vim new file mode 100644 index 00000000..7b7fdcd3 --- /dev/null +++ b/after/ftplugin/just.vim @@ -0,0 +1,11 @@ +if polyglot#init#is_disabled(expand('<sfile>:p'), 'just', 'after/ftplugin/just.vim') + finish +endif + +" Vim ftplugin file +" Language: Justfile +" Maintainer: Noah Bogart <noah.bogart@hey.com> +" URL: https://github.com/NoahTheDuke/vim-just.git +" Last Change: 2021 May 19 + +setlocal iskeyword+=- diff --git a/autoload/polyglot/init.vim b/autoload/polyglot/init.vim index d294ea4a..536b7dce 100644 --- a/autoload/polyglot/init.vim +++ b/autoload/polyglot/init.vim @@ -177,8 +177,12 @@ if !has_key(g:polyglot_is_disabled, 'nftables') au BufNewFile,BufRead *.nft,*/nftables.conf setf nftables endif +if !has_key(g:polyglot_is_disabled, 'just') + au BufNewFile,BufRead *.just,justfile setf just +endif + if !has_key(g:polyglot_is_disabled, 'sway') - au BufNewFile,BufRead *sway/config setf sway + au BufNewFile,BufRead *.i3.config,*.i3config,*.sway.config,*.swayconfig,*sway/config,i3.config,sway.config setf i3config endif if !has_key(g:polyglot_is_disabled, 'hjson') @@ -2293,10 +2297,6 @@ if !has_key(g:polyglot_is_disabled, 'icalendar') au BufNewFile,BufRead *.ics setf icalendar endif -if !has_key(g:polyglot_is_disabled, 'i3') - au BufNewFile,BufRead *.i3.config,*.i3config,{.,}i3.config,{.,}i3config,i3.config,i3config setf i3config -endif - if !has_key(g:polyglot_is_disabled, 'hive') au BufNewFile,BufRead *.hql,*.q,*.ql setf hive endif diff --git a/autoload/polyglot/sleuth.vim b/autoload/polyglot/sleuth.vim index bcd0e5e8..64893959 100644 --- a/autoload/polyglot/sleuth.vim +++ b/autoload/polyglot/sleuth.vim @@ -237,7 +237,7 @@ let s:globs = { \ 'htmlm4': '*.html.m4', \ 'httest': '*.htt,*.htb', \ 'hxml': '*.hxml', - \ 'i3config': '*.i3.config,*.i3config,i3.config,i3config,.i3.config,.i3config', + \ 'i3config': '*.i3config,*.i3.config,*.swayconfig,*.sway.config,i3.config,sway.config', \ 'ibasic': '*.iba,*.ibi', \ 'icalendar': '*.ics', \ 'icemenu': '', @@ -271,6 +271,7 @@ let s:globs = { \ 'jsp': '*.jsp', \ 'jst': '*.ejs,*.ect,*.jst', \ 'julia': '*.jl', + \ 'just': '*.just,justfile', \ 'kconfig': 'Kconfig,Kconfig.debug,Kconfig.*', \ 'kivy': '*.kv', \ 'kix': '*.kix', @@ -528,7 +529,6 @@ let s:globs = { \ 'svelte': '*.svelte', \ 'svg': '*.svg', \ 'svn': 'svn-commit*.tmp', - \ 'sway': '', \ 'swift': '*.swift', \ 'swiftgyb': '*.swift.gyb', \ 'sxhkdrc': '*.sxhkdrc,sxhkdrc', diff --git a/ftplugin/i3config.vim b/ftplugin/i3config.vim deleted file mode 100644 index 6fb69a18..00000000 --- a/ftplugin/i3config.vim +++ /dev/null @@ -1,5 +0,0 @@ -if polyglot#init#is_disabled(expand('<sfile>:p'), 'i3', 'ftplugin/i3config.vim') - finish -endif - -setlocal commentstring=#\ %s diff --git a/ftplugin/sway.vim b/ftplugin/sway.vim deleted file mode 100644 index 3b7df6b8..00000000 --- a/ftplugin/sway.vim +++ /dev/null @@ -1,5 +0,0 @@ -if polyglot#init#is_disabled(expand('<sfile>:p'), 'sway', 'ftplugin/sway.vim') - finish -endif - -setlocal commentstring=#\ %s diff --git a/syntax/i3config.vim b/syntax/i3config.vim deleted file mode 100644 index 8228f931..00000000 --- a/syntax/i3config.vim +++ /dev/null @@ -1,263 +0,0 @@ -if polyglot#init#is_disabled(expand('<sfile>:p'), 'i3', 'syntax/i3config.vim') - finish -endif - -" Vim syntax file -" Language: i3 config file -" Maintainer: Mohamed Boughaba <mohamed dot bgb at gmail dot com> -" Version: 0.4 -" Last Change: 2019-03-23 21:54 - -" References: -" http://i3wm.org/docs/userguide.html#configuring -" http://vimdoc.sourceforge.net/htmldoc/syntax.html -" -" -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syn clear -elsei exists("b:current_syntax") - fini -en - -scriptencoding utf-8 - -" Error -syn match i3ConfigError /.*/ - -" Todo -syn keyword i3ConfigTodo TODO FIXME XXX contained - -" Comment -" Comments are started with a # and can only be used at the beginning of a line -syn match i3ConfigComment /^\s*#.*$/ contains=i3ConfigTodo - -" Font -" A FreeType font description is composed by: -" a font family, a style, a weight, a variant, a stretch and a size. -syn match i3ConfigFontSeparator /,/ contained -syn match i3ConfigFontSeparator /:/ contained -syn keyword i3ConfigFontKeyword font contained -syn match i3ConfigFontNamespace /\w\+:/ contained contains=i3ConfigFontSeparator -syn match i3ConfigFontContent /-\?\w\+\(-\+\|\s\+\|,\)/ contained contains=i3ConfigFontNamespace,i3ConfigFontSeparator,i3ConfigFontKeyword -syn match i3ConfigFontSize /\s\=\d\+\(px\)\?\s\?$/ contained -syn match i3ConfigFont /^\s*font\s\+.*$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace -syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace -syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?[^\\]\+$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace -syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace - -" variables -syn match i3ConfigString /\(['"]\)\(.\{-}\)\1/ contained -syn match i3ConfigColor /#\w\{6}/ contained -syn match i3ConfigVariableModifier /+/ contained -syn match i3ConfigVariableAndModifier /+\w\+/ contained contains=i3ConfigVariableModifier -syn match i3ConfigVariable /\$\w\+\(\(-\w\+\)\+\)\?\(\s\|+\)\?/ contains=i3ConfigVariableModifier,i3ConfigVariableAndModifier -syn keyword i3ConfigInitializeKeyword set contained -syn match i3ConfigInitialize /^\s*set\s\+.*$/ contains=i3ConfigVariable,i3ConfigInitializeKeyword,i3ConfigColor,i3ConfigString - -" Gaps -syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle up down contained -syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,i3ConfigNumber,i3ConfigVariable -syn keyword i3ConfigSmartGapKeyword on inverse_outer contained -syn match i3ConfigSmartGap /^\s*smart_gaps\s\+\(on\|inverse_outer\)\s\?$/ contains=i3ConfigSmartGapKeyword -syn keyword i3ConfigSmartBorderKeyword on no_gaps contained -syn match i3ConfigSmartBorder /^\s*smart_borders\s\+\(on\|no_gaps\)\s\?$/ contains=i3ConfigSmartBorderKeyword - -" Keyboard bindings -syn keyword i3ConfigAction toggle fullscreen restart key import kill shrink grow contained -syn keyword i3ConfigAction focus move grow height width split layout resize restore reload mute unmute exit mode workspace container to contained -syn match i3ConfigModifier /\w\++\w\+\(\(+\w\+\)\+\)\?/ contained contains=i3ConfigVariableModifier -syn match i3ConfigNumber /\s\d\+/ contained -syn match i3ConfigUnit /\sp\(pt\|x\)/ contained -syn match i3ConfigUnitOr /\sor/ contained -syn keyword i3ConfigBindKeyword bindsym bindcode exec gaps border contained -syn match i3ConfigBindArgument /--\w\+\(\(-\w\+\)\+\)\?\s/ contained -syn match i3ConfigBind /^\s*\(bindsym\|bindcode\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigNumber,i3ConfigUnit,i3ConfigUnitOr,i3ConfigBindArgument,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword,i3ConfigBorderStyleKeyword - -" Floating -syn keyword i3ConfigSizeSpecial x contained -syn match i3ConfigNegativeSize /-/ contained -syn match i3ConfigSize /-\?\d\+\s\?x\s\?-\?\d\+/ contained contains=i3ConfigSizeSpecial,i3ConfigNumber,i3ConfigNegativeSize -syn match i3ConfigFloating /^\s*floating_modifier\s\+\$\w\+\d\?/ contains=i3ConfigVariable -syn match i3ConfigFloating /^\s*floating_\(maximum\|minimum\)_size\s\+-\?\d\+\s\?x\s\?-\?\d\+/ contains=i3ConfigSize - -" Orientation -syn keyword i3ConfigOrientationKeyword vertical horizontal auto contained -syn match i3ConfigOrientation /^\s*default_orientation\s\+\(vertical\|horizontal\|auto\)\s\?$/ contains=i3ConfigOrientationKeyword - -" Layout -syn keyword i3ConfigLayoutKeyword default stacking tabbed contained -syn match i3ConfigLayout /^\s*workspace_layout\s\+\(default\|stacking\|tabbed\)\s\?$/ contains=i3ConfigLayoutKeyword - -" Border style -syn keyword i3ConfigBorderStyleKeyword none normal pixel contained -syn match i3ConfigBorderStyle /^\s*\(new_window\|new_float\|default_border\|default_floating_border\)\s\+\(none\|\(normal\|pixel\)\(\s\+\d\+\)\?\(\s\+\$\w\+\(\(-\w\+\)\+\)\?\(\s\|+\)\?\)\?\)\s\?$/ contains=i3ConfigBorderStyleKeyword,i3ConfigNumber,i3ConfigVariable - -" Hide borders and edges -syn keyword i3ConfigEdgeKeyword none vertical horizontal both smart smart_no_gaps contained -syn match i3ConfigEdge /^\s*hide_edge_borders\s\+\(none\|vertical\|horizontal\|both\|smart\|smart_no_gaps\)\s\?$/ contains=i3ConfigEdgeKeyword - -" Arbitrary commands for specific windows (for_window) -syn keyword i3ConfigCommandKeyword for_window contained -syn region i3ConfigWindowStringSpecial start=+"+ skip=+\\"+ end=+"+ contained contains=i3ConfigString -syn region i3ConfigWindowCommandSpecial start="\[" end="\]" contained contains=i3ConfigWindowStringSpacial,i3ConfigString -syn match i3ConfigArbitraryCommand /^\s*for_window\s\+.*$/ contains=i3ConfigWindowCommandSpecial,i3ConfigCommandKeyword,i3ConfigBorderStyleKeyword,i3ConfigLayoutKeyword,i3ConfigOrientationKeyword,Size,i3ConfigNumber - -" Disable focus open opening -syn keyword i3ConfigNoFocusKeyword no_focus contained -syn match i3ConfigDisableFocus /^\s*no_focus\s\+.*$/ contains=i3ConfigWindowCommandSpecial,i3ConfigNoFocusKeyword - -" Move client to specific workspace automatically -syn keyword i3ConfigAssignKeyword assign contained -syn match i3ConfigAssignSpecial /→/ contained -syn match i3ConfigAssign /^\s*assign\s\+.*$/ contains=i3ConfigAssignKeyword,i3ConfigWindowCommandSpecial,i3ConfigAssignSpecial - -" X resources -syn keyword i3ConfigResourceKeyword set_from_resource contained -syn match i3ConfigResource /^\s*set_from_resource\s\+.*$/ contains=i3ConfigResourceKeyword,i3ConfigWindowCommandSpecial,i3ConfigColor,i3ConfigVariable - -" Auto start applications -syn keyword i3ConfigExecKeyword exec exec_always contained -syn match i3ConfigNoStartupId /--no-startup-id/ contained " We are not using i3ConfigBindArgument as only no-startup-id is supported here -syn match i3ConfigExec /^\s*exec\(_always\)\?\s\+.*$/ contains=i3ConfigExecKeyword,i3ConfigNoStartupId,i3ConfigString - -" Automatically putting workspaces on specific screens -syn keyword i3ConfigWorkspaceKeyword workspace contained -syn keyword i3ConfigOutput output contained -syn match i3ConfigWorkspace /^\s*workspace\s\+.*$/ contains=i3ConfigWorkspaceKeyword,i3ConfigNumber,i3ConfigString,i3ConfigOutput - -" Changing colors -syn keyword i3ConfigClientColorKeyword client focused focused_inactive unfocused urgent placeholder background contained -syn match i3ConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable - -syn keyword i3ConfigTitleAlignKeyword left center right contained -syn match i3ConfigTitleAlign /^\s*title_align\s\+.*$/ contains=i3ConfigTitleAlignKeyword - -" Interprocess communication -syn match i3ConfigInterprocessKeyword /ipc-socket/ contained -syn match i3ConfigInterprocess /^\s*ipc-socket\s\+.*$/ contains=i3ConfigInterprocessKeyword - -" Mouse warping -syn keyword i3ConfigMouseWarpingKeyword mouse_warping contained -syn keyword i3ConfigMouseWarpingType output none contained -syn match i3ConfigMouseWarping /^\s*mouse_warping\s\+\(output\|none\)\s\?$/ contains=i3ConfigMouseWarpingKeyword,i3ConfigMouseWarpingType - -" Focus follows mouse -syn keyword i3ConfigFocusFollowsMouseKeyword focus_follows_mouse contained -syn keyword i3ConfigFocusFollowsMouseType yes no contained -syn match i3ConfigFocusFollowsMouse /^\s*focus_follows_mouse\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusFollowsMouseKeyword,i3ConfigFocusFollowsMouseType - -" Popups during fullscreen mode -syn keyword i3ConfigPopupOnFullscreenKeyword popup_during_fullscreen contained -syn keyword i3ConfigPopuponFullscreenType smart ignore leave_fullscreen contained -syn match i3ConfigPopupOnFullscreen /^\s*popup_during_fullscreen\s\+\w\+\s\?$/ contains=i3ConfigPopupOnFullscreenKeyword,i3ConfigPopupOnFullscreenType - -" Focus wrapping -syn keyword i3ConfigFocusWrappingKeyword force_focus_wrapping focus_wrapping contained -syn keyword i3ConfigFocusWrappingType yes no contained -syn match i3ConfigFocusWrapping /^\s*\(force_\)\?focus_wrapping\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigFocusWrappingKeyword - -" Forcing Xinerama -syn keyword i3ConfigForceXineramaKeyword force_xinerama contained -syn match i3ConfigForceXinerama /^\s*force_xinerama\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigForceXineramaKeyword - -" Automatic back-and-forth when switching to the current workspace -syn keyword i3ConfigAutomaticSwitchKeyword workspace_auto_back_and_forth contained -syn match i3ConfigAutomaticSwitch /^\s*workspace_auto_back_and_forth\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigAutomaticSwitchKeyword - -" Delay urgency hint -syn keyword i3ConfigTimeUnit ms contained -syn keyword i3ConfigDelayUrgencyKeyword force_display_urgency_hint contained -syn match i3ConfigDelayUrgency /^\s*force_display_urgency_hint\s\+\d\+\s\+ms\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigDelayUrgencyKeyword,i3ConfigNumber,i3ConfigTimeUnit - -" Focus on window activation -syn keyword i3ConfigFocusOnActivationKeyword focus_on_window_activation contained -syn keyword i3ConfigFocusOnActivationType smart urgent focus none contained -syn match i3ConfigFocusOnActivation /^\s*focus_on_window_activation\s\+\(smart\|urgent\|focus\|none\)\s\?$/ contains=i3ConfigFocusOnActivationKeyword,i3ConfigFocusOnActivationType - -" Automatic back-and-forth when switching to the current workspace -syn keyword i3ConfigDrawingMarksKeyword show_marks contained -syn match i3ConfigDrawingMarks /^\s*show_marks\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigDrawingMarksKeyword - -" Group mode/bar -syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained -syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend - -" Line continuation -syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend - -" Define the highlighting. -hi! def link i3ConfigError Error -hi! def link i3ConfigTodo Todo -hi! def link i3ConfigComment Comment -hi! def link i3ConfigFontContent Type -hi! def link i3ConfigFocusOnActivationType Type -hi! def link i3ConfigPopupOnFullscreenType Type -hi! def link i3ConfigOrientationKeyword Type -hi! def link i3ConfigMouseWarpingType Type -hi! def link i3ConfigFocusFollowsMouseType Type -hi! def link i3ConfigGapStyleKeyword Type -hi! def link i3ConfigTitleAlignKeyword Type -hi! def link i3ConfigSmartGapKeyword Type -hi! def link i3ConfigSmartBorderKeyword Type -hi! def link i3ConfigLayoutKeyword Type -hi! def link i3ConfigBorderStyleKeyword Type -hi! def link i3ConfigEdgeKeyword Type -hi! def link i3ConfigAction Type -hi! def link i3ConfigCommand Type -hi! def link i3ConfigOutput Type -hi! def link i3ConfigWindowCommandSpecial Type -hi! def link i3ConfigFocusWrappingType Type -hi! def link i3ConfigUnitOr Type -hi! def link i3ConfigFontSize Constant -hi! def link i3ConfigColor Constant -hi! def link i3ConfigNumber Constant -hi! def link i3ConfigUnit Constant -hi! def link i3ConfigVariableAndModifier Constant -hi! def link i3ConfigTimeUnit Constant -hi! def link i3ConfigModifier Constant -hi! def link i3ConfigString Constant -hi! def link i3ConfigNegativeSize Constant -hi! def link i3ConfigFontSeparator Special -hi! def link i3ConfigVariableModifier Special -hi! def link i3ConfigSizeSpecial Special -hi! def link i3ConfigWindowSpecial Special -hi! def link i3ConfigAssignSpecial Special -hi! def link i3ConfigFontNamespace PreProc -hi! def link i3ConfigBindArgument PreProc -hi! def link i3ConfigNoStartupId PreProc -hi! def link i3ConfigFontKeyword Identifier -hi! def link i3ConfigBindKeyword Identifier -hi! def link i3ConfigOrientation Identifier -hi! def link i3ConfigGapStyle Identifier -hi! def link i3ConfigTitleAlign Identifier -hi! def link i3ConfigSmartGap Identifier -hi! def link i3ConfigSmartBorder Identifier -hi! def link i3ConfigLayout Identifier -hi! def link i3ConfigBorderStyle Identifier -hi! def link i3ConfigEdge Identifier -hi! def link i3ConfigFloating Identifier -hi! def link i3ConfigCommandKeyword Identifier -hi! def link i3ConfigNoFocusKeyword Identifier -hi! def link i3ConfigInitializeKeyword Identifier -hi! def link i3ConfigAssignKeyword Identifier -hi! def link i3ConfigResourceKeyword Identifier -hi! def link i3ConfigExecKeyword Identifier -hi! def link i3ConfigWorkspaceKeyword Identifier -hi! def link i3ConfigClientColorKeyword Identifier -hi! def link i3ConfigInterprocessKeyword Identifier -hi! def link i3ConfigMouseWarpingKeyword Identifier -hi! def link i3ConfigFocusFollowsMouseKeyword Identifier -hi! def link i3ConfigPopupOnFullscreenKeyword Identifier -hi! def link i3ConfigFocusWrappingKeyword Identifier -hi! def link i3ConfigForceXineramaKeyword Identifier -hi! def link i3ConfigAutomaticSwitchKeyword Identifier -hi! def link i3ConfigDelayUrgencyKeyword Identifier -hi! def link i3ConfigFocusOnActivationKeyword Identifier -hi! def link i3ConfigDrawingMarksKeyword Identifier -hi! def link i3ConfigBlockKeyword Identifier -hi! def link i3ConfigVariable Statement -hi! def link i3ConfigArbitraryCommand Type - -let b:current_syntax = "i3config" diff --git a/syntax/just.vim b/syntax/just.vim new file mode 100644 index 00000000..4d6d538e --- /dev/null +++ b/syntax/just.vim @@ -0,0 +1,128 @@ +if polyglot#init#is_disabled(expand('<sfile>:p'), 'just', 'syntax/just.vim') + finish +endif + +" Vim syntax file +" Language: Justfile +" Maintainer: Noah Bogart <noah.bogart@hey.com> +" URL: https://github.com/NoahTheDuke/vim-just.git +" Last Change: 2021 May 19 + +if exists('b:current_syntax') + finish +endif + +let b:current_syntax = 'just' +syntax sync minlines=20 maxlines=200 + +syntax match justNoise "," + +syntax match justComment "\v#.*$" contains=@Spell +syntax match justName "[a-zA-Z_][a-zA-Z0-9_-]*" contained +syntax match justFunction "[a-zA-Z_][a-zA-Z0-9_-]*" contained + +syntax region justBacktick start=/`/ skip=/\./ end=/`/ contains=justInterpolation +syntax region justRawString start=/'/ skip=/\./ end=/'/ contains=justInterpolation +syntax region justString start=/"/ skip=/\./ end=/"/ contains=justInterpolation +syntax cluster justAllStrings contains=justBacktick,justRawString,justString + +syntax match justAssignmentOperator ":=" contained + +syntax match justParameterOperator "=" contained +syntax match justVariadicOperator "*\|+\|\$" contained +syntax match justParameter "\v\s\zs%(\*|\+|\$)?[a-zA-Z_][a-zA-Z0-9_-]*\ze\=?" contained contains=justVariadicOperator,justParameterOperator + +syntax match justNextLine "\\\n\s*" +syntax match justRecipeAt "^@" contained +syntax match justRecipeColon "\v:" contained + +syntax region justRecipe + \ matchgroup=justRecipeBody start="\v^\@?[a-zA-Z_]((:\=)@!.)*\ze:%(\s|\n)" + \ matchgroup=justRecipeDeps end="\v:\zs.*\n" + \ contains=justFunction,justRecipeColon + +syntax match justRecipeBody "\v^\@?[a-zA-Z_]((:\=)@!.)*\ze:%(\s|\n)" + \ contains=justRecipeAt,justRecipeColon,justParameter,justParameterOperator,justVariadicOperator,@justAllStrings,justComment + +syntax match justRecipeDeps "\v:[^\=]?.*\n" + \ contains=justComment,justFunction,justRecipeColon + +syntax match justBoolean "\v(true|false)" contained +syntax match justKeywords "\v%(export|set)" contained + +syntax match justAssignment "\v^[a-zA-Z_][a-zA-Z0-9_-]*\s+:\=" transparent contains=justAssignmentOperator + +syntax match justSetKeywords "\v%(dotenv-load|export|positional-arguments|shell)" contained +syntax match justSetDefinition "\v^set\s+%(dotenv-load|export|positional-arguments)%(\s+:\=\s+%(true|false))?$" + \ contains=justSetKeywords,justKeywords,justAssignmentOperator,justBoolean + \ transparent + +syntax match justSetBraces "\v[\[\]]" contained +syntax region justSetDefinition + \ start="\v^set\s+shell\s+:\=\s+\[" + \ end="]" + \ contains=justSetKeywords,justKeywords,justAssignmentOperator,@justAllStrings,justNoise,justSetBraces + \ transparent skipwhite oneline + +syntax region justAlias + \ matchgroup=justAlias start="\v^alias\ze\s+[a-zA-Z_][a-zA-Z0-9_-]*\s+:\=" + \ end="$" + \ contains=justKeywords,justFunction,justAssignmentOperator + \ oneline skipwhite + +syntax region justExport + \ matchgroup=justExport start="\v^export\ze\s+[a-zA-Z_][a-zA-Z0-9_-]*%(\s+:\=)?" + \ end="$" + \ contains=justKeywords,justAssignmentOperator + \ transparent oneline skipwhite + +syntax keyword justConditional if else +syntax region justConditionalBraces start="\v[^{]\{[^{]" end="}" contained oneline contains=ALLBUT,justConditionalBraces,justBodyText + +syntax match justBodyText "[^[:space:]#]\+" contained +syntax match justLineLeadingSymbol "\v^\s+\zs%(\@|-)" contained +syntax match justLineContinuation "\\$" contained + +syntax region justBody transparent matchgroup=justLineLeadingSymbol start="\v^\s+\zs[@-]"hs=e-1 matchgroup=justBodyText start="\v^\s+\zs[^[:space:]@#-]"hs=e-1 end="\n" skipwhite oneline contains=justInterpolation,justBodyText,justLineLeadingSymbol,justLineContinuation,justComment + +syntax region justInterpolation start="{{" end="}}" contained contains=ALLBUT,justInterpolation,justFunction,justBodyText + +syntax match justBuiltInFunctionParens "[()]" contained +syntax match justBuiltInFunctions "\v%(arch|os|os_family|invocation_directory|justfile|justfile_directory|just_executable)\ze\(\)" contains=justBuiltInFunctions +syntax region justBuiltInFunctions transparent matchgroup=justBuiltInFunctions start="\v%(env_var_or_default|env_var)\ze\(" end=")" oneline contains=@justAllStrings,justBuiltInFunctionParens,justNoise + +syntax match justBuiltInFunctionsError "\v%(arch|os|os_family|invocation_directory|justfile|justfile_directory|just_executable)\(.+\)" + +syntax match justOperator "\v%(\=\=|!\=|\+)" + +highlight default link justAlias Keyword +highlight default link justAssignmentOperator Operator +highlight default link justBacktick String +highlight default link justBodyText Constant +highlight default link justBoolean Boolean +highlight default link justBuiltInFunctions Function +highlight default link justBuiltInFunctionsError Error +highlight default link justBuiltInFunctionParens Delimiter +highlight default link justComment Comment +highlight default link justConditional Conditional +highlight default link justConditionalBraces Delimiter +highlight default link justExport Keyword +highlight default link justFunction Function +highlight default link justInterpolation Delimiter +highlight default link justKeywords Keyword +highlight default link justLineContinuation Special +highlight default link justLineLeadingSymbol Special +highlight default link justName Identifier +highlight default link justNextLine Special +highlight default link justOperator Operator +highlight default link justParameter Identifier +highlight default link justParameterOperator Operator +highlight default link justRawString String +highlight default link justRecipe Function +highlight default link justRecipeAt Special +highlight default link justRecipeBody Function +highlight default link justRecipeColon Operator +highlight default link justSetDefinition Keyword +highlight default link justSetKeywords Keyword +highlight default link justString String +highlight default link justVariadicOperator Operator diff --git a/syntax/sway.vim b/syntax/sway.vim deleted file mode 100644 index 5ca755c1..00000000 --- a/syntax/sway.vim +++ /dev/null @@ -1,133 +0,0 @@ -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 diff --git a/tests/filetypes.vim b/tests/filetypes.vim index ba1c1dec..69f9269b 100644 --- a/tests/filetypes.vim +++ b/tests/filetypes.vim @@ -121,7 +121,6 @@ call TestFiletype('hxml') call TestFiletype('hss') call TestFiletype('hcl') call TestFiletype('hive') -call TestFiletype('i3config') call TestFiletype('icalendar') call TestFiletype('idris') call TestFiletype('idris2') @@ -649,7 +648,8 @@ call TestFiletype('mint') call TestFiletype('jsonc') call TestFiletype('gleam') call TestFiletype('hjson') -call TestFiletype('sway') +call TestFiletype('i3config') +call TestFiletype('just') call TestFiletype('nftables') call TestFiletype('openscad') |