mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
Add Datascript syntax file. (Dominique Pelle)
This commit is contained in:
@@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Windows installer doesn't delete the uninstall key on 64 bit systems.
|
||||
|
||||
Before release 7.3:
|
||||
- Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23)
|
||||
|
||||
|
@@ -7337,6 +7337,7 @@ New syntax files: ~
|
||||
Haskell Cabal build file (Vincent Berthoux)
|
||||
ChaiScript (Jason Turner)
|
||||
Cucumber (Tim Pope)
|
||||
Datascript (Dominique Pelle)
|
||||
Fantom (Kamil Toman)
|
||||
Liquid (Tim Pope)
|
||||
Markdown (Tim Pope)
|
||||
|
@@ -617,6 +617,9 @@ au BufNewFile,BufRead *.def setf def
|
||||
" Dracula
|
||||
au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula
|
||||
|
||||
" Datascript
|
||||
au BufNewFile,BufRead *.ds setf datascript
|
||||
|
||||
" dsl
|
||||
au BufNewFile,BufRead *.dsl setf dsl
|
||||
|
||||
|
90
runtime/syntax/datascript.vim
Normal file
90
runtime/syntax/datascript.vim
Normal file
@@ -0,0 +1,90 @@
|
||||
" Vim syntax file
|
||||
" Language: Datascript
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2010-08-01
|
||||
"
|
||||
" DataScript is a formal language for modelling binary datatypes,
|
||||
" bitstreams or file formats. For more information, see:
|
||||
" http://datascript.berlios.de/DataScriptLanguageOverview.html
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn keyword dsPackage import package
|
||||
syn keyword dsType bit string
|
||||
syn keyword dsType int8 int16 int32 int64
|
||||
syn keyword dsType uint8 uint16 uint32 uint64
|
||||
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 dsCompound union choice on enum bitmask subtype
|
||||
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
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key
|
||||
|
||||
" 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
|
||||
|
||||
" 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 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"
|
Reference in New Issue
Block a user