-
-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add syntax & ftplugin for pymanifest (#12773)
- Loading branch information
1 parent
f9c4c2f
commit 2f339aa
Showing
3 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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<' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |