diff options
author | Christian Clason <c.clason@uni-graz.at> | 2023-08-13 11:16:10 +0200 |
---|---|---|
committer | Christian Clason <c.clason@uni-graz.at> | 2023-08-13 11:53:51 +0200 |
commit | a600ac5263b202f6883ef1e7406b4475bd1e136d (patch) | |
tree | 076bfb044e690de94db3186accda21a2099bfa54 | |
parent | 4a936ad2dcb3fbf90cedfe8ee2d82b5edacea6fe (diff) | |
download | rneovim-a600ac5263b202f6883ef1e7406b4475bd1e136d.tar.gz rneovim-a600ac5263b202f6883ef1e7406b4475bd1e136d.tar.bz2 rneovim-a600ac5263b202f6883ef1e7406b4475bd1e136d.zip |
vim-patch:2f339aad6c80
Add syntax & ftplugin for pymanifest (vim/vim#12773)
https://github.com/vim/vim/commit/2f339aad6c80e82d7c1237b402392065857174d4
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
-rw-r--r-- | runtime/ftplugin/pymanifest.vim | 13 | ||||
-rw-r--r-- | runtime/syntax/pymanifest.vim | 44 |
2 files changed, 57 insertions, 0 deletions
diff --git a/runtime/ftplugin/pymanifest.vim b/runtime/ftplugin/pymanifest.vim new file mode 100644 index 0000000000..a77e956ae5 --- /dev/null +++ b/runtime/ftplugin/pymanifest.vim @@ -0,0 +1,13 @@ +" Vim filetype plugin +" Language: PyPA manifest +" Maintainer: ObserverOfTime <chronobserver@disroot.org> +" Last Change: 2023 Aug 08 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setl comments=:# commentstring=#\ %s + +let b:undo_ftplugin = 'setl com< cms<' diff --git a/runtime/syntax/pymanifest.vim b/runtime/syntax/pymanifest.vim new file mode 100644 index 0000000000..5f7d22cf2d --- /dev/null +++ b/runtime/syntax/pymanifest.vim @@ -0,0 +1,44 @@ +" Vim syntax file +" Language: PyPA manifest +" Maintainer: ObserverOfTime <chronobserver@disroot.org> +" Filenames: MANIFEST.in +" Last Change: 2023 Aug 12 + +if exists('b:current_syntax') + finish +endif + +let s:cpo_save = &cpoptions +set cpoptions&vim + +syn iskeyword @,- + +" Comments +syn keyword pymanifestTodo contained TODO FIXME XXX +syn match pymanifestComment /\\\@1<!#.*/ contains=pymanifestTodo + +" Commands +syn keyword pymanifestCommand + \ include exclude + \ recursive-include global-include + \ global-include global-exclude + \ graft prune + +" Globs & character ranges +syn match pymanifestGlob /\*\|\*\*\|?/ +syn match pymanifestRange /\\\@1<!\[.\{-}\]/ + +" Line break +syn match pymanifestLinebreak /\\$\|\\\ze\s\+#/ + +hi def link pymanifestCommand Keyword +hi def link pymanifestComment Comment +hi def link pymanifestGlob SpecialChar +hi def link pymanifestLinebreak SpecialKey +hi def link pymanifestRange Special +hi def link pymanifestTodo Todo + +let b:current_syntax = 'pymanifest' + +let &cpoptions = s:cpo_save +unlet s:cpo_save |