summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2017-03-23 12:48:17 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2017-03-23 12:48:28 +0100
commit0134940f23eaf2eb4a0c9f0f88e3c1c8a0eed8ba (patch)
tree812d1014f0a46980e5d530b4524c9fa4f9926b98
parent8bb259b1f6329837f471c6df2385f44fef02d2b4 (diff)
downloadvim-polyglot-0134940f23eaf2eb4a0c9f0f88e3c1c8a0eed8ba.tar.gz
vim-polyglot-0134940f23eaf2eb4a0c9f0f88e3c1c8a0eed8ba.zip
Add sxhkd support, closes #186
-rw-r--r--README.md1
-rwxr-xr-xbuild1
-rw-r--r--ftdetect/polyglot.vim11
-rw-r--r--syntax/sxhkdrc.vim30
4 files changed, 43 insertions, 0 deletions
diff --git a/README.md b/README.md
index e728c5df..c02f240c 100644
--- a/README.md
+++ b/README.md
@@ -117,6 +117,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [solidity](https://github.com/ethereum/vim-solidity) (syntax, indent, ftdetect)
- [stylus](https://github.com/wavded/vim-stylus) (syntax, indent, ftplugin, ftdetect)
- [swift](https://github.com/keith/swift.vim) (syntax, indent, ftplugin, ftdetect)
+- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (syntax, ftdetect)
- [systemd](https://github.com/kurayama/systemd-vim-syntax) (syntax, ftdetect)
- [terraform](https://github.com/hashivim/vim-terraform) (syntax, indent, ftdetect, ftplugin)
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin, ftdetect)
diff --git a/build b/build
index e89a4b59..78e4b93e 100755
--- a/build
+++ b/build
@@ -183,6 +183,7 @@ PACKS="
solidity:ethereum/vim-solidity
stylus:wavded/vim-stylus
swift:keith/swift.vim
+ sxhkd:baskerville/vim-sxhkdrc
systemd:kurayama/systemd-vim-syntax
terraform:hashivim/vim-terraform
textile:timcharper/textile.vim
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index a80ec608..4ea31c58 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -937,6 +937,17 @@ endfunction
endif
+" ftdetect/sxhkdrc.vim
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sxhkd') == -1
+
+if &compatible || v:version < 603
+ finish
+endif
+
+autocmd BufNewFile,BufRead sxhkdrc,*.sxhkdrc set ft=sxhkdrc
+
+endif
+
" ftdetect/systemd.vim
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'systemd') == -1
diff --git a/syntax/sxhkdrc.vim b/syntax/sxhkdrc.vim
new file mode 100644
index 00000000..bb8ee95b
--- /dev/null
+++ b/syntax/sxhkdrc.vim
@@ -0,0 +1,30 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sxhkd') == -1
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syntax include @Shell syntax/sh.vim
+
+syn match sxComment "^#.*$"
+syn match sxHotkey "[^ #].*" contains=sxKeysym,sxModifier,sxHotkeySep,sxSequence
+syn match sxCommand "^\s.*$" containedin=ALL contains=@Shell,sxSequenceShell
+syn keyword sxModifier super hyper meta alt control ctrl shift mode_switch lock mod1 mod2 mod3 mod4 mod5 any contained
+syn match sxKeysym "[^ :;{,}+-]\+" contained contains=sxAction
+syn match sxAction "[@~/]" contained
+syn match sxHotkeySep "[;:+]" contained
+syn match sxSequenceSep "[,-]" contained
+syn region sxSequence matchgroup=sxBrace start=/{/ end=/}/ contained keepend oneline contains=sxKeysym,sxModifier,sxHotkeySep,sxSequenceSep
+syn region sxSequenceShell matchgroup=sxBrace start=/{/ end=/}/ contained keepend oneline contains=sxKeysym,sxSequenceSep
+
+hi def link sxComment Comment
+hi def link sxModifier Keyword
+hi def link sxKeysym Identifier
+hi def link sxAction Special
+hi def link sxBrace Special
+hi def link sxHotkeySep Delimiter
+hi def link sxSequenceSep Delimiter
+
+let b:current_syntax = "sxhkdrc"
+
+endif