Mercurial > vim
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 |