summaryrefslogtreecommitdiff
path: root/mnv/runtime/syntax/pymanifest.mnv
diff options
context:
space:
mode:
Diffstat (limited to 'mnv/runtime/syntax/pymanifest.mnv')
-rw-r--r--mnv/runtime/syntax/pymanifest.mnv44
1 files changed, 44 insertions, 0 deletions
diff --git a/mnv/runtime/syntax/pymanifest.mnv b/mnv/runtime/syntax/pymanifest.mnv
new file mode 100644
index 0000000000..bdd0e2e064
--- /dev/null
+++ b/mnv/runtime/syntax/pymanifest.mnv
@@ -0,0 +1,44 @@
+" MNV 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&mnv
+
+syn iskeyword @,-
+
+" Comments
+syn keyword pymanifestTodo contained TODO FIXME XXX
+syn match pymanifestComment /\\\@1<!#.*/ contains=pymanifestTodo
+
+" Commands
+syn keyword pymanifestCommand
+ \ include exclude
+ \ recursive-include recursive-exclude
+ \ 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