45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:             Protobuf Text Format
 | |
| " Maintainer:           Lakshay Garg <lakshayg@outlook.in>
 | |
| " Last Change:          2020 Nov 17
 | |
| " Homepage:             https://github.com/lakshayg/vim-pbtxt
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn case ignore
 | |
| 
 | |
| syn keyword pbtxtTodo     TODO FIXME contained
 | |
| syn keyword pbtxtBool     true false contained
 | |
| 
 | |
| syn match   pbtxtInt      display   "\<\(0\|[1-9]\d*\)\>"
 | |
| syn match   pbtxtHex      display   "\<0[xX]\x\+\>"
 | |
| syn match   pbtxtFloat    display   "\(0\|[1-9]\d*\)\=\.\d*"
 | |
| syn match   pbtxtMessage  display   "^\s*\w\+\s*{"me=e-1
 | |
| syn match   pbtxtField    display   "^\s*\w\+:"me=e-1
 | |
| syn match   pbtxtEnum     display   ":\s*\a\w\+"ms=s+1   contains=pbtxtBool
 | |
| syn region  pbtxtString   start=+"+ skip=+\\"+ end=+"+   contains=@Spell
 | |
| syn region  pbtxtComment  start="#" end="$"      keepend contains=pbtxtTodo,@Spell
 | |
| 
 | |
| hi def link pbtxtTodo     Todo
 | |
| hi def link pbtxtBool     Boolean
 | |
| hi def link pbtxtInt      Number
 | |
| hi def link pbtxtHex      Number
 | |
| hi def link pbtxtFloat    Float
 | |
| hi def link pbtxtMessage  Structure
 | |
| hi def link pbtxtField    Identifier
 | |
| hi def link pbtxtEnum     Define
 | |
| hi def link pbtxtString   String
 | |
| hi def link pbtxtComment  Comment
 | |
| 
 | |
| let b:current_syntax = "pbtxt"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 | |
| 
 | |
| " vim: nowrap sw=2 sts=2 ts=8 noet
 |