0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

Add Datascript syntax file. (Dominique Pelle)

This commit is contained in:
Bram Moolenaar
2010-08-01 21:48:21 +02:00
parent 3a0ae77fe6
commit 90df5507c0
4 changed files with 94 additions and 2 deletions

View File

@@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Windows installer doesn't delete the uninstall key on 64 bit systems.
Before release 7.3: Before release 7.3:
- Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23)

View File

@@ -7337,6 +7337,7 @@ New syntax files: ~
Haskell Cabal build file (Vincent Berthoux) Haskell Cabal build file (Vincent Berthoux)
ChaiScript (Jason Turner) ChaiScript (Jason Turner)
Cucumber (Tim Pope) Cucumber (Tim Pope)
Datascript (Dominique Pelle)
Fantom (Kamil Toman) Fantom (Kamil Toman)
Liquid (Tim Pope) Liquid (Tim Pope)
Markdown (Tim Pope) Markdown (Tim Pope)

View File

@@ -617,6 +617,9 @@ au BufNewFile,BufRead *.def setf def
" Dracula " Dracula
au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula
" Datascript
au BufNewFile,BufRead *.ds setf datascript
" dsl " dsl
au BufNewFile,BufRead *.dsl setf dsl au BufNewFile,BufRead *.dsl setf dsl

View 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"