summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2023-01-25 23:08:30 +0000
committerJosh Rahm <rahm@google.com>2023-01-25 23:08:30 +0000
commit6efae34578a0daefabd74bf55fa8acc03dbac703 (patch)
tree5874254498062d4098e220b78857a8bbd1e6232e
parentb650f30b56edf5a0be062891939e855f5044d990 (diff)
downloadconfig.vim-6efae34578a0daefabd74bf55fa8acc03dbac703.tar.gz
config.vim-6efae34578a0daefabd74bf55fa8acc03dbac703.tar.bz2
config.vim-6efae34578a0daefabd74bf55fa8acc03dbac703.zip
Added more proto syntax highlighting
-rw-r--r--after/syntax/proto.vim12
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