diff options
-rw-r--r-- | after/syntax/proto.vim | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/after/syntax/proto.vim b/after/syntax/proto.vim index ea026df..d0cdae2 100644 --- a/after/syntax/proto.vim +++ b/after/syntax/proto.vim @@ -32,7 +32,7 @@ syn keyword pbOneofKeyword oneof nextgroup=pbOneofName skipwhite syn match pbOneofName +\<\w\+\>+ nextgroup=pbOneofBody contained skipwhite syn region pbOneofBody start=+{+ end=+}+ contains=@oneofContains contained -syn match protoFieldType "\<[A-Za-z]\%(\w\|\.\)\+\>" nextgroup=protoFieldName skipempty skipwhite +syn match protoFieldType "\<\([A-Za-z0-9_]\+\|\_s*\.\_s*[A-Za-z0-9_]\+\)\+\>" nextgroup=protoFieldName skipempty skipwhite syn match protoFieldName "\<\w\+\>" nextgroup=protoFieldEquals contained skipwhite syn match protoFieldEquals +=+ contained nextgroup=protoFieldNumber,protoFieldNumberBad contained skipwhite syn match protoFieldNumber +[1-9][0-9]*+ contained @@ -46,14 +46,20 @@ syn match pbEnumTypeName "\<\w\+\>" nextgroup=enumBody skipempty skipwhite conta syn region enumBody start=+{+ end=+}+ contains=enumValue,protoComment,protoInt,pbAnnotation fold contained syn match enumValue "\zs\w\+\ze\s*=" contained +syn keyword pbExtendKeyword extend nextgroup=pbMessageQualifiedName skipwhite +syn match pbMessageQualifiedName "\<[a-zA-Z0-9_.]\+\>" nextgroup=pbMessageBody skipempty skipwhite + +hi! link pbExtendKeyword protoExtend +hi! link pbMessageQualifiedName pbMessage2 + syn keyword pbMessageKeyword message nextgroup=pbMessage2 skipwhite syn match pbMessage2 "\<\w\+\>" nextgroup=pbMessageBody skipempty skipwhite -syn region pbMessageBody start=+{+ end=+}+ contains=@top fold contained +syn region pbMessageBody start=+{+ end=+}+ contains=@top,pbExtendKeyword fold contained syn region protoAnnotString start=/"/ skip=/\\./ end=/"/ contained syn region protoAnnotString start=/'/ skip=/\\./ end=/'/ contained -syn region pbAnnotation start=+\[+ end=+\]+ contains=protoAnnotString,pbAnnotationType fold +syn region pbAnnotation start=+\[+ end=+\]+ contains=protoAnnotString,pbAnnotationType,protoComment fold syn keyword pbOptionKeyword option nextgroup=pbAnnotationType skipwhite syn match pbAnnotationType +([a-z._]\+)+ nextgroup=annotationEquals contained skipwhite |