diff options
Diffstat (limited to 'syntax/tads.vim')
-rw-r--r-- | syntax/tads.vim | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/syntax/tads.vim b/syntax/tads.vim deleted file mode 100644 index 4dc4e98f..00000000 --- a/syntax/tads.vim +++ /dev/null @@ -1,175 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" Vim syntax file -" Language: TADS -" Maintainer: Amir Karger <karger@post.harvard.edu> -" $Date: 2004/06/13 19:28:45 $ -" $Revision: 1.1 $ -" Stolen from: Bram Moolenaar's C language file -" Newest version at: http://www.hec.utah.edu/~karger/vim/syntax/tads.vim -" History info at the bottom of the file - -" TODO lots more keywords -" global, self, etc. are special *objects*, not functions. They should -" probably be a different color than the special functions -" Actually, should cvtstr etc. be functions?! (change tadsFunction) -" Make global etc. into Identifiers, since we don't have regular variables? - -" quit when a syntax file was already loaded -if exists("b:current_syntax") - finish -endif - -" A bunch of useful keywords -syn keyword tadsStatement goto break return continue pass -syn keyword tadsLabel case default -syn keyword tadsConditional if else switch -syn keyword tadsRepeat while for do -syn keyword tadsStorageClass local compoundWord formatstring specialWords -syn keyword tadsBoolean nil true - -" TADS keywords -syn keyword tadsKeyword replace modify -syn keyword tadsKeyword global self inherited -" builtin functions -syn keyword tadsKeyword cvtstr cvtnum caps lower upper substr -syn keyword tadsKeyword say length -syn keyword tadsKeyword setit setscore -syn keyword tadsKeyword datatype proptype -syn keyword tadsKeyword car cdr -syn keyword tadsKeyword defined isclass -syn keyword tadsKeyword find firstobj nextobj -syn keyword tadsKeyword getarg argcount -syn keyword tadsKeyword input yorn askfile -syn keyword tadsKeyword rand randomize -syn keyword tadsKeyword restart restore quit save undo -syn keyword tadsException abort exit exitobj - -syn keyword tadsTodo contained TODO FIXME XXX - -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn match tadsSpecial contained "\\." -syn region tadsDoubleString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=tadsSpecial,tadsEmbedded -syn region tadsSingleString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=tadsSpecial -" Embedded expressions in strings -syn region tadsEmbedded contained start="<<" end=">>" contains=tadsKeyword - -" TADS doesn't have \xxx, right? -"syn match cSpecial contained "\\[0-7][0-7][0-7]\=\|\\." -"syn match cSpecialCharacter "'\\[0-7][0-7]'" -"syn match cSpecialCharacter "'\\[0-7][0-7][0-7]'" - -"catch errors caused by wrong parenthesis -"syn region cParen transparent start='(' end=')' contains=ALLBUT,cParenError,cIncluded,cSpecial,cTodo,cUserCont,cUserLabel -"syn match cParenError ")" -"syn match cInParen contained "[{}]" -syn region tadsBrace transparent start='{' end='}' contains=ALLBUT,tadsBraceError,tadsIncluded,tadsSpecial,tadsTodo -syn match tadsBraceError "}" - -"integer number (TADS has no floating point numbers) -syn case ignore -syn match tadsNumber "\<[0-9]\+\>" -"hex number -syn match tadsNumber "\<0x[0-9a-f]\+\>" -syn match tadsIdentifier "\<[a-z][a-z0-9_$]*\>" -syn case match -" flag an octal number with wrong digits -syn match tadsOctalError "\<0[0-7]*[89]" - -" Removed complicated c_comment_strings -syn region tadsComment start="/\*" end="\*/" contains=tadsTodo -syn match tadsComment "//.*" contains=tadsTodo -syntax match tadsCommentError "\*/" - -syn region tadsPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=tadsComment,tadsString,tadsNumber,tadsCommentError -syn region tadsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match tadsIncluded contained "<[^>]*>" -syn match tadsInclude "^\s*#\s*include\>\s*["<]" contains=tadsIncluded -syn region tadsDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,tadsPreCondit,tadsIncluded,tadsInclude,tadsDefine,tadsInBrace,tadsIdentifier - -syn region tadsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,tadsPreCondit,tadsIncluded,tadsInclude,tadsDefine,tadsInParen,tadsIdentifier - -" Highlight User Labels -" TODO labels for gotos? -"syn region cMulti transparent start='?' end=':' contains=ALLBUT,cIncluded,cSpecial,cTodo,cUserCont,cUserLabel,cBitField -" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' -"syn match cUserCont "^\s*\I\i*\s*:$" contains=cUserLabel -"syn match cUserCont ";\s*\I\i*\s*:$" contains=cUserLabel -"syn match cUserCont "^\s*\I\i*\s*:[^:]" contains=cUserLabel -"syn match cUserCont ";\s*\I\i*\s*:[^:]" contains=cUserLabel - -"syn match cUserLabel "\I\i*" contained - -" identifier: class-name [, class-name [...]] [property-list] ; -" Don't highlight comment in class def -syn match tadsClassDef "\<class\>[^/]*" contains=tadsObjectDef,tadsClass -syn match tadsClass contained "\<class\>" -syn match tadsObjectDef "\<[a-zA-Z][a-zA-Z0-9_$]*\s*:\s*[a-zA-Z0-9_$]\+\(\s*,\s*[a-zA-Z][a-zA-Z0-9_$]*\)*\(\s*;\)\=" -syn keyword tadsFunction contained function -syn match tadsFunctionDef "\<[a-zA-Z][a-zA-Z0-9_$]*\s*:\s*function[^{]*" contains=tadsFunction -"syn region tadsObject transparent start = '[a-zA-Z][\i$]\s*:\s*' end=";" contains=tadsBrace,tadsObjectDef - -" How far back do we go to find matching groups -if !exists("tads_minlines") - let tads_minlines = 15 -endif -exec "syn sync ccomment tadsComment minlines=" . tads_minlines -if !exists("tads_sync_dist") - let tads_sync_dist = 100 -endif -execute "syn sync maxlines=" . tads_sync_dist - -" Define the default highlighting. -" Only when an item doesn't have highlighting yet - -" The default methods for highlighting. Can be overridden later -hi def link tadsFunctionDef Function -hi def link tadsFunction Structure -hi def link tadsClass Structure -hi def link tadsClassDef Identifier -hi def link tadsObjectDef Identifier -" no highlight for tadsEmbedded, so it prints as normal text w/in the string - -hi def link tadsOperator Operator -hi def link tadsStructure Structure -hi def link tadsTodo Todo -hi def link tadsLabel Label -hi def link tadsConditional Conditional -hi def link tadsRepeat Repeat -hi def link tadsException Exception -hi def link tadsStatement Statement -hi def link tadsStorageClass StorageClass -hi def link tadsKeyWord Keyword -hi def link tadsSpecial SpecialChar -hi def link tadsNumber Number -hi def link tadsBoolean Boolean -hi def link tadsDoubleString tadsString -hi def link tadsSingleString tadsString - -hi def link tadsOctalError tadsError -hi def link tadsCommentError tadsError -hi def link tadsBraceError tadsError -hi def link tadsInBrace tadsError -hi def link tadsError Error - -hi def link tadsInclude Include -hi def link tadsPreProc PreProc -hi def link tadsDefine Macro -hi def link tadsIncluded tadsString -hi def link tadsPreCondit PreCondit - -hi def link tadsString String -hi def link tadsComment Comment - - - -let b:current_syntax = "tads" - -" Changes: -" 11/18/99 Added a bunch of TADS functions, tadsException -" 10/22/99 Misspelled Moolenaar (sorry!), c_minlines to tads_minlines -" -" vim: ts=8 - -endif |