109 lines · 3.7 KB · Text
RawDownload
" Vim syntax file" Language:	Dylan" Authors:	Justus Pendleton <justus@acm.org>"		Brent A. Fulgham <bfulgham@debian.org>" Last Change:	Fri Sep 29 13:45:55 PDT 2000"" This syntax file is based on the Haskell, Perl, Scheme, and C" syntax files. " Part 1:  Syntax definition" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600  syntax clearelseif exists("b:current_syntax")  finishendif syn case ignore if version < 600  set lispelse  setlocal lispendif " Highlight special characters (those that have backslashes) differentlysyn match	dylanSpecial		display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" " Keywordssyn keyword	dylanBlock		afterwards begin block cleanup endsyn keyword	dylanClassMods		abstract concrete primary inherited virtualsyn keyword	dylanException		exception handler signalsyn keyword	dylanParamDefs		method class function library macro interfacesyn keyword	dylanSimpleDefs		constant variable generic primarysyn keyword	dylanOther		above below from by in instance local slot subclass then tosyn keyword	dylanConditional	if when select case else elseif unless finally otherwise thensyn keyword	dylanRepeat		begin for until while from tosyn keyword	dylanStatement		define letsyn keyword	dylanImport		use import export exclude rename createsyn keyword	dylanMiscMods		open sealed domain singleton sideways inline functional " Matching rules for special formssyn match	dylanOperator		"\s[-!%&\*\+/=\?@\\^|~:]\+[-#!>%&:\*\+/=\?@\\^|~]*"syn match	dylanOperator		"\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./=\?@\\^|~:]*"" Numberssyn match	dylanNumber		"\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"syn match	dylanNumber		"\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"" Booleanssyn match	dylanBoolean		"#t\|#f"" Commentssyn match	dylanComment		"//.*"syn region	dylanComment		start="/\*" end="\*/"" Stringssyn region	dylanString		start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dySpecialsyn match	dylanCharacter		"'[^\\]'"" Constants, classes, and variablessyn match	dylanConstant		"$\<[a-zA-Z0-9\-]\+\>"syn match	dylanClass		"<\<[a-zA-Z0-9\-]\+\>>"syn match	dylanVariable		"\*\<[a-zA-Z0-9\-]\+\>\*"" Preconditionssyn region	dylanPrecondit		start="^\s*#\s*\(if\>\|else\>\|endif\>\)" skip="\\$" end="$" " These appear at the top of files (usually).  I like to highlight the whole line" so that the definition stands out.  They should probably really be keywords, but they" don't generally appear in the middle of a line of code.syn region	dylanHeader	start="^[Mm]odule:" end="^$" " 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 yetif version >= 508 || !exists("did_dylan_syntax_inits")  if version < 508    let did_dylan_syntax_inits = 1    command -nargs=+ HiLink hi link <args>  else    command -nargs=+ HiLink hi def link <args>  endif   HiLink dylanBlock		PreProc  HiLink dylanBoolean		Boolean  HiLink dylanCharacter		Character  HiLink dylanClass		Structure  HiLink dylanClassMods		StorageClass  HiLink dylanComment		Comment  HiLink dylanConditional	Conditional  HiLink dylanConstant		Constant  HiLink dylanException		Exception  HiLink dylanHeader		Macro  HiLink dylanImport		Include  HiLink dylanLabel		Label  HiLink dylanMiscMods		StorageClass  HiLink dylanNumber		Number  HiLink dylanOther		Keyword  HiLink dylanOperator		Operator  HiLink dylanParamDefs		Keyword  HiLink dylanPrecondit		PreCondit  HiLink dylanRepeat		Repeat  HiLink dylanSimpleDefs	Keyword  HiLink dylanStatement		Macro  HiLink dylanString		String  HiLink dylanVariable		Identifier   delcommand HiLinkendif let b:current_syntax = "dylan" " vim:ts=8