comparison runtime/syntax/gitattributes.vim @ 30202:fee9eccee266

Update runtime files Commit: https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 10 13:13:14 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sat, 10 Sep 2022 14:15:06 +0200
parents
children
comparison
equal deleted inserted replaced
30201:e1ffe98c7c42 30202:fee9eccee266
1 " Vim syntax file
2 " Language: git attributes
3 " Maintainer: ObserverOfTime <chronobserver@disroot.org>
4 " Filenames: .gitattributes, *.git/info/attributes
5 " Last Change: 2022 Sep 09
6
7 if exists('b:current_syntax')
8 finish
9 endif
10
11 let s:cpo_save = &cpoptions
12 set cpoptions&vim
13
14 " Comment
15 syn keyword gitattributesTodo contained TODO FIXME XXX
16 syn match gitattributesComment /^\s*#.*/ contains=gitattributesTodo
17
18 " Pattern
19 syn match gitattributesPattern /^\s*#\@!\(".\+"\|\S\+\)/ skipwhite
20 \ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned skipwhite
21 \ contains=gitattributesGlob,gitattributesRange,gitattributesSeparator
22 syn match gitattributesGlob /\\\@1<![?*]/ contained
23 syn match gitattributesRange /\\\@1<!\[.\{-}\]/ contained
24 syn match gitattributesSeparator '/' contained
25
26 " Attribute
27 syn match gitattributesAttrPrefixed /[!-]\?[A-Za-z0-9_.][-A-Za-z0-9_.]*/
28 \ transparent contained skipwhite
29 \ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
30 \ contains=gitattributesPrefix,gitattributesName
31 syn match gitattributesAttrAssigned /[A-Za-z0-9_.][-A-Za-z0-9_.]*=\S\+/
32 \ transparent contained skipwhite
33 \ nextgroup=gitattributesAttrPrefixed,gitattributesAttrAssigned
34 \ contains=gitattributesName,gitattributesAssign,gitattributesBoolean,gitattributesString
35 syn match gitattributesName /[A-Za-z0-9_.][-A-Za-z0-9_.]*/
36 \ contained nextgroup=gitattributesAssign
37 syn match gitattributesPrefix /[!-]/ contained
38 \ nextgroup=gitAttributesName
39 syn match gitattributesAssign '=' contained
40 \ nextgroup=gitattributesBoolean,gitattributesString
41 syn match gitattributesString /=\@1<=\S\+/ contained
42 syn keyword gitattributesBoolean true false contained
43
44 " Macro
45 syn match gitattributesMacro /^\s*\[attr\]\s*\S\+/
46 \ nextgroup=gitattributesAttribute skipwhite
47
48 hi def link gitattributesAssign Operator
49 hi def link gitattributesBoolean Boolean
50 hi def link gitattributesComment Comment
51 hi def link gitattributesGlob Special
52 hi def link gitattributesMacro Define
53 hi def link gitattributesName Identifier
54 hi def link gitattributesPrefix SpecialChar
55 hi def link gitattributesRange Special
56 hi def link gitattributesSeparator Delimiter
57 hi def link gitattributesString String
58 hi def link gitattributesTodo Todo
59
60 let b:current_syntax = 'gitattributes'
61
62 let &cpoptions = s:cpo_save
63 unlet s:cpo_save