mirror of
				https://github.com/vim/vim.git
				synced 2025-10-27 09:24:23 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	DataScript
 | |
| " Maintainer:	Dominique Pelle <dominique.pelle@gmail.com>
 | |
| " Last Change:	2015 Jul 30
 | |
| "
 | |
| " DataScript is a formal language for modelling binary datatypes,
 | |
| " bitstreams or file formats. For more information, see:
 | |
| "
 | |
| " http://dstools.sourceforge.net/DataScriptLanguageOverview.html
 | |
| 
 | |
| " quit when a syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| let s:keepcpo= &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn keyword dsPackage      import package
 | |
| syn keyword dsType         bit bool string
 | |
| syn keyword dsType         int int8 int16 int32 int64
 | |
| syn keyword dsType         uint8 uint16 uint32 uint64
 | |
| syn keyword dsType         varint16 varint32 varint64
 | |
| syn keyword dsType         varuint16 varuint32 varuint64
 | |
| syn keyword dsType         leint16 leint32 leint64
 | |
| syn keyword dsType         leuint16 leuint32 leuint64
 | |
| syn keyword dsEndian       little big
 | |
| syn keyword dsAlign        align
 | |
| syn keyword dsLabel        case default
 | |
| syn keyword dsConditional  if condition
 | |
| syn keyword dsBoolean      true false
 | |
| syn keyword dsCompound     union choice on enum bitmask subtype explicit
 | |
| syn keyword dsKeyword      function return
 | |
| syn keyword dsOperator     sizeof bitsizeof lengthof is sum forall in
 | |
| syn keyword dsStorageClass const
 | |
| syn keyword dsTodo         contained TODO FIXME XXX
 | |
| syn keyword dsSql          sql sql_table sql_database sql_pragma sql_index
 | |
| syn keyword dsSql          sql_integer sql_metadata sql_key sql_virtual
 | |
| syn keyword dsSql          using reference_key foreign_key to
 | |
| 
 | |
| " dsCommentGroup allows adding matches for special things in comments.
 | |
| syn cluster dsCommentGroup  contains=dsTodo
 | |
| 
 | |
| syn match   dsOffset        display "^\s*[a-zA-Z_:\.][a-zA-Z0-9_:\.]*\s*:"
 | |
| 
 | |
| syn match   dsNumber        display "\<\d\+\>"
 | |
| syn match   dsNumberHex     display "\<0[xX]\x\+\>"
 | |
| syn match   dsNumberBin     display "\<[01]\+[bB]\>" contains=dsBinaryB
 | |
| syn match   dsBinaryB       display contained "[bB]\>"
 | |
| syn match   dsOctal         display "\<0\o\+\>" contains=dsOctalZero
 | |
| syn match   dsOctalZero     display contained "\<0"
 | |
| 
 | |
| syn match   dsOctalError    display "\<0\o*[89]\d*\>"
 | |
| 
 | |
| syn match   dsCommentError      display "\*/"
 | |
| syn match   dsCommentStartError display "/\*"me=e-1 contained
 | |
| 
 | |
| syn region   dsCommentL
 | |
|   \ start="//" skip="\\$" end="$" keepend
 | |
|   \ contains=@dsCommentGroup,@Spell
 | |
| syn region   dsComment
 | |
|   \ matchgroup=dsCommentStart start="/\*" end="\*/"
 | |
|   \ contains=@dsCommentGroup,dsCommentStartError,@Spell extend
 | |
| 
 | |
| syn region  dsString
 | |
|   \ start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
 | |
| 
 | |
| syn sync ccomment dsComment
 | |
| 
 | |
| " Define the default highlighting.
 | |
| hi def link dsType              Type
 | |
| hi def link dsEndian            StorageClass
 | |
| hi def link dsStorageClass      StorageClass
 | |
| hi def link dsAlign             Label
 | |
| hi def link dsLabel             Label
 | |
| hi def link dsOffset            Label
 | |
| hi def link dsSql               PreProc
 | |
| hi def link dsCompound          Structure
 | |
| hi def link dsConditional       Conditional
 | |
| hi def link dsBoolean           Boolean
 | |
| hi def link dsKeyword           Statement
 | |
| hi def link dsString            String
 | |
| hi def link dsNumber            Number
 | |
| hi def link dsNumberBin         Number
 | |
| hi def link dsBinaryB           Special
 | |
| hi def link dsOctal             Number
 | |
| hi def link dsOctalZero         Special
 | |
| hi def link dsOctalError        Error
 | |
| hi def link dsNumberHex         Number
 | |
| hi def link dsTodo              Todo
 | |
| hi def link dsOperator          Operator
 | |
| hi def link dsPackage           Include
 | |
| hi def link dsCommentError      Error
 | |
| hi def link dsCommentStartError Error
 | |
| hi def link dsCommentStart      dsComment
 | |
| hi def link dsCommentL          dsComment
 | |
| hi def link cCommentL           dsComment
 | |
| hi def link dsComment           Comment
 | |
| 
 | |
| let b:current_syntax = "datascript"
 | |
| 
 | |
| let &cpo = s:keepcpo
 | |
| unlet s:keepcpo
 |