diff options
Diffstat (limited to 'old/syntax')
-rw-r--r-- | old/syntax/edc.vim | 259 | ||||
-rw-r--r-- | old/syntax/embryo.vim | 195 | ||||
-rw-r--r-- | old/syntax/eo.vim | 106 | ||||
-rw-r--r-- | old/syntax/pasm.vim | 87 | ||||
-rw-r--r-- | old/syntax/pir.vim | 156 | ||||
-rw-r--r-- | old/syntax/pmc.vim | 350 | ||||
-rw-r--r-- | old/syntax/ragel.vim | 165 | ||||
-rw-r--r-- | old/syntax/scala.vim | 151 | ||||
-rw-r--r-- | old/syntax/tjp.vim | 706 |
9 files changed, 2175 insertions, 0 deletions
diff --git a/old/syntax/edc.vim b/old/syntax/edc.vim new file mode 100644 index 0000000..106a4ed --- /dev/null +++ b/old/syntax/edc.vim @@ -0,0 +1,259 @@ +" Vim syntax file +" Language: EDC +" Maintainer: Viktor Kojouharov +" Last Change: 2007 02 24 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" A bunch of useful keywords +syn keyword edcBlock images data fonts collections group contained +syn keyword edcBlock part parts dragable description sounds sample contained +syn keyword edcBlock text font fill origin size image proxy contained +syn keyword edcBlock programs program styles style contained +syn keyword edcBlock gradient spectra spectrum contained +syn keyword edcBlock color_classes color_class rel1 rel2 contained +syn keyword edcBlock items item file params externals contained +syn keyword edcBlock map rotation perspective script lua_script contained +syn keyword edcBlock set +syn keyword edcBlock sequence link contained +" LazEDC blocks +syn keyword edcBlock desc rect swallow textblock box table external spacer contained + +syn keyword edcLabel item name alias min max type effect contained +syn keyword edcLabel mouse_events repeat_events clip_to contained +syn keyword edcLabel x y z confine events base_scale scale contained +syn keyword edcLabel ignore_flags precise_is_inside select_mode contained +syn keyword edcLabel use_alternate_font_metrics entry_mode contained +syn keyword edcLabel source source2 source3 source4 contained +syn keyword edcLabel source5 source6 multiline pointer_mode contained +syn keyword edcLabel state visible step aspect fixed middle contained +syn keyword edcLabel aspect_preference ellipsis elipsis image contained +syn keyword edcLabel relative offset to to_x to_y contained +syn keyword edcLabel source_visible source_clip contained +syn keyword edcLabel border border_scale border_scale_by scale_hint color color2 color3 font size contained +syn keyword edcLabel signal action transition in filter contained +syn keyword edcLabel target after fit align contained +syn keyword edcLabel text smooth inherit tag base style contained +syn keyword edcLabel text_source color_class text_class contained +syn keyword edcLabel spectrum angle spread normal tween contained +syn keyword edcLabel padding prefer weight aspect_mode contained +syn keyword edcLabel options layout position span contained +syn keyword edcLabel homogeneous contained +syn keyword edcLabel on perspective light perspective_on contained +syn keyword edcLabel backface_cull alpha center focus zplane focal contained +syn keyword edcLabel int double string external script_only contained +syn keyword edcLabel insert_before insert_after contained +syn keyword edcLabel script_recursion contained +syn keyword edcLabel limit broadcast_signal targets target_group groups size_range contained +" LazEDC synonyms +syn keyword edcLabel before after ignore pointer alt_font clip contained + +" LazEDC shorthand +syn keyword edcLazShort broadcast nobroadcast mouse nomouse repeat norepeat precise noprecise noscale vis hid contained + +syn keyword edcConstant COMP RAW LOSSY NONE ON_HOLD AUTOGRAB NOGRAB +syn keyword edcConstant TEXT IMAGE RECT TEXTBLOCK SWALLOW GRADIENT GROUP +syn keyword edcConstant SPACER +syn keyword edcConstant NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW PROXY +syn keyword edcConstant SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW +syn keyword edcConstant GLOW FAR_SHADOW FAR_SOFT_SHADOW +syn keyword edcConstant BOTTOM_RIGHT BOTTOM BOTTOM_LEFT LEFT +syn keyword edcConstant TOP_LEFT TOP TOP_RIGHT RIGHT +syn keyword edcConstant STATE_SET ACTION_STOP SIGNAL_EMIT FOCUS_SET +syn keyword edcConstant DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE +syn keyword edcConstant LINEAR SINUSOIDAL ACCELERATE DECELERATE +syn keyword edcConstant LIN DECEL DIVIS BOUNCE SPRING CURRENT +syn keyword edcConstant ACCEL_FAC DECEL_FAC SIN_FAC DIVISOR_INTERP +syn keyword edcConstant ACCELERATE_FACTOR DECELERATE_FACTOR +syn keyword edcConstant VERTICAL HORIZONTAL BOTH BOX TABLE +syn keyword edcConstant EDITABLE PASSWORD "default" +syn keyword edcConstant DEFAULT EXPLICIT PLAY_SAMPLE +syn keyword edcConstant SOLID +syn keyword edcConstant WIDTH HEIGHT + +syn keyword edcTodo contained TODO FIXME XXX + +syn match edcLabelMatch "\w\+:" contains=edcLabel +syn match edcLazSMatch "\w\+;" contains=edcLazShort +syn match edcBlockMatch "\w\+\_s*{" contains=edcBlock +syn match edcBlockMatch "\w\+\.\a"me=e-2 contains=edcBlock +" edcCommentGroup allows adding matches for special things in comments +syn cluster edcCommentGroup contains=edcTodo + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match edcSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" +syn region edcString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=edcSpecial +syn match edcFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained +syn match edcFormat display "%%" contained +syn region edcString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat + +syn match edcCharacter "L\='[^\\]'" +syn match edcCharacter "L'[^']*'" contains=edcSpecial +syn match edcSpecialError "L\='\\[^'\"?\\abfnrtv]'" +syn match edcSpecialCharacter "L\='\\['\"?\\abfnrtv]'" +syn match edcSpecialCharacter display "L\='\\\o\{1,3}'" +syn match edcSpecialCharacter display "'\\x\x\{1,2}'" +syn match edcSpecialCharacter display "L'\\x\x\+'" + +"when wanted, highlight trailing white space +if exists("edc_space_errors") + if !exists("edc_no_trail_space_error") + syn match edcSpaceError display excludenl "\s\+$" + endif + if !exists("edc_no_tab_space_error") + syn match edcSpaceError display " \+\t"me=e-1 + endif +endif + +"catch errors caused by wrong parenthesis and brackets +syn cluster edcParenGroup contains=edcParenError,edcIncluded,edcSpecial,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcUserCont,edcUserLabel,edcBitField,edcCommentSkip,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom +if exists("edc_no_bracket_error") + syn region edcParen transparent start='(' end=')' contains=ALLBUT,@edcParenGroup + syn match edcParenError display ")" + syn match edcErrInParen display contained "[{}]" +else + syn region edcParen transparent start='(' end=')' contains=ALLBUT,@edcParenGroup,edcErrInBracket + syn match edcParenError display "[\])]" + syn match edcErrInParen display contained "[\]{}]" + syn region edcBracket transparent start='\[' end=']' contains=ALLBUT,@edcParenGroup,edcErrInParen + syn match edcErrInBracket display contained "[);{}]" +endif + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match edcNumbers display transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctalError,edcOctal +" Same, but without octal error (for comments) +syn match edcNumbersCom display contained transparent "\<\d\|\.\d" contains=edcNumber,edcFloat,edcOctal +syn match edcNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" +"hex number +syn match edcNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match edcOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=edcOctalZero +syn match edcOctalZero display contained "\<0" +syn match edcFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match edcFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match edcFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match edcFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +" flag an octal number with wrong digits +syn match edcOctalError display contained "0\o*[89]\d*" +syn case match + +if exists("edc_comment_strings") + " A comment can contain edcString, edcCharacter and edcNumber. + " But a "*/" inside a edcString in a edcComment DOES end the comment! So we + " need to use a special type of edcString: edcCommentString, which also ends + " on "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match edcCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region edcCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=edcSpecial,edcCommentSkip + syntax region edcComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=edcSpecial + syntax region edcCommentL start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcComment2String,edcCharacter,edcNumbersCom,edcSpaceError + syntax region edcComment matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcCommentString,edcCharacter,edcNumbersCom,edcSpaceError +else + syn region edcCommentL start="//" skip="\\$" end="$" keepend contains=@edcCommentGroup,edcSpaceError + syn region edcComment matchgroup=edcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@edcCommentGroup,edcCommentStartError,edcSpaceError +endif +" keep a // comment separately, it terminates a preproc. conditional +syntax match edcCommentError display "\*/" +syntax match edcCommentStartError display "/\*"me=e-1 contained + +syn region edcPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=edcComment,edcCharacter,edcParenError,edcNumbers,edcCommentError,edcSpaceError +syn match edcPreCondit display "^\s*#\s*\(else\|endif\)\>" +syn region edcIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match edcIncluded display contained "<[^>]*>" +syn match edcInclude display "^\s*#\s*include\>\s*["<]" contains=edcIncluded +syn cluster edcPreProcGroup contains=edcPreCondit,edcIncluded,edcInclude,edcDefine,edcErrInParen,edcErrInBracket,edcCommentSkip,edcCommentString,edcComment2String,@edcCommentGroup,edcCommentStartError,edcParen,edcBracket,edcMulti,edcUserLabel +syn cluster edcAlphaNum contains=edcSpecial,edcOctalZero,edcFormat,edcNumber,edcFloat,edcOctal,edcOctalError,edcNumbersCom,edcString +syn region edcDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@edcPreProcGroup +syn region edcPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@edcPreProcGroup + +syn match edcUserLabel display "\I\i*" contained + +syn include @edcEmbryo syntax/embryo.vim +unlet b:current_syntax +syn region edcScript matchgroup=edcScriptTag start="\<script\_s*{" end="}" contains=@edcEmbryo,edcScriptTag +syn keyword edcScriptTag contained script + +syn include @edcLua syntax/lua.vim +unlet b:current_syntax +syn region edcLuaScript matchgroup=edcLuaScriptTag start="\<lua_script\_s*{" end="}" contains=@edcLua,edcLuaScriptTag +syn keyword edcLuaScriptTag contained script + +if exists("edc_minlines") + let b:edc_minlines = edc_minlines +else + let b:edc_minlines = 50 " #if 0 constructs can be long +endif +exec "syn sync ccomment edcComment minlines=" . b:edc_minlines +"syn sync fromstart + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_edc_syn_inits") + if version < 508 + let did_edc_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink edcFormat edcSpecial + HiLink edcCommentL edcComment + HiLink edcCommentStart edcComment + HiLink edcLabel Label + HiLink edcLazShort Label + HiLink edcUserLabel Label + HiLink edcConditional Conditional + HiLink edcRepeat Repeat + HiLink edcCharacter Character + HiLink edcSpecialCharacter cSpecial + HiLink edcNumber Number + HiLink edcOctal Number + HiLink edcOctalZero PreProc " link this to Error if you want + HiLink edcFloat Float + HiLink edcOctalError edcError + HiLink edcParenError edcError + HiLink edcErrInParen edcError + HiLink edcErrInBracket edcError + HiLink edcCommentError edcError + HiLink edcCommentStartError edcError + HiLink edcSpaceError edcError + HiLink edcSpecialError edcError + HiLink edcOperator Operator + HiLink edcStructure Structure + HiLink edcStorageClass StorageClass + HiLink edcInclude Include + HiLink edcPreProc PreProc + HiLink edcDefine Macro + HiLink edcIncluded edcString + HiLink edcError Error + HiLink edcBlock Function + HiLink edcScriptTag Function + HiLink edcLuaScriptTag Function + HiLink edcPreCondit PreCondit + HiLink edcConstant Constant + HiLink edcCommentString edcString + HiLink edcComment2String edcString + HiLink edcCommentSkip edcComment + HiLink edcString String + HiLink edcComment Comment + HiLink edcSpecial SpecialChar + HiLink edcTodo Todo + + delcommand HiLink +endif + +let b:current_syntax = "edc" + +" vim: ts=8 diff --git a/old/syntax/embryo.vim b/old/syntax/embryo.vim new file mode 100644 index 0000000..11175d8 --- /dev/null +++ b/old/syntax/embryo.vim @@ -0,0 +1,195 @@ +" Vim syntax file +" Language: Embryo +" Maintainer: Viktor Kojouharov +" Last Change: 2006 10 06 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" A bunch of useful keywords +syn keyword embryoConditional if else switch +syn keyword embryoRepeat while for do in +syn keyword embryoBranch break continue +syn keyword embryoOperator new +syn keyword embryoType Float State_Param Msg_Type enum +syn keyword embryoStatement return with native stock forward +syn keyword embryoLabel case default +syn keyword embryoReserved public +syn keyword embryoEdjeKey PART PROGRAM + +syn keyword embryoTodo contained TODO FIXME XXX + +" embryoCommentGroup allows adding matches for special things in comments +syn cluster embryoCommentGroup contains=embryoTodo + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match embryoSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" +syn region embryoString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=embryoSpecial +syn match embryoFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained +syn match embryoFormat display "%%" contained +syn region embryoString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat + +syn match embryoCharacter "L\='[^\\]'" +syn match embryoCharacter "L'[^']*'" contains=embryoSpecial +syn match embryoSpecialError "L\='\\[^'\"?\\abfnrtv]'" +syn match embryoSpecialCharacter "L\='\\['\"?\\abfnrtv]'" +syn match embryoSpecialCharacter display "L\='\\\o\{1,3}'" +syn match embryoSpecialCharacter display "'\\x\x\{1,2}'" +syn match embryoSpecialCharacter display "L'\\x\x\+'" + +"when wanted, highlight trailing white space +if exists("embryo_space_errors") + if !exists("embryo_no_trail_space_error") + syn match embryoSpaceError display excludenl "\s\+$" + endif + if !exists("embryo_no_tab_space_error") + syn match embryoSpaceError display " \+\t"me=e-1 + endif +endif + +"catch errors caused by wrong parenthesis and brackets +syn cluster embryoParenGroup contains=embryoParenError,embryoIncluded,embryoSpecial,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoUserCont,embryoUserLabel,embryoBitField,embryoCommentSkip,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom +if exists("embryo_no_bracket_error") + syn region embryoParen transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup + syn match embryoParenError display ")" + syn match embryoErrInParen display contained "[{}]" +else + syn region embryoParen transparent start='(' end=')' contains=ALLBUT,@embryoParenGroup,embryoErrInBracket + syn match embryoParenError display "[\])]" + syn match embryoErrInParen display contained "[\]{}]" + syn region embryoBracket transparent start='\[' end=']' contains=ALLBUT,@embryoParenGroup,embryoErrInParen + syn match embryoErrInBracket display contained "[);{}]" +endif + +syn region embryoBrace start='{' end='}' transparent +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match embryoNumbers display transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctalError,embryoOctal +" Same, but without octal error (for comments) +syn match embryoNumbersCom display contained transparent "\<\d\|\.\d" contains=embryoNumber,embryoFloat,embryoOctal +syn match embryoNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" +"hex number +syn match embryoNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match embryoOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=embryoOctalZero +syn match embryoOctalZero display contained "\<0" +syn match embryoFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match embryoFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match embryoFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match embryoFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +" flag an octal number with wrong digits +syn match embryoOctalError display contained "0\o*[89]\d*" +syn case match + +if exists("embryo_comment_strings") + " A comment can contain embryoString, embryoCharacter and embryoNumber. + " But a "*/" inside a embryoString in a embryoComment DOES end the comment! So we + " need to use a special type of embryoString: embryoCommentString, which also ends + " on "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match embryoCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region embryoCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=embryoSpecial,embryoCommentSkip + syntax region embryoComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=embryoSpecial + syntax region embryoCommentL start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoComment2String,embryoCharacter,embryoNumbersCom,embryoSpaceError + syntax region embryoComment matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoCommentString,embryoCharacter,embryoNumbersCom,embryoSpaceError +else + syn region embryoCommentL start="//" skip="\\$" end="$" keepend contains=@embryoCommentGroup,embryoSpaceError + syn region embryoComment matchgroup=embryoCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@embryoCommentGroup,embryoCommentStartErr,embryoSpaceError +endif +" keep a // comment separately, it terminates a preproc. conditional +syntax match embryoCommentError display "\*/" +syntax match embryoCommentStartErr display "/\*"me=e-1 contained + +syn region embryoPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=embryoComment,embryoCharacter,embryoParenError,embryoNumbers,embryoCommentError,embryoSpaceError +syn match embryoPreCondit display "^\s*#\s*\(else\|endif\)\>" +syn region embryoIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match embryoIncluded display contained "<[^>]*>" +syn match embryoInclude display "^\s*#\s*include\>\s*["<]" contains=embryoIncluded +syn cluster embryoPreProcGroup contains=embryoPreCondit,embryoIncluded,embryoInclude,embryoDefine,embryoErrInParen,embryoErrInBracket,embryoCommentSkip,embryoCommentString,embryoComment2String,@embryoCommentGroup,embryoCommentStartErr,embryoParen,embryoBracket,embryoMulti,embryoUserLabel +syn cluster embryoAlphaNum contains=embryoSpecial,embryoOctalZero,embryoFormat,embryoNumber,embryoFloat,embryoOctal,embryoOctalError,embryoNumbersCom,embryoString +syn region embryoDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@embryoPreProcGroup +syn region embryoPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@embryoPreProcGroup + +syn match embryoUserLabel display "\I\i*" contained + +syn match embryoFunctionName "\h\w*\s*\%((\@=\)" + +if exists("embryo_minlines") + let b:embryo_minlines = embryo_minlines +else + let b:embryo_minlines = 50 " #if 0 constructs can be long +endif +exec "syn sync ccomment embryoComment minlines=" . b:embryo_minlines +"syn sync fromstart + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_embryo_syn_inits") + if version < 508 + let did_embryo_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink embryoFormat embryoSpecial + HiLink embryoCommentL embryoComment + HiLink embryoCommentStart embryoComment + HiLink embryoLabel Label + HiLink embryoUserLabel Label + HiLink embryoConditional Conditional + HiLink embryoRepeat Repeat + HiLink embryoBranch Conditional + HiLink embryoReserved Keyword + HiLink embryoCharacter Character + HiLink embryoSpecialCharacter cSpecial + HiLink embryoNumber Number + HiLink embryoOctal Number + HiLink embryoOctalZero PreProc " link this to Error if you want + HiLink embryoFloat Float + HiLink embryoOctalError embryoError + HiLink embryoParenError embryoError + HiLink embryoErrInParen embryoError + HiLink embryoErrInBracket embryoError + HiLink embryoCommentError embryoError + HiLink embryoCommentStartErr embryoError + HiLink embryoSpaceError embryoError + HiLink embryoSpecialError embryoError + HiLink embryoOperator Operator + HiLink embryoStructure Structure + HiLink embryoEdjeKey Structure + HiLink embryoStorageClass StorageClass + HiLink embryoInclude Include + HiLink embryoPreProc PreProc + HiLink embryoDefine Macro + HiLink embryoIncluded embryoString + HiLink embryoError Error + HiLink embryoStatement Statement + HiLink embryoPreCondit PreCondit + HiLink embryoType Type + HiLink embryoConstant Constant + HiLink embryoCommentString embryoString + HiLink embryoComment2String embryoString + HiLink embryoCommentSkip embryoComment + HiLink embryoString String + HiLink embryoComment Comment + HiLink embryoSpecial SpecialChar + HiLink embryoTodo Todo + HiLink embryoFunctionName Function + + delcommand HiLink +endif + +let b:current_syntax = "embryo" + +" vim: ts=8 diff --git a/old/syntax/eo.vim b/old/syntax/eo.vim new file mode 100644 index 0000000..0d5a3c5 --- /dev/null +++ b/old/syntax/eo.vim @@ -0,0 +1,106 @@ +" Vim syntax file +" Language: Eo +" Maintainer: Daniel Zaoui +" Last Change: 2014 06 01 + +" A bunch of useful keywords +syn keyword eoBoolean false true +syn keyword eoConstants null + +syn keyword eoType byte ubyte char short ushort int uint long ulong llong ullong int8 uint8 int16 uint16 int32 uint32 int64 uint64 int128 uint128 size ssize intptr uintptr ptrdiff time float double ldouble bool void + +syn keyword eoClassTypes class abstract interface mixin +syn keyword eoStructure struct enum var +syn keyword eoTypedef type +syn keyword eoImport import + +syn keyword eoClassBodyLabels legacy_prefix eo_prefix data contained +syn keyword eoClassBodyBlockOpener properties methods events constructors implements contained + +syn keyword eoInnerBlockOpener set get keys values params contained +syn keyword eoTypeClass const own free contained +syn keyword functionKeywords constructor destructor finalize virtual legacy +syn keyword eoStatements return + +" syn match className "\(\w\+\.\)\+\w\+" + +syn match attributes "@\(inout\|out\|in\|property\|class\|free\|constructor\|extern\|beta\|protected\|const\|optional\|nullable\|warn_unused\|private\)" + +syn match eoLabelMatch "\w\+:" contains=eoClassBodyLabels +syn match eoBlockOpener "\w\+\s*{" contains=eoClassBodyBlockOpener,eoInnerBlockOpener +syn match eoParenOpener "\w\+\s*(" contains=eoTypeClass + +syn keyword eoTodo contained TODO FIXME XXX +syn cluster eoCommentGroup contains=eoTodo + +syn region eoParen start='(' end=')' transparent +syn region eoTypeParen start='<' end='>' transparent +syn region eoBlock start="{" end="}" transparent fold + +syn region eo_comment start="\/\*" end="\*\/" contains=@eoCommentGroup + +" Numbers +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match eoNumbers display transparent "\<\d\|\.\d" contains=eoNumber,eoFloat,eoOctalError,eoOctal +" Same, but without octal error (for comments) +syn match eoNumbersCom display contained transparent "\<\d\|\.\d" contains=eoNumber,eoFloat,eoOctal +syn match eoNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" +"hex number +syn match eoNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match eoOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=eoOctalZero +syn match eoOctalZero display contained "\<0" +syn match eoFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match eoFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match eoFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match eoFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" + +" flag an octal number with wrong digits +syn match eoOctalError display contained "0\o*[89]\d*" +syn case match + +" Events region +syn region eoEventsRegion start="events\s*{" end="}" transparent +syn match eoEvents "^\s*[^;: ]\+\(;\|:\|\s\)" contained containedin=eoEventsRegion contains=eoEvent +syn match eoEvent "[^;: ]\+" contained + +" Implements region +"syn region eoImplementsRegion start="\<implements\_s*{" end="}" transparent +"syn match eoImplements "\w\+" contained containedin=eoImplementsRegion + +hi def link eoImplements Todo +hi def link eoEvent Identifier +hi def link eoClassBodyLabels Label +hi def link eoClassBodyBlockOpener Label +hi def link eoInnerBlockOpener Label +hi def link functionKeywords Label +hi def link eoTypeClass Label +hi def link attributes Constant +hi def link eo_comment Comment +hi def link eoBoolean Boolean +hi def link eoConstants Constant +hi def link className Identifier +hi def link eoStatements Statement + +hi def link eoFloat Float +hi def link eoOctal Number +hi def link eoOctalZero Number +hi def link eoNumber Number +hi def link eoNumbersCom Number + +hi def link eoOctalError Error + +hi def link eoStructure Structure +hi def link eoClassTypes Structure + +hi def link eoType Type +hi def link eoTypedef Typedef +hi def link eoTodo Todo + +hi def link eoImport Include + +let b:current_syntax = "eo" diff --git a/old/syntax/pasm.vim b/old/syntax/pasm.vim new file mode 100644 index 0000000..1eaf27b --- /dev/null +++ b/old/syntax/pasm.vim @@ -0,0 +1,87 @@ +" Vim syntax file +" Language: Parrot Assembler +" Maintainer: Scott Beck <scott@gossamer-threads.com> +" Last Change: 2002 Feb 28 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn include @Pod syntax/pod.vim +syn region myPod start="^=pod" start="^=item" start="^=head" end="^=cut" keepend contains=@Pod + +syn match pasmIdentifier "[A-Za-z0-9_]\+" +syn match pasmLabel "[A-Za-z0-9_]\+:"he=e-1 +syn match pasmComment "#.*" + +" Only have 32 registers +syn match pasmINT "I\(\([1-2][0-9]\)\|\(3[0-2]\)\|[1-9]\)" +syn match pasmSTR "S\(\([1-2][0-9]\)\|\(3[0-2]\)\|[1-9]\)" +syn match pasmFLT "N\(\([1-2][0-9]\)\|\(3[0-2]\)\|[1-9]\)" +syn match pasmPMC "P\(\([1-2][0-9]\)\|\(3[0-2]\)\|[1-9]\)" + +syn match pasmNumber "[0-9]\+" +syn match pasmString +"[^"]\+"+ + +syn keyword pasmOpBasic end noop +syn keyword pasmOpSystem close err open readline ord print read time write +syn keyword pasmOpRegLoad set set_keyed clone +syn keyword pasmOpCond eq ne lt le gt ge if unless +syn keyword pasmOpArith abs add cmod dec div inc mod mul not pow sub +syn keyword pasmOpString chopm concat repeat length substr +syn keyword pasmOpMath acos asec asin atan cos cosh exp ln log10 log2 sec sech sin sinh tan tanh +syn keyword pasmOpBit and not or shl shr xor +syn keyword pasmOpFlags debug bounds profile trace +syn keyword pasmOpReg cleari clearn clearp clears popi popn popp pops pushi pushn pushp pushs +syn keyword pasmOpRegStack entrytype save restore rotate_up +syn keyword pasmOpCtrlFlow branch bsr jsr jump +syn keyword pasmOpSymbolTbl find_global +syn keyword pasmOpMisc newinterp runinterp new find_type ret sleep setline getline setfile getfile setpackage getpackage warningson warningsoff + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_pasm_syntax_inits") + if version < 508 + let did_pasm_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink pasmLabel Label + HiLink pasmIdentifier Identifier + HiLink pasmINT Type + HiLink pasmSTR Type + HiLink pasmFLT Type + HiLink pasmPMC Type + HiLink pasmNumber Number + HiLink pasmString String + HiLink pasmComment Comment + HiLink pasmOp Statement + HiLink pasmOpBasic pasmOp + HiLink pasmOpSystem pasmOp + HiLink pasmOpRegLoad pasmOp + HiLink pasmOpCond pasmOp + HiLink pasmOpArith pasmOp + HiLink pasmOpString pasmOp + HiLink pasmOpMath pasmOp + HiLink pasmOpBit pasmOp + HiLink pasmOpFlags pasmOp + HiLink pasmOpReg pasmOp + HiLink pasmOpRegStack pasmOp + HiLink pasmOpCtrlFlow pasmOp + HiLink pasmOpSymbolTbl pasmOp + HiLink pasmOpMisc pasmOp + + delcommand HiLink +endif + +let b:current_syntax = "pasm" + +" vim: ts=8 + diff --git a/old/syntax/pir.vim b/old/syntax/pir.vim new file mode 100644 index 0000000..338cc81 --- /dev/null +++ b/old/syntax/pir.vim @@ -0,0 +1,156 @@ +" Vim syntax file +" Language: Parrot IMCC +" Maintainer: Luke Palmer <fibonaci@babylonia.flatirons.org> +" Modified: Joshua Isom +" Last Change: Jan 6 2006 + +" For installation please read: +" :he filetypes +" :he syntax +" +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +" +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syntax clear + +syn include @Pod syntax/pod.vim +syn region pirPod start="^=[a-z]" end="^=cut" keepend contains=@Pod + +syn keyword pirType int float num string pmc +syn match pirPMC /\.\(Compiler\|Continuation\|Coroutine\|CSub\|NCI\|Eval\|Sub\|Scratchpad\)/ +syn match pirPMC /\.\(BigInt\|Boolean\|Complex\|Float\|Integer\|PMC\|String\|Hash\)/ +syn match pirPMC /\.\(Fixed\|Resizable\)\(Boolean\|Float\|Integer\|PMC\|String\)Array/ +syn match pirPMC /\.\(IntList\|Iterator\|Key\|ManagedStruct\|UnManagedStruct\|Pointer\)/ +syn match pirPMC /\.\(FloatVal\|Multi\|S\|String\)\?Array/ +syn match pirPMC /\.Perl\(Array\|Env\|Hash\|Int\|Num\|Scalar\|String\|Undef\)/ +syn match pirPMC /\.Parrot\(Class\|Interpreter\|IO\|Library\|Object\|Thread\)/ +syn keyword pirPMC self + +syn keyword pirOp goto if unless global addr + +syn match pirDirective /\.\(sub\|endm\|pcc_sub\|macro\|end\|emit\|eom\)/ +syn match pirDirective /\.\(local\|sym\|const\|lex\|global\|globalconst\)/ +syn match pirDirective /\.\(endnamespace\|namespace\)/ +syn match pirDirective /\.\(param\|arg\|return\|yield\)/ +syn match pirDirective /\.\(pragma\|HLL_map\|HLL\|include\|loadlib\)/ +syn match pirDirective /\.\(pcc_begin\|pcc_call\|pcc_end\|invocant\|meth_call\|nci_call\)/ +syn match pirDirective /\.\(pcc_begin_return\|pcc_end_return\)/ +syn match pirDirective /\.\(pcc_begin_yield\|pcc_end_yield\)/ + +syn match pirDirective /:\(main\|method\|load\|anon\|multi\|immediate\|outer\|lex\)/ +syn match pirDirective /:\(flat\|slurpy\|optional\|opt_flag\|named\)/ + +" Macro invocation +syn match pirDirective /\.\I\i*(/he=e-1 + + +" pirWord before pirRegister +" FIXME :: in identifiers and labels +syn match pirWord /[A-Za-z_][A-Za-z0-9_]*/ +syn match pirComment /#.*/ +syn match pirLabel /[A-Za-z0-9_]\+:/he=e-1 +syn match pirRegister /[INPS]\([12][0-9]\|3[01]\|[0-9]\)/ +syn match pirDollarRegister /\$[INPS][0-9]\+/ + +syn match pirNumber /[+-]\?[0-9]\+\(\.[0-9]*\([Ee][+-]\?[0-9]\+\)\?\)\?/ +syn match pirNumber /0[xX][0-9a-fA-F]\+/ +syn match pirNumber /0[oO][0-7]\+/ +syn match pirNumber /0[bB][01]\+/ + +syn region pirString start=/"/ skip=/\\"/ end=/"/ contains=pirStringSpecial +syn region pirString start=/<<"\z(\I\i*\)"/ end=/^\z1$/ contains=pirStringSpecial +syn region pirString start=/<<'\z(\I\i*\)'/ end=/^\z1$/ +syn region pirString start=/'/ end=/'/ +syn match pirStringSpecial "\\\([abtnvfre\\"]\|\o\{1,3\}\|x{\x\{1,8\}}\|x\x\{1,2\}\|u\x\{4\}\|U\x\{8\}\|c[A-Z]\)" contained + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_pasm_syntax_inits") + if version < 508 + let did_pasm_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink pirPod Comment + HiLink pirWord Normal + HiLink pirComment Comment + HiLink pirLabel Label + HiLink pirRegister Identifier + HiLink pirDollarRegister Identifier + HiLink pirType Type + HiLink pirPMC Type + HiLink pirString String + HiLink pirStringSpecial Special + HiLink pirNumber Number + HiLink pirDirective Macro + HiLink pirOp Conditional + + delcommand HiLink +endif + +let b:current_syntax = "pir" + +" Ops -- dynamically generated from ops2vim.pl +syn keyword pirOp band bands bnot n_bnot bnots n_bnots bor bors shl shr +syn keyword pirOp lsr rot bxor bxors eq eq_str eq_num eq_addr ne ne_str +syn keyword pirOp ne_num ne_addr lt lt_str lt_num le le_str le_num gt +syn keyword pirOp gt_str gt_num ge ge_str ge_num cmp cmp_str cmp_num and +syn keyword pirOp not n_not or xor issame isntsame istrue isfalse isgt +syn keyword pirOp isge isle islt iseq isne if_null unless_null end noop +syn keyword pirOp cpu_ret check_events check_events__ wrapper__ +syn keyword pirOp prederef__ reserved load_bytecode branch branch_cs bsr +syn keyword pirOp ret jsr jump enternative if unless invokecc invoke +syn keyword pirOp yield tailcall returncc newclosure set_args get_results +syn keyword pirOp get_params set_returns result_info set_addr get_addr +syn keyword pirOp push_eh clear_eh throw rethrow die exit pushmark +syn keyword pirOp popmark pushaction debug bounds profile trace gc_debug +syn keyword pirOp interpinfo warningson warningsoff errorson errorsoff +syn keyword pirOp runinterp getinterp sweep collect sweepoff sweepon +syn keyword pirOp collectoff collecton needs_destroy loadlib dlfunc dlvar +syn keyword pirOp compile compreg new_callback debug_init debug_load +syn keyword pirOp debug_break debug_print backtrace getline getfile +syn keyword pirOp print_newline gcd splice slice iter morph exec +syn keyword pirOp classname trap pow getclass new instantiate pmcinfo +syn keyword pirOp add_io_event need_finalize close fdopen getfd getstdin +syn keyword pirOp getstdout getstderr setstdout setstderr pioctl open +syn keyword pirOp print printerr read readline peek stat seek tell socket +syn keyword pirOp sockaddr connect recv send poll bind listen accept +syn keyword pirOp infix n_infix abs n_abs add cmod dec div fdiv ceil +syn keyword pirOp floor inc mod mul neg n_neg sub sqrt acos asec asin +syn keyword pirOp atan cos cosh exp ln log10 log2 sec sech sin sinh tan +syn keyword pirOp tanh lcm fact callmethodcc callmethod tailcallmethod +syn keyword pirOp DELETED_fetchmethod addmethod can does isa newclass +syn keyword pirOp subclass singleton class addparent removeparent +syn keyword pirOp addattribute removeattribute getattribute setattribute +syn keyword pirOp classoffset adddoes removedoes covers exsec hav vers +syn keyword pirOp pic_infix__ pic_inline_sub__ pic_get_params__ +syn keyword pirOp pic_set_returns__ pic_callr__ typeof find_type +syn keyword pirOp valid_type get_repr find_method defined exists delete +syn keyword pirOp elements push pop unshift shift setprop getprop delprop +syn keyword pirOp prophash freeze thaw mmdvtregister mmdvtfind register +syn keyword pirOp unregister hash get_mro clone exchange set assign +syn keyword pirOp setref deref setp_ind setn_ind sets_ind seti_ind null +syn keyword pirOp cleari clearn clears clearp saveall restoreall +syn keyword pirOp entrytype depth lookback save savec restore rotate_up +syn keyword pirOp stm_start stm_validate stm_commit stm_wait stm_abort +syn keyword pirOp stm_depth ord chr chopn concat repeat length bytelength +syn keyword pirOp pin unpin substr substr_r index sprintf find_encoding +syn keyword pirOp stringinfo upcase downcase titlecase join split charset +syn keyword pirOp charsetname find_charset trans_charset encoding +syn keyword pirOp encodingname trans_encoding is_cclass find_cclass +syn keyword pirOp find_not_cclass escape compose spawnw err time gmtime +syn keyword pirOp localtime decodetime decodelocaltime sysinfo sleep +syn keyword pirOp sizeof store_lex find_lex get_namespace +syn keyword pirOp get_hll_namespace get_root_namespace get_global +syn keyword pirOp get_hll_global get_root_global set_global +syn keyword pirOp set_hll_global set_root_global store_global find_global +syn keyword pirOp find_name diff --git a/old/syntax/pmc.vim b/old/syntax/pmc.vim new file mode 100644 index 0000000..8190cb6 --- /dev/null +++ b/old/syntax/pmc.vim @@ -0,0 +1,350 @@ +" Vim syntax file +" Language: Parrot PMC +" Maintainer: Andrew Rodland <arodland@entermail.net> +" Last Change: 2004 Aug 2 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn include @Pod syntax/pod.vim +syn region pmcPod start="^=[a-z]" end="^=cut" keepend contained contains=@Pod + +" A bunch of useful C keywords +syn keyword cStatement goto break return continue asm +syn keyword cLabel case default +syn keyword cConditional if else switch +syn keyword cRepeat while for do + +syn keyword cTodo contained TODO FIXME XXX + +" cCommentGroup allows adding matches for special things in comments +syn cluster cCommentGroup contains=cTodo + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn match cSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" +if !exists("c_no_utf") + syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" +endif +if exists("c_no_cformat") + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial + " cCppString: same as cString, but ends at end of line + syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial +else + syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained + syn match cFormat display "%%" contained + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat + " cCppString: same as cString, but ends at end of line + syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat +endif + +syn match cCharacter "L\='[^\\]'" +syn match cCharacter "L'[^']*'" contains=cSpecial +if exists("c_gnu") + syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'" + syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'" +else + syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'" + syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'" +endif +syn match cSpecialCharacter display "L\='\\\o\{1,3}'" +syn match cSpecialCharacter display "'\\x\x\{1,2}'" +syn match cSpecialCharacter display "L'\\x\x\+'" + +"when wanted, highlight trailing white space +if exists("c_space_errors") + if !exists("c_no_trail_space_error") + syn match cSpaceError display excludenl "\s\+$" + endif + if !exists("c_no_tab_space_error") + syn match cSpaceError display " \+\t"me=e-1 + endif +endif + +"catch errors caused by wrong parenthesis and brackets +" also accept <% for {, %> for }, <: for [ and :> for ] (C99) +syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cCommentSkip,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom +if exists("c_no_bracket_error") + syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString + syn match cParenError display ")" + syn match cErrInParen display contained "[{}]\|<%\|%>" +else + syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString + " cCppParen: same as cParen but ends at end-of-line; used in cDefine + syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString + syn match cParenError display "[\])]" + syn match cErrInParen display contained "[\]{}]\|<%\|%>" + syn region cBracket transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString + " cCppBracket: same as cParen but ends at end-of-line; used in cDefine + syn region cCppBracket transparent start='\[\|<:' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString + syn match cErrInBracket display contained "[);{}]\|<%\|%>" +endif + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal +" Same, but without octal error (for comments) +syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal +syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" +"hex number +syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero +syn match cOctalZero display contained "\<0" +syn match cFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match cFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match cFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +if !exists("c_no_c99") + "hexadecimal floating point number, optional leading digits, with dot, with exponent + syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>" + "hexadecimal floating point number, with leading digits, optional dot, with exponent + syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>" +endif + +" flag an octal number with wrong digits +syn match cOctalError display contained "0\o*[89]\d*" +syn case match + +if exists("c_comment_strings") + " A comment can contain cString, cCharacter and cNumber. + " But a "*/" inside a cString in a cComment DOES end the comment! So we + " need to use a special type of cString: cCommentString, which also ends on + " "*/", and sees a "*" at the start of the line as comment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match cCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip + syntax region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial + syntax region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError + syntax region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,pmcPOD +else + syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError + syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,pmcPOD +endif +" keep a // comment separately, it terminates a preproc. conditional +syntax match cCommentError display "\*/" +syntax match cCommentStartError display "/\*"me=e-1 contained + +syn keyword cOperator sizeof +if exists("c_gnu") + syn keyword cStatement __asm__ + syn keyword cOperator typeof __real__ __imag__ +endif +syn keyword cType int long short char void +syn keyword cType signed unsigned float double +if !exists("c_no_ansi") || exists("c_ansi_typedefs") + syn keyword cType size_t ssize_t wchar_t ptrdiff_t sig_atomic_t fpos_t + syn keyword cType clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t + syn keyword cType mbstate_t wctrans_t wint_t wctype_t +endif +if !exists("c_no_c99") " ISO C99 + syn keyword cType bool complex + syn keyword cType int8_t int16_t int32_t int64_t + syn keyword cType uint8_t uint16_t uint32_t uint64_t + syn keyword cType int_least8_t int_least16_t int_least32_t int_least64_t + syn keyword cType uint_least8_t uint_least16_t uint_least32_t uint_least64_t + syn keyword cType int_fast8_t int_fast16_t int_fast32_t int_fast64_t + syn keyword cType uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t + syn keyword cType intptr_t uintptr_t + syn keyword cType intmax_t uintmax_t +endif +if exists("c_gnu") + syn keyword cType __label__ __complex__ __volatile__ +endif + +syn keyword cStructure struct union enum typedef +syn keyword cStorageClass static register auto volatile extern const +if exists("c_gnu") + syn keyword cStorageClass inline __attribute__ +endif +if !exists("c_no_c99") + syn keyword cStorageClass inline restrict +endif + +if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu") + if exists("c_gnu") + syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ + endif + syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ + syn keyword cConstant __STDC_VERSION__ + syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX + syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX + syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN + syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX + syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN + syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX + if !exists("c_no_c99") + syn keyword cConstant LLONG_MAX ULLONG_MAX + syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN + syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX + syn keyword cConstant UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX + syn keyword cConstant INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN + syn keyword cConstant INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX + syn keyword cConstant UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX + syn keyword cConstant INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN + syn keyword cConstant INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX + syn keyword cConstant UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX + syn keyword cConstant INTPTR_MIN INTPTR_MAX UINTPTR_MAX + syn keyword cConstant INTMAX_MIN INTMAX_MAX UINTMAX_MAX + syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX + syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX + endif + syn keyword cConstant FLT_RADIX FLT_ROUNDS + syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON + syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON + syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON + syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP + syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP + syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP + syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP + syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP + syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP + syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL + syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY + syn keyword cConstant LC_NUMERIC LC_TIME + syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN + syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM + " Add POSIX signals as well... + syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP + syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV + syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU + syn keyword cConstant SIGUSR1 SIGUSR2 + syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF + syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam + syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET + syn keyword cConstant TMP_MAX stderr stdin stdout + syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX + " Add signals not mentioned above + syn keyword cConstant SIGXCPU SIGURG SIGBUS SIGVTALRM SIGPROF SIGWINCH + syn keyword cConstant SIGPWR SIGSYS SIGXFSZ SIGIO + " Add POSIX errors as well + syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY + syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT + syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR + syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV + syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS + syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM + syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV + " math.h + syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 + syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2 +endif +if !exists("c_no_c99") " ISO C99 + syn keyword cConstant true false +endif + +" Accept %: for # (C99) +syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError +syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>" +if !exists("c_no_if0") + syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 + syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip + syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip +endif +syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match cIncluded display contained "<[^>]*>" +syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded +"syn match cLineSkip "\\$" +syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti +syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@cPreProcGroup +syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup + +" Highlight User Labels +syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString +syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup +" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' +syn cluster cLabelGroup contains=cUserLabel +syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup +syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup +syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup +syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup + +syn match cUserLabel display "\I\i*" contained + +" Avoid recognizing most bitfields as labels +syn match cBitField display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 +syn match cBitField display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 + +if exists("c_minlines") + let b:c_minlines = c_minlines +else + if !exists("c_no_if0") + let b:c_minlines = 50 " #if 0 constructs can be long + else + let b:c_minlines = 15 " mostly for () constructs + endif +endif +exec "syn sync ccomment cComment minlines=" . b:c_minlines + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_c_syn_inits") + if version < 508 + let did_c_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink cFormat cSpecial + HiLink cCppString cString + HiLink cCommentL cComment + HiLink cCommentStart cComment + HiLink cLabel Label + HiLink cUserLabel Label + HiLink cConditional Conditional + HiLink cRepeat Repeat + HiLink cCharacter Character + HiLink cSpecialCharacter cSpecial + HiLink cNumber Number + HiLink cOctal Number + HiLink cOctalZero PreProc " link this to Error if you want + HiLink cFloat Float + HiLink cOctalError cError + HiLink cParenError cError + HiLink cErrInParen cError + HiLink cErrInBracket cError + HiLink cCommentError cError + HiLink cCommentStartError cError + HiLink cSpaceError cError + HiLink cSpecialError cError + HiLink cOperator Operator + HiLink cStructure Structure + HiLink cStorageClass StorageClass + HiLink cInclude Include + HiLink cPreProc PreProc + HiLink cDefine Macro + HiLink cIncluded cString + HiLink cError Error + HiLink cStatement Statement + HiLink cPreCondit PreCondit + HiLink cType Type + HiLink cConstant Constant + HiLink cCommentString cString + HiLink cComment2String cString + HiLink cCommentSkip cComment + HiLink cString String + HiLink cComment Comment + HiLink cSpecial SpecialChar + HiLink cTodo Todo + HiLink cCppSkip cCppOut + HiLink cCppOut2 cCppOut + HiLink cCppOut Comment + + delcommand HiLink +endif + +let b:current_syntax = "pmc" + +" vim: ts=8 diff --git a/old/syntax/ragel.vim b/old/syntax/ragel.vim new file mode 100644 index 0000000..10cf395 --- /dev/null +++ b/old/syntax/ragel.vim @@ -0,0 +1,165 @@ +" Vim syntax file +" +" Language: Ragel +" Author: Adrian Thurston + +syntax clear + +" +" Outside code +" + +" Comments +syntax region ocComment start="\/\*" end="\*\/" +syntax match ocComment "\/\/.*$" + +" Anything preprocessor +syntax match ocPreproc "#.*$" + +" Strings +syntax match ocLiteral "'\(\\.\|[^'\\]\)*'" +syntax match ocLiteral "\"\(\\.\|[^\"\\]\)*\"" + +" C/C++ Keywords +syntax keyword ocType unsigned signed void char short int long float double bool +syntax keyword ocType inline static extern register const volatile auto +syntax keyword ocType union enum struct class typedef +syntax keyword ocType namespace template typename mutable +syntax keyword ocKeyword break continue default do else for +syntax keyword ocKeyword goto if return switch while +syntax keyword ocKeyword new delete this using friend public private protected sizeof +syntax keyword ocKeyword throw try catch operator typeid +syntax keyword ocKeyword and bitor xor compl bitand and_eq or_eq xor_eq not not_eq +syntax keyword ocKeyword static_cast dynamic_cast + +" D Keywords +syntax keyword ocType wchar dchar bit byte ubyte ushort uint ulong cent ucent +syntax keyword ocType cfloat ifloat cdouble idouble real creal ireal +syntax keyword ocKeyword abstract alias align asm assert body cast debug delegate +syntax keyword ocKeyword deprecated export final finally foreach function import in inout +syntax keyword ocKeyword interface invariant is mixin module out override package pragma +syntax keyword ocKeyword super synchronized typeof unittest version with + +" Java Keywords +syntax keyword ocType byte short char int + +" Objective-C Directives +syntax match ocKeyword "@public\|@private\|@protected" +syntax match ocKeyword "@interface\|@implementation" +syntax match ocKeyword "@class\|@end\|@defs" +syntax match ocKeyword "@encode\|@protocol\|@selector" + +" Numbers +syntax match ocNumber "[0-9][0-9]*" +syntax match ocNumber "0x[0-9a-fA-F][0-9a-fA-F]*" + +" Booleans +syntax keyword ocBoolean true false + +" Identifiers +syntax match anyId "[a-zA-Z_][a-zA-Z_0-9]*" + +" Inline code only +syntax keyword fsmType fpc fc fcurs fbuf fblen ftargs fstack +syntax keyword fsmKeyword fhold fgoto fcall fret fentry fnext fexec fbreak + +syntax cluster rlItems contains=rlComment,rlLiteral,rlAugmentOps,rlOtherOps,rlKeywords,rlWrite,rlCodeCurly,rlCodeSemi,rlNumber,anyId,rlLabelColon,rlExprKeywords + +syntax region machineSpec1 matchgroup=beginRL start="%%{" end="}%%" contains=@rlItems +syntax region machineSpec2 matchgroup=beginRL start="%%[^{]"rs=e-1 end="$" keepend contains=@rlItems +syntax region machineSpec2 matchgroup=beginRL start="%%$" end="$" keepend contains=@rlItems + +" Comments +syntax match rlComment "#.*$" contained + +" Literals +syntax match rlLiteral "'\(\\.\|[^'\\]\)*'[i]*" contained +syntax match rlLiteral "\"\(\\.\|[^\"\\]\)*\"[i]*" contained +syntax match rlLiteral /\/\(\\.\|[^\/\\]\)*\/[i]*/ contained +syntax match rlLiteral "\[\(\\.\|[^\]\\]\)*\]" contained + +" Numbers +syntax match rlNumber "[0-9][0-9]*" contained +syntax match rlNumber "0x[0-9a-fA-F][0-9a-fA-F]*" contained + +" Operators +syntax match rlAugmentOps "[>$%@]" contained +syntax match rlAugmentOps "<>\|<" contained +syntax match rlAugmentOps "[>\<$%@][!\^/*~]" contained +syntax match rlAugmentOps "[>$%]?" contained +syntax match rlAugmentOps "<>[!\^/*~]" contained +syntax match rlAugmentOps "=>" contained +syntax match rlOtherOps "->" contained + +syntax match rlOtherOps ":>" contained +syntax match rlOtherOps ":>>" contained +syntax match rlOtherOps "<:" contained + +" Keywords +" FIXME: Enable the range keyword post 5.17. +" syntax keyword rlKeywords machine action context include range contained +syntax keyword rlKeywords machine action context include import export prepush postpop contained +syntax keyword rlExprKeywords when inwhen outwhen err lerr eof from to contained + +" Case Labels +syntax keyword caseLabelKeyword case contained +syntax cluster caseLabelItems contains=ocComment,ocPreproc,ocLiteral,ocType,ocKeyword,caseLabelKeyword,ocNumber,ocBoolean,anyId,fsmType,fsmKeyword +syntax match caseLabelColon "case" contains=@caseLabelItems +syntax match caseLabelColon "case[\t ]\+.*:$" contains=@caseLabelItems +syntax match caseLabelColon "case[\t ]\+.*:[^=:]"me=e-1 contains=@caseLabelItems + +" Labels +syntax match ocLabelColon "^[\t ]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:$" contains=anyLabel +syntax match ocLabelColon "^[\t ]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:[^=:]"me=e-1 contains=anyLabel + +syntax match rlLabelColon "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:$" contained contains=anyLabel +syntax match rlLabelColon "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:[^=:>]"me=e-1 contained contains=anyLabel +syntax match anyLabel "[a-zA-Z_][a-zA-Z_0-9]*" contained + +" All items that can go in a code block. + +syntax cluster inlineItems contains=rlCodeCurly,ocComment,ocPreproc,ocLiteral,ocType,ocKeyword,ocNumber,ocBoolean,ocLabelColon,anyId,fsmType,fsmKeyword,caseLabelColon + +" Blocks of code. rlCodeCurly is recursive. +syntax region rlCodeCurly matchgroup=NONE start="{" end="}" contained contains=@inlineItems +syntax region rlCodeSemi matchgroup=Type start="\<alphtype\>" start="\<getkey\>" start="\<access\>" start="\<variable\>" matchgroup=NONE end=";" contained contains=@inlineItems + +syntax region rlWrite matchgroup=Type start="\<write\>" matchgroup=NONE end=";" contained contains=rlWriteKeywords,rlWriteOptions + +syntax keyword rlWriteKeywords init data exec eof exports contained +syntax keyword rlWriteOptions noerror nofinal noprefix noend nocs contained + +" +" Sync at the start of machine specs. +" +" Match The ragel delimiters only if there quotes no ahead on the same line. +" On the open marker, use & to consume the leader. +syntax sync match ragelSyncPat grouphere NONE "^[^\'\"%]*%%{&^[^\'\"%]*" +syntax sync match ragelSyncPat grouphere NONE "^[^\'\"%]*%%[^{]&^[^\'\"%]*" +syntax sync match ragelSyncPat grouphere NONE "^[^\'\"]*}%%" + +" +" Specifying Groups +" +hi link ocComment Comment +hi link ocPreproc Macro +hi link ocLiteral String +hi link ocType Type +hi link ocKeyword Keyword +hi link ocNumber Number +hi link ocBoolean Boolean +hi link rlComment Comment +hi link rlNumber Number +hi link rlLiteral String +hi link rlAugmentOps Keyword +hi link rlExprKeywords Keyword +hi link rlWriteKeywords Keyword +hi link rlWriteOptions Keyword +hi link rlKeywords Type +hi link fsmType Type +hi link fsmKeyword Keyword +hi link anyLabel Label +hi link caseLabelKeyword Keyword +hi link beginRL Type + +let b:current_syntax = "ragel" diff --git a/old/syntax/scala.vim b/old/syntax/scala.vim new file mode 100644 index 0000000..36605ab --- /dev/null +++ b/old/syntax/scala.vim @@ -0,0 +1,151 @@ +" Vim syntax file +" Language : Scala (http://scala-lang.org/) +" Maintainers: Stefan Matthias Aust, Julien Wetterwald +" Last Change: 2007 June 13 + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case match +syn sync minlines=50 + +" most Scala keywords +syn keyword scalaKeyword abstract case catch do else extends final finally for forSome if implicit lazy match new null override private protected requires return sealed super this throw try type while with yield +syn match scalaKeyword "=>" +syn match scalaKeyword "<-" +syn match scalaKeyword "\<_\>" + +syn match scalaOperator ":\{2,\}" "this is not a type + +" package and import statements +syn keyword scalaPackage package nextgroup=scalaFqn skipwhite +syn keyword scalaImport import nextgroup=scalaFqn skipwhite +syn match scalaFqn "\<[._$a-zA-Z0-9,]*" contained nextgroup=scalaFqnSet +syn region scalaFqnSet start="{" end="}" contained + +" boolean literals +syn keyword scalaBoolean true false + +" definitions +syn keyword scalaDef def nextgroup=scalaDefName skipwhite +syn keyword scalaVal val nextgroup=scalaValName skipwhite +syn keyword scalaVar var nextgroup=scalaVarName skipwhite +syn keyword scalaClass class nextgroup=scalaClassName skipwhite +syn keyword scalaObject object nextgroup=scalaClassName skipwhite +syn keyword scalaTrait trait nextgroup=scalaClassName skipwhite +syn match scalaDefName "[^ =:;([]\+" contained nextgroup=scalaDefSpecializer skipwhite +syn match scalaValName "[^ =:;([]\+" contained +syn match scalaVarName "[^ =:;([]\+" contained +syn match scalaClassName "[^ =:;(\[]\+" contained nextgroup=scalaClassSpecializer skipwhite +syn region scalaDefSpecializer start="\[" end="\]" contained contains=scalaDefSpecializer +syn region scalaClassSpecializer start="\[" end="\]" contained contains=scalaClassSpecializer + +" type constructor (actually anything with an uppercase letter) +syn match scalaConstructor "\<[A-Z][_$a-zA-Z0-9]*\>" nextgroup=scalaConstructorSpecializer +syn region scalaConstructorSpecializer start="\[" end="\]" contained contains=scalaConstructorSpecializer + +" method call +syn match scalaRoot "\<[a-zA-Z][_$a-zA-Z0-9]*\."me=e-1 +syn match scalaMethodCall "\.[a-z][_$a-zA-Z0-9]*"ms=s+1 + +" type declarations in val/var/def +syn match scalaType ":\s*\(=>\s*\)\?[._$a-zA-Z0-9]\+\(\[[^]]*\]\+\)\?\(\s*\(<:\|>:\|#\|=>\)\s*[._$a-zA-Z0-9]\+\(\[[^]]*\]\+\)*\)*"ms=s+1 + +" comments +syn match scalaTodo "[tT][oO][dD][oO]" contained +syn match scalaLineComment "//.*" contains=scalaTodo +syn region scalaComment start="/\*" end="\*/" contains=scalaTodo +syn case ignore +syn include @scalaHtml syntax/html.vim +unlet b:current_syntax +syn case match +syn region scalaDocComment start="/\*\*" end="\*/" contains=scalaDocTags,scalaTodo,@scalaHtml keepend +syn region scalaDocTags start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}" contained +syn match scalaDocTags "@[a-z]\+" contained + +syn match scalaEmptyString "\"\"" + +" multi-line string literals +syn region scalaMultiLineString start="\"\"\"" end="\"\"\"" contains=scalaUnicode +syn match scalaUnicode "\\u[0-9a-fA-F]\{4}" contained + +" string literals with escapes +syn region scalaString start="\"[^"]" skip="\\\"" end="\"" contains=scalaStringEscape " TODO end \n or not? +syn match scalaStringEscape "\\u[0-9a-fA-F]\{4}" contained +syn match scalaStringEscape "\\[nrfvb\\\"]" contained + +" symbol and character literals +syn match scalaSymbol "'[_a-zA-Z0-9][_a-zA-Z0-9]*\>" +syn match scalaChar "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'" + +" number literals +syn match scalaNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +syn match scalaNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +syn match scalaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +syn match scalaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" + +" xml literals +syn match scalaXmlTag "<[a-zA-Z]\_[^>]*/>" contains=scalaXmlQuote,scalaXmlEscape,scalaXmlString +syn region scalaXmlString start="\"" end="\"" contained +syn match scalaXmlStart "<[a-zA-Z]\_[^>]*>" contained contains=scalaXmlQuote,scalaXmlEscape,scalaXmlString +syn region scalaXml start="<\([a-zA-Z]\_[^>]*\_[^/]\|[a-zA-Z]\)>" matchgroup=scalaXmlStart end="</\_[^>]\+>" contains=scalaXmlEscape,scalaXmlQuote,scalaXml,scalaXmlStart,scalaXmlComment +syn region scalaXmlEscape matchgroup=scalaXmlEscapeSpecial start="{" matchgroup=scalaXmlEscapeSpecial end="}" contained contains=TOP +syn match scalaXmlQuote "&[^;]\+;" contained +syn match scalaXmlComment "<!--\_[^>]*-->" contained + +syn sync fromstart + +" map Scala groups to standard groups +hi link scalaKeyword Keyword +hi link scalaPackage Include +hi link scalaImport Include +hi link scalaBoolean Boolean +hi link scalaOperator Normal +hi link scalaNumber Number +hi link scalaEmptyString String +hi link scalaString String +hi link scalaChar String +hi link scalaMultiLineString String +hi link scalaStringEscape Special +hi link scalaSymbol Special +hi link scalaUnicode Special +hi link scalaComment Comment +hi link scalaLineComment Comment +hi link scalaDocComment Comment +hi link scalaDocTags Special +hi link scalaTodo Todo +hi link scalaType Type +hi link scalaTypeSpecializer scalaType +hi link scalaXml String +hi link scalaXmlTag Include +hi link scalaXmlString String +hi link scalaXmlStart Include +hi link scalaXmlEscape Normal +hi link scalaXmlEscapeSpecial Special +hi link scalaXmlQuote Special +hi link scalaXmlComment Comment +hi link scalaDef Keyword +hi link scalaVar Keyword +hi link scalaVal Keyword +hi link scalaClass Keyword +hi link scalaObject Keyword +hi link scalaTrait Keyword +hi link scalaDefName Function +hi link scalaDefSpecializer Function +hi link scalaClassName Special +hi link scalaClassSpecializer Special +hi link scalaConstructor Special +hi link scalaConstructorSpecializer scalaConstructor + +let b:current_syntax = "scala" + +" you might like to put these lines in your .vimrc +" +" customize colors a little bit (should be a different file) +" hi scalaNew gui=underline +" hi scalaMethodCall gui=italic +" hi scalaValName gui=underline +" hi scalaVarName gui=underline diff --git a/old/syntax/tjp.vim b/old/syntax/tjp.vim new file mode 100644 index 0000000..24fa179 --- /dev/null +++ b/old/syntax/tjp.vim @@ -0,0 +1,706 @@ +" Vim syntax file +" Language: TaskJuggler +" Maintainer: TaskJuggler Developers <taskjuggler-devel@googlegroups.com> +" Last Change: 2012-01-11 21:58:17 +0100 +" This file was automatically generated by VimSyntax.rb + +if exists("b:current_syntax") + finish +endif + +setlocal softtabstop=2 +setlocal cindent shiftwidth=2 +setlocal tabstop=2 +setlocal expandtab +setlocal cinoptions=g0,t0,+0,(0,c0,C1,n-2 +setlocal cinwords=account,accountreport,allocate,booking,columns,dailymax,dailymin,date,depends,export,extend,icalreport,include,journalentry,limits,maximum,minimum,monthlymax,monthlymin,navigator,newtask,nikureport,precedes,project,reference,resource,resourcereport,richtext,scenario,shift,status,statussheet,statussheetreport,supplement,tagfile,task,taskreport,text,textreport,timesheet,timesheetreport,weeklymax,weeklymin +setlocal cinkeys=0{,0},!^F,o,O +setlocal cindent + +syn keyword tjp_macro macro contained +syn keyword tjp_project project contained +syn keyword tjp_supplement supplement contained + +syn keyword tjp_account account contained +hi def link tjp_account Function +syn keyword tjp_accountreport accountreport contained +hi def link tjp_accountreport Function +syn keyword tjp_export export contained +hi def link tjp_export Function +syn keyword tjp_nikureport nikureport contained +hi def link tjp_nikureport Function +syn keyword tjp_resource resource contained +hi def link tjp_resource Function +syn keyword tjp_resourcereport resourcereport contained +hi def link tjp_resourcereport Function +syn keyword tjp_scenario scenario contained +hi def link tjp_scenario Function +syn keyword tjp_shift shift contained +hi def link tjp_shift Function +syn keyword tjp_statussheetreport statussheetreport contained +hi def link tjp_statussheetreport Function +syn keyword tjp_task_statussheet task contained +hi def link tjp_task_statussheet Function +syn keyword tjp_task task contained +hi def link tjp_task Function +syn keyword tjp_taskreport taskreport contained +hi def link tjp_taskreport Function +syn keyword tjp_textreport textreport contained +hi def link tjp_textreport Function +syn keyword tjp_timesheetreport timesheetreport contained +hi def link tjp_timesheetreport Function + +syn keyword tjp_aggregate aggregate contained +hi def link tjp_aggregate Type +syn keyword tjp_credits credits contained +hi def link tjp_credits Type +syn keyword tjp_flags_account flags contained +hi def link tjp_flags_account Type +syn keyword tjp_allocate allocate contained +hi def link tjp_allocate Type +syn keyword tjp_alternative alternative contained +hi def link tjp_alternative Type +syn keyword tjp_select select contained +hi def link tjp_select Type +syn keyword tjp_persistent persistent contained +hi def link tjp_persistent Type +syn keyword tjp_mandatory mandatory contained +hi def link tjp_mandatory Type +syn keyword tjp_shifts_allocate shifts contained +hi def link tjp_shifts_allocate Type +syn keyword tjp_author author contained +hi def link tjp_author Type +syn keyword tjp_balance balance +hi def link tjp_balance Type +syn keyword tjp_overtime_booking overtime contained +hi def link tjp_overtime_booking Type +syn keyword tjp_sloppy_booking sloppy contained +hi def link tjp_sloppy_booking Type +syn keyword tjp_chargeset chargeset contained +hi def link tjp_chargeset Type +syn keyword tjp_columnid_annualleave annualleave +hi def link tjp_columnid_annualleave Type +syn keyword tjp_columnid_annualleavebalance annualleavebalance +hi def link tjp_columnid_annualleavebalance Type +syn keyword tjp_columnid_alert alert +hi def link tjp_columnid_alert Type +syn keyword tjp_columnid_alertmessages alertmessages +hi def link tjp_columnid_alertmessages Type +syn keyword tjp_columnid_alertsummaries alertsummaries +hi def link tjp_columnid_alertsummaries Type +syn keyword tjp_columnid_alerttrend alerttrend +hi def link tjp_columnid_alerttrend Type +syn keyword tjp_columnid_balance balance +hi def link tjp_columnid_balance Type +syn keyword tjp_columnid_bsi bsi +hi def link tjp_columnid_bsi Type +syn keyword tjp_columnid_chart chart +hi def link tjp_columnid_chart Type +syn keyword tjp_columnid_complete complete +hi def link tjp_columnid_complete Type +syn keyword tjp_columnid_completed completed +hi def link tjp_columnid_completed Type +syn keyword tjp_columnid_criticalness criticalness +hi def link tjp_columnid_criticalness Type +syn keyword tjp_columnid_cost cost +hi def link tjp_columnid_cost Type +syn keyword tjp_columnid_daily daily +hi def link tjp_columnid_daily Type +syn keyword tjp_columnid_directreports directreports +hi def link tjp_columnid_directreports Type +syn keyword tjp_columnid_duration duration +hi def link tjp_columnid_duration Type +syn keyword tjp_columnid_duties duties +hi def link tjp_columnid_duties Type +syn keyword tjp_columnid_efficiency efficiency +hi def link tjp_columnid_efficiency Type +syn keyword tjp_columnid_effort effort +hi def link tjp_columnid_effort Type +syn keyword tjp_columnid_effortdone effortdone +hi def link tjp_columnid_effortdone Type +syn keyword tjp_columnid_effortleft effortleft +hi def link tjp_columnid_effortleft Type +syn keyword tjp_columnid_email email +hi def link tjp_columnid_email Type +syn keyword tjp_columnid_end end +hi def link tjp_columnid_end Type +syn keyword tjp_columnid_flags flags +hi def link tjp_columnid_flags Type +syn keyword tjp_columnid_followers followers +hi def link tjp_columnid_followers Type +syn keyword tjp_columnid_freetime freetime +hi def link tjp_columnid_freetime Type +syn keyword tjp_columnid_freework freework +hi def link tjp_columnid_freework Type +syn keyword tjp_columnid_fte fte +hi def link tjp_columnid_fte Type +syn keyword tjp_columnid_gauge gauge +hi def link tjp_columnid_gauge Type +syn keyword tjp_columnid_headcount headcount +hi def link tjp_columnid_headcount Type +syn keyword tjp_columnid_hierarchindex hierarchindex +hi def link tjp_columnid_hierarchindex Type +syn keyword tjp_columnid_hourly hourly +hi def link tjp_columnid_hourly Type +syn keyword tjp_columnid_id id +hi def link tjp_columnid_id Type +syn keyword tjp_columnid_index index +hi def link tjp_columnid_index Type +syn keyword tjp_columnid_inputs inputs +hi def link tjp_columnid_inputs Type +syn keyword tjp_columnid_journal journal +hi def link tjp_columnid_journal Type +syn keyword tjp_columnid_journal_sub journal_sub +hi def link tjp_columnid_journal_sub Type +syn keyword tjp_columnid_journalmessages journalmessages +hi def link tjp_columnid_journalmessages Type +syn keyword tjp_columnid_journalsummaries journalsummaries +hi def link tjp_columnid_journalsummaries Type +syn keyword tjp_columnid_line line +hi def link tjp_columnid_line Type +syn keyword tjp_columnid_managers managers +hi def link tjp_columnid_managers Type +syn keyword tjp_columnid_maxend maxend +hi def link tjp_columnid_maxend Type +syn keyword tjp_columnid_maxstart maxstart +hi def link tjp_columnid_maxstart Type +syn keyword tjp_columnid_minend minend +hi def link tjp_columnid_minend Type +syn keyword tjp_columnid_minstart minstart +hi def link tjp_columnid_minstart Type +syn keyword tjp_columnid_monthly monthly +hi def link tjp_columnid_monthly Type +syn keyword tjp_columnid_no no +hi def link tjp_columnid_no Type +syn keyword tjp_columnid_name name +hi def link tjp_columnid_name Type +syn keyword tjp_columnid_note note +hi def link tjp_columnid_note Type +syn keyword tjp_columnid_pathcriticalness pathcriticalness +hi def link tjp_columnid_pathcriticalness Type +syn keyword tjp_columnid_precursors precursors +hi def link tjp_columnid_precursors Type +syn keyword tjp_columnid_priority priority +hi def link tjp_columnid_priority Type +syn keyword tjp_columnid_quarterly quarterly +hi def link tjp_columnid_quarterly Type +syn keyword tjp_columnid_rate rate +hi def link tjp_columnid_rate Type +syn keyword tjp_columnid_reports reports +hi def link tjp_columnid_reports Type +syn keyword tjp_columnid_resources resources +hi def link tjp_columnid_resources Type +syn keyword tjp_columnid_responsible responsible +hi def link tjp_columnid_responsible Type +syn keyword tjp_columnid_revenue revenue +hi def link tjp_columnid_revenue Type +syn keyword tjp_columnid_scenario scenario +hi def link tjp_columnid_scenario Type +syn keyword tjp_columnid_seqno seqno +hi def link tjp_columnid_seqno Type +syn keyword tjp_columnid_sickleave sickleave +hi def link tjp_columnid_sickleave Type +syn keyword tjp_columnid_specialleave specialleave +hi def link tjp_columnid_specialleave Type +syn keyword tjp_columnid_start start +hi def link tjp_columnid_start Type +syn keyword tjp_columnid_status status +hi def link tjp_columnid_status Type +syn keyword tjp_columnid_targets targets +hi def link tjp_columnid_targets Type +syn keyword tjp_columnid_wbs wbs +hi def link tjp_columnid_wbs Type +syn keyword tjp_columnid_unpaidleave unpaidleave +hi def link tjp_columnid_unpaidleave Type +syn keyword tjp_columnid_weekly weekly +hi def link tjp_columnid_weekly Type +syn keyword tjp_columnid_yearly yearly +hi def link tjp_columnid_yearly Type +syn keyword tjp_celltext_column celltext contained +hi def link tjp_celltext_column Type +syn keyword tjp_cellcolor_column cellcolor contained +hi def link tjp_cellcolor_column Type +syn keyword tjp_end_column end contained +hi def link tjp_end_column Type +syn keyword tjp_fontcolor_column fontcolor contained +hi def link tjp_fontcolor_column Type +syn keyword tjp_halign_column halign contained +hi def link tjp_halign_column Type +syn keyword tjp_listitem_column listitem contained +hi def link tjp_listitem_column Type +syn keyword tjp_listtype_column listtype contained +hi def link tjp_listtype_column Type +syn keyword tjp_period_column period contained +hi def link tjp_period_column Type +syn keyword tjp_scale_column scale contained +hi def link tjp_scale_column Type +syn keyword tjp_start_column start contained +hi def link tjp_start_column Type +syn keyword tjp_title_column title contained +hi def link tjp_title_column Type +syn keyword tjp_tooltip_column tooltip contained +hi def link tjp_tooltip_column Type +syn keyword tjp_width_column width contained +hi def link tjp_width_column Type +syn keyword tjp_currencyformat currencyformat contained +hi def link tjp_currencyformat Type +syn keyword tjp_details details contained +hi def link tjp_details Type +syn keyword tjp_definitions definitions contained +hi def link tjp_definitions Type +syn keyword tjp_resourceattributes resourceattributes contained +hi def link tjp_resourceattributes Type +syn keyword tjp_scenarios_export scenarios contained +hi def link tjp_scenarios_export Type +syn keyword tjp_taskattributes taskattributes contained +hi def link tjp_taskattributes Type +syn keyword tjp_timezone_export timezone contained +hi def link tjp_timezone_export Type +syn keyword tjp_date_extend date contained +hi def link tjp_date_extend Type +syn keyword tjp_reference_extend reference contained +hi def link tjp_reference_extend Type +syn keyword tjp_richtext_extend richtext contained +hi def link tjp_richtext_extend Type +syn keyword tjp_text_extend text contained +hi def link tjp_text_extend Type +syn keyword tjp_inherit_extend inherit contained +hi def link tjp_inherit_extend Type +syn keyword tjp_scenariospecific_extend scenariospecific contained +hi def link tjp_scenariospecific_extend Type +syn keyword tjp_fail fail contained +hi def link tjp_fail Type +syn keyword tjp_formats formats contained +hi def link tjp_formats Type +syn keyword tjp_hasalert hasalert contained +hi def link tjp_hasalert Type +syn keyword tjp_isactive isactive contained +hi def link tjp_isactive Type +syn keyword tjp_ischildof ischildof contained +hi def link tjp_ischildof Type +syn keyword tjp_isdependencyof isdependencyof contained +hi def link tjp_isdependencyof Type +syn keyword tjp_isdutyof isdutyof contained +hi def link tjp_isdutyof Type +syn keyword tjp_isfeatureof isfeatureof contained +hi def link tjp_isfeatureof Type +syn keyword tjp_isleaf isleaf contained +hi def link tjp_isleaf Type +syn keyword tjp_ismilestone ismilestone contained +hi def link tjp_ismilestone Type +syn keyword tjp_isongoing isongoing contained +hi def link tjp_isongoing Type +syn keyword tjp_isresource isresource contained +hi def link tjp_isresource Type +syn keyword tjp_isresponsibilityof isresponsibilityof contained +hi def link tjp_isresponsibilityof Type +syn keyword tjp_istask istask contained +hi def link tjp_istask Type +syn keyword tjp_treelevel treelevel contained +hi def link tjp_treelevel Type +syn keyword tjp_halign_center center +hi def link tjp_halign_center Type +syn keyword tjp_halign_left left +hi def link tjp_halign_left Type +syn keyword tjp_halign_right right +hi def link tjp_halign_right Type +syn keyword tjp_headline headline contained +hi def link tjp_headline Type +syn keyword tjp_hideaccount hideaccount contained +hi def link tjp_hideaccount Type +syn keyword tjp_hidejournalentry hidejournalentry contained +hi def link tjp_hidejournalentry Type +syn keyword tjp_hideresource hideresource contained +hi def link tjp_hideresource Type +syn keyword tjp_hidetask hidetask contained +hi def link tjp_hidetask Type +syn keyword tjp_icalreport icalreport contained +hi def link tjp_icalreport Type +syn keyword tjp_scenario_ical scenario contained +hi def link tjp_scenario_ical Type +syn keyword tjp_accountprefix accountprefix contained +hi def link tjp_accountprefix Type +syn keyword tjp_reportprefix reportprefix contained +hi def link tjp_reportprefix Type +syn keyword tjp_resourceprefix resourceprefix contained +hi def link tjp_resourceprefix Type +syn keyword tjp_taskprefix taskprefix contained +hi def link tjp_taskprefix Type +syn keyword tjp_journalattributes journalattributes contained +hi def link tjp_journalattributes Type +syn keyword tjp_journalentry journalentry contained +hi def link tjp_journalentry Type +syn keyword tjp_alert alert contained +hi def link tjp_alert Type +syn keyword tjp_flags_journalentry flags contained +hi def link tjp_flags_journalentry Type +syn keyword tjp_leaveallowance leaveallowances contained +hi def link tjp_leaveallowance Type +syn keyword tjp_leaves leaves +hi def link tjp_leaves Type +syn keyword tjp_end_limit end contained +hi def link tjp_end_limit Type +syn keyword tjp_period_limit period contained +hi def link tjp_period_limit Type +syn keyword tjp_resources_limit resources contained +hi def link tjp_resources_limit Type +syn keyword tjp_start_limit start contained +hi def link tjp_start_limit Type +syn keyword tjp_dailymax dailymax contained +hi def link tjp_dailymax Type +syn keyword tjp_dailymin dailymin contained +hi def link tjp_dailymin Type +syn keyword tjp_maximum maximum contained +hi def link tjp_maximum Type +syn keyword tjp_minimum minimum contained +hi def link tjp_minimum Type +syn keyword tjp_monthlymax monthlymax contained +hi def link tjp_monthlymax Type +syn keyword tjp_monthlymin monthlymin contained +hi def link tjp_monthlymin Type +syn keyword tjp_weeklymax weeklymax contained +hi def link tjp_weeklymax Type +syn keyword tjp_weeklymin weeklymin contained +hi def link tjp_weeklymin Type +syn keyword tjp_navigator navigator contained +hi def link tjp_navigator Type +syn keyword tjp_hidereport hidereport contained +hi def link tjp_hidereport Type +syn keyword tjp_timeoff_nikureport timeoff contained +hi def link tjp_timeoff_nikureport Type +syn keyword tjp_numberformat numberformat contained +hi def link tjp_numberformat Type +syn keyword tjp_alertlevels alertlevels contained +hi def link tjp_alertlevels Type +syn keyword tjp_currency currency contained +hi def link tjp_currency Type +syn keyword tjp_dailyworkinghours dailyworkinghours contained +hi def link tjp_dailyworkinghours Type +syn keyword tjp_extend extend contained +hi def link tjp_extend Type +syn keyword tjp_now now contained +hi def link tjp_now Type +syn keyword tjp_shorttimeformat shorttimeformat contained +hi def link tjp_shorttimeformat Type +syn keyword tjp_timingresolution timingresolution contained +hi def link tjp_timingresolution Type +syn keyword tjp_trackingscenario trackingscenario contained +hi def link tjp_trackingscenario Type +syn keyword tjp_weekstartsmonday weekstartsmonday contained +hi def link tjp_weekstartsmonday Type +syn keyword tjp_weekstartssunday weekstartssunday contained +hi def link tjp_weekstartssunday Type +syn keyword tjp_yearlyworkingdays yearlyworkingdays contained +hi def link tjp_yearlyworkingdays Type +syn keyword tjp_copyright copyright +hi def link tjp_copyright Type +syn keyword tjp_flags flags +hi def link tjp_flags Type +syn keyword tjp_limits limits contained +hi def link tjp_limits Type +syn keyword tjp_projectid projectid +hi def link tjp_projectid Type +syn keyword tjp_projectids projectids +hi def link tjp_projectids Type +syn keyword tjp_rate rate +hi def link tjp_rate Type +syn keyword tjp_vacation vacation +hi def link tjp_vacation Type +syn keyword tjp_purge purge contained +hi def link tjp_purge Type +syn keyword tjp_accountroot accountroot contained +hi def link tjp_accountroot Type +syn keyword tjp_caption caption contained +hi def link tjp_caption Type +syn keyword tjp_center center contained +hi def link tjp_center Type +syn keyword tjp_columns columns contained +hi def link tjp_columns Type +syn keyword tjp_epilog epilog contained +hi def link tjp_epilog Type +syn keyword tjp_flags_report flags contained +hi def link tjp_flags_report Type +syn keyword tjp_footer footer contained +hi def link tjp_footer Type +syn keyword tjp_header header contained +hi def link tjp_header Type +syn keyword tjp_journalmode journalmode contained +hi def link tjp_journalmode Type +syn keyword tjp_left left contained +hi def link tjp_left Type +syn keyword tjp_loadunit loadunit contained +hi def link tjp_loadunit Type +syn keyword tjp_opennodes opennodes contained +hi def link tjp_opennodes Type +syn keyword tjp_prolog prolog contained +hi def link tjp_prolog Type +syn keyword tjp_right right contained +hi def link tjp_right Type +syn keyword tjp_scenarios scenarios contained +hi def link tjp_scenarios Type +syn keyword tjp_selfcontained selfcontained contained +hi def link tjp_selfcontained Type +syn keyword tjp_resourceroot resourceroot contained +hi def link tjp_resourceroot Type +syn keyword tjp_taskroot taskroot contained +hi def link tjp_taskroot Type +syn keyword tjp_timezone_report timezone contained +hi def link tjp_timezone_report Type +syn keyword tjp_end_report end contained +hi def link tjp_end_report Type +syn keyword tjp_period_report period contained +hi def link tjp_period_report Type +syn keyword tjp_start_report start contained +hi def link tjp_start_report Type +syn keyword tjp_title title contained +hi def link tjp_title Type +syn keyword tjp_email email contained +hi def link tjp_email Type +syn keyword tjp_efficiency efficiency contained +hi def link tjp_efficiency Type +syn keyword tjp_flags_resource flags contained +hi def link tjp_flags_resource Type +syn keyword tjp_booking_resource booking contained +hi def link tjp_booking_resource Type +syn keyword tjp_limits_resource limits contained +hi def link tjp_limits_resource Type +syn keyword tjp_managers managers contained +hi def link tjp_managers Type +syn keyword tjp_rate_resource rate contained +hi def link tjp_rate_resource Type +syn keyword tjp_shifts_resource shifts contained +hi def link tjp_shifts_resource Type +syn keyword tjp_vacation_resource vacation contained +hi def link tjp_vacation_resource Type +syn keyword tjp_rollupaccount rollupaccount contained +hi def link tjp_rollupaccount Type +syn keyword tjp_rollupresource rollupresource contained +hi def link tjp_rollupresource Type +syn keyword tjp_rolluptask rolluptask contained +hi def link tjp_rolluptask Type +syn keyword tjp_active active contained +hi def link tjp_active Type +syn keyword tjp_replace replace contained +hi def link tjp_replace Type +syn keyword tjp_timezone_shift timezone contained +hi def link tjp_timezone_shift Type +syn keyword tjp_vacation_shift vacation contained +hi def link tjp_vacation_shift Type +syn keyword tjp_sortjournalentries sortjournalentries contained +hi def link tjp_sortjournalentries Type +syn keyword tjp_sortaccounts sortaccounts contained +hi def link tjp_sortaccounts Type +syn keyword tjp_sortresources sortresources contained +hi def link tjp_sortresources Type +syn keyword tjp_sorttasks sorttasks contained +hi def link tjp_sorttasks Type +syn keyword tjp_flags_statussheet flags contained +hi def link tjp_flags_statussheet Type +syn keyword tjp_status_statussheet status contained +hi def link tjp_status_statussheet Type +syn keyword tjp_statussheet statussheet contained +hi def link tjp_statussheet Type +syn keyword tjp_summary summary contained +hi def link tjp_summary Type +syn keyword tjp_tagfile tagfile contained +hi def link tjp_tagfile Type +syn keyword tjp_adopt_task adopt contained +hi def link tjp_adopt_task Type +syn keyword tjp_note_task note contained +hi def link tjp_note_task Type +syn keyword tjp_gapduration gapduration contained +hi def link tjp_gapduration Type +syn keyword tjp_gaplength gaplength contained +hi def link tjp_gaplength Type +syn keyword tjp_onend onend contained +hi def link tjp_onend Type +syn keyword tjp_onstart onstart contained +hi def link tjp_onstart Type +syn keyword tjp_period_task period contained +hi def link tjp_period_task Type +syn keyword tjp_booking_task booking contained +hi def link tjp_booking_task Type +syn keyword tjp_charge charge contained +hi def link tjp_charge Type +syn keyword tjp_complete complete contained +hi def link tjp_complete Type +syn keyword tjp_depends depends contained +hi def link tjp_depends Type +syn keyword tjp_duration duration contained +hi def link tjp_duration Type +syn keyword tjp_effort effort contained +hi def link tjp_effort Type +syn keyword tjp_end end contained +hi def link tjp_end Type +syn keyword tjp_flags_task flags contained +hi def link tjp_flags_task Type +syn keyword tjp_length length contained +hi def link tjp_length Type +syn keyword tjp_limits_task limits contained +hi def link tjp_limits_task Type +syn keyword tjp_maxend maxend contained +hi def link tjp_maxend Type +syn keyword tjp_maxstart maxstart contained +hi def link tjp_maxstart Type +syn keyword tjp_milestone milestone contained +hi def link tjp_milestone Type +syn keyword tjp_minend minend contained +hi def link tjp_minend Type +syn keyword tjp_minstart minstart contained +hi def link tjp_minstart Type +syn keyword tjp_precedes precedes contained +hi def link tjp_precedes Type +syn keyword tjp_priority priority contained +hi def link tjp_priority Type +syn keyword tjp_projectid_task projectid contained +hi def link tjp_projectid_task Type +syn keyword tjp_responsible responsible contained +hi def link tjp_responsible Type +syn keyword tjp_scheduled scheduled contained +hi def link tjp_scheduled Type +syn keyword tjp_scheduling scheduling contained +hi def link tjp_scheduling Type +syn keyword tjp_shifts_task shifts contained +hi def link tjp_shifts_task Type +syn keyword tjp_start start contained +hi def link tjp_start Type +syn keyword tjp_timeformat timeformat contained +hi def link tjp_timeformat Type +syn keyword tjp_timesheet timesheet contained +hi def link tjp_timesheet Type +syn keyword tjp_newtask newtask contained +hi def link tjp_newtask Type +syn keyword tjp_shift_timesheet shift contained +hi def link tjp_shift_timesheet Type +syn keyword tjp_task_timesheet task contained +hi def link tjp_task_timesheet Type +syn keyword tjp_timezone timezone contained +hi def link tjp_timezone Type +syn keyword tjp_flags_timesheet flags contained +hi def link tjp_flags_timesheet Type +syn keyword tjp_status_timesheet status contained +hi def link tjp_status_timesheet Type +syn keyword tjp_end_timesheet end contained +hi def link tjp_end_timesheet Type +syn keyword tjp_priority_timesheet priority contained +hi def link tjp_priority_timesheet Type +syn keyword tjp_remaining remaining contained +hi def link tjp_remaining Type +syn keyword tjp_work work contained +hi def link tjp_work Type +syn keyword tjp_warn warn contained +hi def link tjp_warn Type +syn keyword tjp_workinghours_project workinghours contained +hi def link tjp_workinghours_project Type +syn keyword tjp_workinghours_resource workinghours contained +hi def link tjp_workinghours_resource Type +syn keyword tjp_workinghours_shift workinghours contained +hi def link tjp_workinghours_shift Type + +syn match tjparg contained /\${.*}/ +syn match tjpcomment /#.*$/ +syn match tjpcomment "//.*$" +syn match tjpinclude /include.*$/ +syn match tjpnumber /\s[-+]\?\d\+\(\.\d\+\)\?\([hdwmy]\|min\)\?/ +syn match tjpdate /\s\d\{4}-\d\{1,2}-\d\{1,2}\(-\d\{1,2}:\d\{1,2}\(:\d\{1,2}\)\?\(-[-+]\?\d\{4}\)\?\)\?/ +syn match tjptime /\s\d\{1,2}:\d\d\(:\d\d\)\?/ + +syn cluster tjpcommon contains=tjpcomment,tjpdate,tjptime,tjpstring,tjpnumber +syn region tjpblk_account start=/^\s*account\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_account,tjp_account,tjpblk_account,tjp_aggregate,tjp_credits,tjp_flags_account +syn region tjpblk_accountreport start=/^\s*accountreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_accountreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title +syn region tjpblk_allocate start=/^\s*allocate\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_allocate,tjp_alternative,tjp_select,tjp_persistent,tjp_mandatory,tjp_shifts_allocate contained +syn region tjpblk_export start=/^\s*export\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_export,tjp_definitions,tjp_hideresource,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_resourceattributes,tjp_rollupresource,tjp_rolluptask,tjp_scenarios_export,tjp_taskattributes,tjp_timezone_export +syn region tjpblk_date_extend start=/^\s*date\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_date_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained +syn region tjpblk_reference_extend start=/^\s*reference\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_reference_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained +syn region tjpblk_richtext_extend start=/^\s*richtext\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_richtext_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained +syn region tjpblk_text_extend start=/^\s*text\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_text_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained +syn region tjpblk_icalreport start=/^\s*icalreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_icalreport,tjp_hideresource,tjp_hidejournalentry,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_rollupresource,tjp_rolluptask,tjp_scenario_ical +syn region tjpblk_journalentry start=/^\s*journalentry\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_journalentry,tjp_alert,tjp_author,tjp_flags_journalentry,tjp_summary,tjp_details contained +syn region tjpblk_dailymax start=/^\s*dailymax\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_dailymax,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_dailymin start=/^\s*dailymin\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_dailymin,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_maximum start=/^\s*maximum\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_maximum,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_minimum start=/^\s*minimum\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_minimum,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_monthlymax start=/^\s*monthlymax\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_monthlymax,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_monthlymin start=/^\s*monthlymin\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_monthlymin,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_weeklymax start=/^\s*weeklymax\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_weeklymax,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_weeklymin start=/^\s*weeklymin\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_weeklymin,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained +syn region tjpblk_navigator start=/^\s*navigator\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_navigator,tjp_hidereport +syn region tjpblk_nikureport start=/^\s*nikureport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_nikureport,tjp_formats,tjp_headline,tjp_hideresource,tjp_hidetask,tjp_numberformat,tjp_end_report,tjp_period_report,tjp_start_report,tjp_title,tjp_timeoff_nikureport +syn region tjpblk_extend start=/^\s*extend\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_extend,tjp_date_extend,tjpblk_date_extend,tjp_reference_extend,tjpblk_reference_extend,tjp_richtext_extend,tjpblk_richtext_extend,tjp_text_extend,tjpblk_text_extend contained +syn region tjpblk_project start=/^\s*project\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_project,tjp_alertlevels,tjp_currencyformat,tjp_currency,tjp_dailyworkinghours,tjp_extend,tjpblk_extend,tjp_include_project,tjp_journalentry,tjpblk_journalentry,tjp_now,tjp_numberformat,tjp_scenario,tjpblk_scenario,tjp_shorttimeformat,tjp_timeformat,tjp_timezone,tjp_timingresolution,tjp_trackingscenario,tjp_weekstartsmonday,tjp_weekstartssunday,tjp_workinghours_project,tjp_yearlyworkingdays +syn region tjpblk_limits start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin +syn region tjpblk_include_properties start=/^\s*include\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_include_properties,tjp_accountprefix,tjp_reportprefix,tjp_resourceprefix,tjp_taskprefix +syn region tjpblk_columns start=/^\s*columns\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_columns,tjp_celltext_column,tjp_cellcolor_column,tjp_end_column,tjp_fontcolor_column,tjp_halign_column,tjp_listitem_column,tjp_listtype_column,tjp_period_column,tjp_scale_column,tjp_start_column,tjp_title_column,tjp_tooltip_column,tjp_width_column contained +syn region tjpblk_resource start=/^\s*resource\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_resource,tjp_email,tjp_journalentry,tjpblk_journalentry,tjp_purge,tjp_resource,tjpblk_resource,tjp_chargeset,tjp_efficiency,tjp_flags_resource,tjp_booking_resource,tjpblk_booking_resource,tjp_fail,tjp_leaveallowance,tjp_leaves,tjp_limits_resource,tjpblk_limits_resource,tjp_managers,tjp_rate_resource,tjp_shifts_resource,tjp_vacation_resource,tjp_warn,tjp_workinghours_resource,tjp_supplement_resource,tjpblk_supplement_resource +syn region tjpblk_supplement_resource start=/^\s*supplement resource\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_supplement_resource,tjp_email,tjp_journalentry,tjpblk_journalentry,tjp_purge,tjp_resource,tjpblk_resource,tjp_chargeset,tjp_efficiency,tjp_flags_resource,tjp_booking_resource,tjpblk_booking_resource,tjp_fail,tjp_leaveallowance,tjp_leaves,tjp_limits_resource,tjpblk_limits_resource,tjp_managers,tjp_rate_resource,tjp_shifts_resource,tjp_vacation_resource,tjp_warn,tjp_workinghours_resource,tjp_supplement_resource,tjpblk_supplement_resource,tjp_supplement contained +syn region tjpblk_resourcereport start=/^\s*resourcereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_resourcereport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title +syn region tjpblk_booking_resource start=/^\s*booking\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_booking_resource,tjp_overtime_booking,tjp_sloppy_booking contained +syn region tjpblk_limits_resource start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits_resource,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin contained +syn region tjpblk_scenario start=/^\s*scenario\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_scenario,tjp_active,tjp_scenario,tjpblk_scenario contained +syn region tjpblk_shift start=/^\s*shift\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_shift,tjp_shift,tjpblk_shift,tjp_leaves,tjp_replace,tjp_timezone_shift,tjp_vacation_shift,tjp_workinghours_shift +syn region tjpblk_status_statussheet start=/^\s*status\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_status_statussheet,tjp_author,tjp_details,tjp_flags_statussheet,tjp_summary contained +syn region tjpblk_statussheet start=/^\s*statussheet\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_statussheet,tjp_task_statussheet,tjpblk_task_statussheet +syn region tjpblk_statussheetreport start=/^\s*statussheetreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_statussheetreport,tjp_hideresource,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_sortresources,tjp_sorttasks +syn region tjpblk_task_statussheet start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_task_statussheet,tjp_status_statussheet,tjpblk_status_statussheet,tjp_task_statussheet,tjpblk_task_statussheet contained +syn region tjpblk_tagfile start=/^\s*tagfile\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_tagfile,tjp_hideresource,tjp_hidetask,tjp_rollupresource,tjp_rolluptask +syn region tjpblk_task start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_task,tjp_adopt_task,tjp_journalentry,tjpblk_journalentry,tjp_note_task,tjp_purge,tjp_supplement_task,tjpblk_supplement_task,tjp_task,tjpblk_task,tjp_allocate,tjpblk_allocate,tjp_booking_task,tjpblk_booking_task,tjp_charge,tjp_chargeset,tjp_complete,tjp_depends,tjpblk_depends,tjp_duration,tjp_effort,tjp_end,tjp_flags_task,tjp_fail,tjp_length,tjp_limits_task,tjpblk_limits_task,tjp_maxend,tjp_maxstart,tjp_milestone,tjp_minend,tjp_minstart,tjp_period_task,tjp_precedes,tjpblk_precedes,tjp_priority,tjp_projectid_task,tjp_responsible,tjp_scheduled,tjp_scheduling,tjp_shifts_task,tjp_start,tjp_warn +syn region tjpblk_supplement_task start=/^\s*supplement task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_supplement_task,tjp_adopt_task,tjp_journalentry,tjpblk_journalentry,tjp_note_task,tjp_purge,tjp_supplement_task,tjpblk_supplement_task,tjp_task,tjpblk_task,tjp_allocate,tjpblk_allocate,tjp_booking_task,tjpblk_booking_task,tjp_charge,tjp_chargeset,tjp_complete,tjp_depends,tjpblk_depends,tjp_duration,tjp_effort,tjp_end,tjp_flags_task,tjp_fail,tjp_length,tjp_limits_task,tjpblk_limits_task,tjp_maxend,tjp_maxstart,tjp_milestone,tjp_minend,tjp_minstart,tjp_period_task,tjp_precedes,tjpblk_precedes,tjp_priority,tjp_projectid_task,tjp_responsible,tjp_scheduled,tjp_scheduling,tjp_shifts_task,tjp_start,tjp_warn,tjp_supplement contained +syn region tjpblk_taskreport start=/^\s*taskreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_taskreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title +syn region tjpblk_booking_task start=/^\s*booking\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_booking_task,tjp_overtime_booking,tjp_sloppy_booking contained +syn region tjpblk_depends start=/^\s*depends\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_depends,tjp_gapduration,tjp_gaplength,tjp_onend,tjp_onstart contained +syn region tjpblk_limits_task start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits_task,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin contained +syn region tjpblk_precedes start=/^\s*precedes\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_precedes,tjp_gapduration,tjp_gaplength,tjp_onend,tjp_onstart contained +syn region tjpblk_textreport start=/^\s*textreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_textreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title +syn region tjpblk_timesheet start=/^\s*timesheet\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_timesheet,tjp_newtask,tjpblk_newtask,tjp_shift_timesheet,tjp_status_timesheet,tjpblk_status_timesheet,tjp_task_timesheet,tjpblk_task_timesheet +syn region tjpblk_newtask start=/^\s*newtask\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_newtask,tjp_end_timesheet,tjp_priority_timesheet,tjp_remaining,tjp_status_timesheet,tjpblk_status_timesheet,tjp_work contained +syn region tjpblk_task_timesheet start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_task_timesheet,tjp_end_timesheet,tjp_priority_timesheet,tjp_remaining,tjp_status_timesheet,tjpblk_status_timesheet,tjp_work contained +syn region tjpblk_timesheetreport start=/^\s*timesheetreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_timesheetreport,tjp_hideresource,tjp_end_report,tjp_period_report,tjp_start_report +syn region tjpblk_status_timesheet start=/^\s*status\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_status_timesheet,tjp_details,tjp_flags_timesheet,tjp_summary contained +syn region tjpblk_macro start=/macro\s\+\h\w*\s*\[/ end=/\]$/ transparent fold contains=ALL +syn region tjpstring start=/"/ skip=/\\"/ end=/"/ +syn region tjpstring start=/'/ skip=/\\'/ end=/'/ +syn region tjpstring start=/\s-8<-$/ end=/^\s*->8-/ fold +syn region tjpmlcomment start=+/\*+ end=+\*/+ + +syn sync fromstart +set foldmethod=syntax + +hi def link tjp_macro PreProc +hi def link tjp_supplement Function +hi def link tjp_project Function +hi def link tjpproperty Function +hi def link tjpattribute Type +hi def link tjparg Special +hi def link tjpstring String +hi def link tjpcomment Comment +hi def link tjpmlcomment Comment +hi def link tjpinclude Include +hi def link tjpdate Constant +hi def link tjptime Constant +hi def link tjpnumber Number + +let b:current_syntax = "tjp" + +" Support running tj3 from within vim. Just type ':make your_project.tjp' to +" activate it. +set makeprg=tj3\ --silent + +" Support browsing the man page by typing Shift-k while having the cursor over +" any syntax keyword +set keywordprg=tj3man + +" Remap Ctrl-] to show full ID of property defined in the current +" line. This requires a current ctags file (generated by 'tagfile' +" report') to be present in the directory where vim was started. +map <C-]> :call ShowFullID()<CR> +function! ShowFullID() + let linenumber = line(".") + let filename = bufname("%") + execute "!grep '".filename."\t".linenumber.";' tags|cut -f 1" +endfunction + +augroup TaskJugglerSource + " Remove all trailing white spaces from line ends when saving files + " Note: This overwrites the s mark. + autocmd BufWritePre *.tj[ip] mark s | %s/\s\+$//e | normal `s +augroup END |