diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-08-01 21:48:21 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-08-01 21:48:21 +0200 |
commit | 90df5507c03e83dfcadb2334a8b1c7229c6caa78 (patch) | |
tree | d6ef3185e4c5297168849349bfc038b8bce888d7 | |
parent | 3a0ae77fe644f69b7d3c432d0ceb2d15c43dbdfb (diff) |
Add Datascript syntax file. (Dominique Pelle)
-rw-r--r-- | runtime/doc/todo.txt | 2 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 1 | ||||
-rw-r--r-- | runtime/filetype.vim | 3 | ||||
-rw-r--r-- | runtime/syntax/datascript.vim | 90 |
4 files changed, 94 insertions, 2 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 0d37f5c9dd..b98b0018ba 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -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) diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 7bf2e81cdc..307868469d 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -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) diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 62652f52bd..98785b39b6 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -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 diff --git a/runtime/syntax/datascript.vim b/runtime/syntax/datascript.vim new file mode 100644 index 0000000000..b51f41877f --- /dev/null +++ b/runtime/syntax/datascript.vim @@ -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" |