Update runtime files
This commit is contained in:
63
runtime/syntax/gitattributes.vim
Normal file
63
runtime/syntax/gitattributes.vim
Normal file
@ -0,0 +1,63 @@
|
||||
" Vim syntax file
|
||||
" Language: git attributes
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: .gitattributes, *.git/info/attributes
|
||||
" Last Change: 2022 Sep 09
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Comment
|
||||
syn keyword gitattributesTodo contained TODO FIXME XXX
|
||||
syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo
|
||||
|
||||
" Pattern
|
||||
syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite
|
||||
\ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator
|
||||
syn match gitattributesGlob /\\\@1<![?*]/ contained
|
||||
syn match gitattributesRange /\\\@1<!\[.\{-}\]/ contained
|
||||
syn match gitattributesSeparator '/' contained
|
||||
|
||||
" Attribute
|
||||
syn match gitattributesAttrPrefixed /[!-]\?[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesPrefix,gitattributesName
|
||||
syn match gitattributesAttrAssigned /[A-Za-z0-9_.][-A-Za-z0-9_.]*=\S\+/
|
||||
\ transparent contained skipwhite
|
||||
\ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
|
||||
\ contains=gitattributesName,gitattributesAssign,gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesName /[A-Za-z0-9_.][-A-Za-z0-9_.]*/
|
||||
\ contained nextgroup=gitattributesAssign
|
||||
syn match gitattributesPrefix /[!-]/ contained
|
||||
\ nextgroup=gitAttributesName
|
||||
syn match gitattributesAssign '=' contained
|
||||
\ nextgroup=gitattributesBoolean,gitattributesString
|
||||
syn match gitattributesString /=\@1<=\S\+/ contained
|
||||
syn keyword gitattributesBoolean true false contained
|
||||
|
||||
" Macro
|
||||
syn match gitattributesMacro /^\s*\[attr\]\s*\S\+/
|
||||
\ nextgroup=gitattributesAttribute skipwhite
|
||||
|
||||
hi def link gitattributesAssign Operator
|
||||
hi def link gitattributesBoolean Boolean
|
||||
hi def link gitattributesComment Comment
|
||||
hi def link gitattributesGlob Special
|
||||
hi def link gitattributesMacro Define
|
||||
hi def link gitattributesName Identifier
|
||||
hi def link gitattributesPrefix SpecialChar
|
||||
hi def link gitattributesRange Special
|
||||
hi def link gitattributesSeparator Delimiter
|
||||
hi def link gitattributesString String
|
||||
hi def link gitattributesTodo Todo
|
||||
|
||||
let b:current_syntax = 'gitattributes'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
Reference in New Issue
Block a user