" Vim syntax file
" Language:	Datascript
" Maintainer:	Dominique Pelle <dominique.pelle@gmail.com>
" Last Change:	2012 Apr 30
"
" 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
let s:keepcpo= &cpo
set cpo&vim

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"

let &cpo = s:keepcpo
unlet s:keepcpo
