Mercurial > vim
changeset 32767:c79fc3d7410c
Add syntax & ftplugin for pymanifest (#12773)
Commit: https://github.com/vim/vim/commit/2f339aad6c80e82d7c1237b402392065857174d4
Author: ObserverOfTime <chronobserver@disroot.org>
Date: Sun Aug 13 11:26:20 2023 +0300
Add syntax & ftplugin for pymanifest (https://github.com/vim/vim/issues/12773)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 13 Aug 2023 10:30:09 +0200 |
parents | c42a15deee64 |
children | ad7365d54a0e |
files | .github/CODEOWNERS runtime/ftplugin/pymanifest.vim runtime/syntax/pymanifest.vim |
diffstat | 3 files changed, 59 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -189,6 +189,7 @@ runtime/ftplugin/poefilter.vim @Observe runtime/ftplugin/postscr.vim @mrdubya runtime/ftplugin/ps1.vim @heaths runtime/ftplugin/ps1xml.vim @heaths +runtime/ftplugin/pymanifest.vim @ObserverOfTime runtime/ftplugin/python.vim @tpict runtime/ftplugin/qb64.vim @dkearns runtime/ftplugin/r.vim @jalvesaq @@ -439,6 +440,7 @@ runtime/syntax/prolog.vim @XVilka runtime/syntax/ps1.vim @heaths runtime/syntax/ps1xml.vim @heaths runtime/syntax/psl.vim @danielkho +runtime/syntax/pymanifest.vim @ObserverOfTime runtime/syntax/qb64.vim @dkearns runtime/syntax/r.vim @jalvesaq runtime/syntax/racket.vim @benknoble
new file mode 100644 --- /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<'
new file mode 100644 --- /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