mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
vim-patch:acb91d3905cf
runtime(zserio): add zserio syntax (vim/vim#13005)
acb91d3905
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
This commit is contained in:
parent
61ccdb2db6
commit
f02bfb6a2a
@ -676,6 +676,7 @@ SynMenu WXYZ.XFree86\ Config:xf86conf
|
|||||||
SynMenu WXYZ.YAML:yaml
|
SynMenu WXYZ.YAML:yaml
|
||||||
SynMenu WXYZ.Yacc:yacc
|
SynMenu WXYZ.Yacc:yacc
|
||||||
SynMenu WXYZ.Zimbu:zimbu
|
SynMenu WXYZ.Zimbu:zimbu
|
||||||
|
SynMenu WXYZ.Zserio:zserio
|
||||||
|
|
||||||
call append(s:lnum, "")
|
call append(s:lnum, "")
|
||||||
|
|
||||||
|
@ -650,6 +650,7 @@ an 50.170.390 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf")<CR>
|
|||||||
an 50.170.410 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR>
|
an 50.170.410 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR>
|
||||||
an 50.170.420 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
|
an 50.170.420 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR>
|
||||||
an 50.170.440 &Syntax.WXYZ.Zimbu :cal SetSyn("zimbu")<CR>
|
an 50.170.440 &Syntax.WXYZ.Zimbu :cal SetSyn("zimbu")<CR>
|
||||||
|
an 50.170.440 &Syntax.WXYZ.Zserio:cal SetSyn("zserio")<CR>
|
||||||
|
|
||||||
" The End Of The Syntax Menu
|
" The End Of The Syntax Menu
|
||||||
|
|
||||||
|
112
runtime/syntax/zserio.vim
Normal file
112
runtime/syntax/zserio.vim
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: Zserio
|
||||||
|
" Maintainer: Dominique Pellé <dominique.pelle@gmail.com>
|
||||||
|
" Last Change: 2023 Jun 18
|
||||||
|
"
|
||||||
|
" Zserio is a serialization schema language for modeling binary
|
||||||
|
" data types, bitstreams or file formats. Based on the zserio
|
||||||
|
" language it is possible to automatically generate encoders and
|
||||||
|
" decoders for a given schema in various target languages
|
||||||
|
" (e.g. Java, C++, Python).
|
||||||
|
"
|
||||||
|
" Zserio is an evolution of the DataScript language.
|
||||||
|
"
|
||||||
|
" For more information, see:
|
||||||
|
" - http://zserio.org/
|
||||||
|
" - https://github.com/ndsev/zserio
|
||||||
|
|
||||||
|
" quit when a syntax file was already loaded
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:keepcpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
syn case match
|
||||||
|
|
||||||
|
syn keyword zserioPackage import package zserio_compatibility_version
|
||||||
|
syn keyword zserioType bit bool string
|
||||||
|
syn keyword zserioType int int8 int16 int32 int64
|
||||||
|
syn keyword zserioType uint8 uint16 uint32 uint64
|
||||||
|
syn keyword zserioType float16 float32 float64
|
||||||
|
syn keyword zserioType varint varint16 varint32 varint64
|
||||||
|
syn keyword zserioType varuint varsize varuint16 varuint32 varuint64
|
||||||
|
syn keyword zserioAlign align
|
||||||
|
syn keyword zserioLabel case default
|
||||||
|
syn keyword zserioConditional if condition
|
||||||
|
syn keyword zserioBoolean true false
|
||||||
|
syn keyword zserioCompound struct union choice on enum bitmask subtype
|
||||||
|
syn keyword zserioKeyword function return
|
||||||
|
syn keyword zserioOperator lengthof valueof instanceof numbits isset
|
||||||
|
syn keyword zserioRpc service pubsub topic publish subscribe
|
||||||
|
syn keyword zserioRule rule_group rule
|
||||||
|
syn keyword zserioStorageClass const implicit packed instantiate
|
||||||
|
syn keyword zserioTodo contained TODO FIXME XXX
|
||||||
|
syn keyword zserioSql sql sql_table sql_database sql_virtual sql_without_rowid
|
||||||
|
syn keyword zserioSql explicit using
|
||||||
|
|
||||||
|
" zserioCommentGroup allows adding matches for special things in comments.
|
||||||
|
syn cluster zserioCommentGroup contains=zserioTodo
|
||||||
|
|
||||||
|
syn match zserioOffset display "^\s*[a-zA-Z_:\.][a-zA-Z0-9_:\.]*\s*:"
|
||||||
|
|
||||||
|
syn match zserioNumber display "\<\d\+\>"
|
||||||
|
syn match zserioNumberHex display "\<0[xX]\x\+\>"
|
||||||
|
syn match zserioNumberBin display "\<[01]\+[bB]\>" contains=zserioBinaryB
|
||||||
|
syn match zserioBinaryB display contained "[bB]\>"
|
||||||
|
syn match zserioOctal display "\<0\o\+\>" contains=zserioOctalZero
|
||||||
|
syn match zserioOctalZero display contained "\<0"
|
||||||
|
|
||||||
|
syn match zserioOctalError display "\<0\o*[89]\d*\>"
|
||||||
|
|
||||||
|
syn match zserioCommentError display "\*/"
|
||||||
|
syn match zserioCommentStartError display "/\*"me=e-1 contained
|
||||||
|
|
||||||
|
syn region zserioCommentL
|
||||||
|
\ start="//" skip="\\$" end="$" keepend
|
||||||
|
\ contains=@zserioCommentGroup,@Spell
|
||||||
|
syn region zserioComment
|
||||||
|
\ matchgroup=zserioCommentStart start="/\*" end="\*/"
|
||||||
|
\ contains=@zserioCommentGroup,zserioCommentStartError,@Spell extend
|
||||||
|
|
||||||
|
syn region zserioString
|
||||||
|
\ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
|
||||||
|
|
||||||
|
syn sync ccomment zserioComment
|
||||||
|
|
||||||
|
" Define the default highlighting.
|
||||||
|
hi def link zserioType Type
|
||||||
|
hi def link zserioEndian StorageClass
|
||||||
|
hi def link zserioStorageClass StorageClass
|
||||||
|
hi def link zserioAlign Label
|
||||||
|
hi def link zserioLabel Label
|
||||||
|
hi def link zserioOffset Label
|
||||||
|
hi def link zserioSql PreProc
|
||||||
|
hi def link zserioCompound Structure
|
||||||
|
hi def link zserioConditional Conditional
|
||||||
|
hi def link zserioBoolean Boolean
|
||||||
|
hi def link zserioKeyword Statement
|
||||||
|
hi def link zserioRpc Keyword
|
||||||
|
hi def link zserioRule Keyword
|
||||||
|
hi def link zserioString String
|
||||||
|
hi def link zserioNumber Number
|
||||||
|
hi def link zserioNumberBin Number
|
||||||
|
hi def link zserioBinaryB Special
|
||||||
|
hi def link zserioOctal Number
|
||||||
|
hi def link zserioOctalZero Special
|
||||||
|
hi def link zserioOctalError Error
|
||||||
|
hi def link zserioNumberHex Number
|
||||||
|
hi def link zserioTodo Todo
|
||||||
|
hi def link zserioOperator Operator
|
||||||
|
hi def link zserioPackage Include
|
||||||
|
hi def link zserioCommentError Error
|
||||||
|
hi def link zserioCommentStartError Error
|
||||||
|
hi def link zserioCommentStart zserioComment
|
||||||
|
hi def link zserioCommentL zserioComment
|
||||||
|
hi def link zserioComment Comment
|
||||||
|
|
||||||
|
let b:current_syntax = "zserio"
|
||||||
|
|
||||||
|
let &cpo = s:keepcpo
|
||||||
|
unlet s:keepcpo
|
Loading…
Reference in New Issue
Block a user