vim-patch:2f339aad6c80

Add syntax & ftplugin for pymanifest (vim/vim#12773)

2f339aad6c

Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
This commit is contained in:
Christian Clason 2023-08-13 11:16:10 +02:00
parent 4a936ad2dc
commit a600ac5263
2 changed files with 57 additions and 0 deletions

View File

@ -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<'

View File

@ -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