aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-08-13 11:16:10 +0200
committerChristian Clason <c.clason@uni-graz.at>2023-08-13 11:53:51 +0200
commita600ac5263b202f6883ef1e7406b4475bd1e136d (patch)
tree076bfb044e690de94db3186accda21a2099bfa54
parent4a936ad2dcb3fbf90cedfe8ee2d82b5edacea6fe (diff)
downloadrneovim-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.vim13
-rw-r--r--runtime/syntax/pymanifest.vim44
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