Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if exists('b:current_syntax')
- finish
- endif
- let b:current_syntax = 'dsc'
- syn match dComment '\v#.*$'
- syn match dScript '\v^\w.*:$' contains=dScriptEnd
- syn match dScriptEnd '\v:$' contained
- syn match dSection '\v\s.*[^\-].*:$' contains=dSectionEnd
- syn match dSectionEnd '\v:$' contained
- syn match dKey '\v\s*[^\-].*:[^$]' contains=dKeyEnd
- syn match dKeyEnd '\v: ' contained
- syn match dEvent '\v\s.*on .*:$' contains=dEventEnd
- syn match dEventEnd '\v:$' contained
- syn match dCmd '\v\s*\- .*' contains=dCmdName,dStr,dChar,dTag,dAction,dOp,dActionDelim
- syn match dCmdName '\v- \~?\w*' contained
- syn match dBlock '\v\s.*\- .*:$' contains=dBlockName,dBlockEnd,dStr,dChar,dTag,dOp
- syn match dBlockName '\v\- (if|else( if)?|choose|case|while|repeat|foreach|random)' contained
- syn match dBlockEnd '\v:$' contained
- syn match dTagDigit '\v\d*' containedin=dTag contained
- syn match dTagDot '\v\.' containedin=dTagDelim contained
- syn match dTagDelim '\v\<.*\>' containedin=dTag contained
- syn match dTagOp '\v(\+|\-|\*|\/)' containedin=dTag contained
- syn match dParamDelim '\v\[.*]' contained
- syn match dStrDelim '\v".*"' contained
- syn match dCharDelim '\v\'.*\'' contained
- syn match dOp '\v (\=\= |!\= |\>\= |\<\= |\> |\< |\&\& !?|\|\| !?|\!)' contained
- syn match dActionDelim '\v:' containedin=dAction contained
- syn match dAction '\v:(\+\+|\-\-|\+:|\-:|\*:|\/:|\!\|:|\|:|\!)' contains=dActionDelim containedin=dCmd contained
- syn region dTag matchgroup=dTagDelim start='\v\<' matchgroup=dTagDelim end='\v\>' contains=dTag,dParam,dTagDot oneline
- syn region dParam matchgroup=dParamDelim start='\v\[' matchgroup=dParamDelim end='\v]' contains=dParam,dTag oneline contained
- syn region dStr matchgroup=dStrDelim start='\v"' matchgroup=dStrDelim end='\v"' contains=dTag,dChar oneline
- syn region dChar matchgroup=dCharDelim start='\v\'' matchgroup=dCharDelim end='\v\'' contains=dTag,dStr oneline
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement