" Vim syntax file" Language: S-Lang" Maintainer: Jan Hlavacek <lahvak@math.ohio-state.edu>" Last Change: 980216" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600syntax clearelseif exists("b:current_syntax")finishendifsyn keyword slangStatement break return continue EXECUTE_ERROR_BLOCKsyn match slangStatement "\<X_USER_BLOCK[0-4]\>"syn keyword slangLabel casesyn keyword slangConditional !if if else switchsyn keyword slangRepeat while for _for loop do foreversyn keyword slangDefinition define typedef variable structsyn keyword slangOperator or and andelse orelse shr shl xor notsyn keyword slangBlock EXIT_BLOCK ERROR_BLOCKsyn match slangBlock "\<USER_BLOCK[0-4]\>"syn keyword slangConstant NULLsyn keyword slangType Integer_Type Double_Type Complex_Type String_Type Struct_Type Ref_Type Null_Type Array_Type DataType_Typesyn match slangOctal "\<0\d\+\>" contains=slangOctalErrorsyn match slangOctalError "[89]\+" containedsyn match slangHex "\<0[xX][0-9A-Fa-f]*\>"syn match slangDecimal "\<[1-9]\d*\>"syn match slangFloat "\<\d\+\."syn match slangFloat "\<\d\+\.\d\+\([Ee][-+]\=\d\+\)\=\>"syn match slangFloat "\<\d\+\.[Ee][-+]\=\d\+\>"syn match slangFloat "\<\d\+[Ee][-+]\=\d\+\>"syn match slangFloat "\.\d\+\([Ee][-+]\=\d\+\)\=\>"syn match slangImaginary "\.\d\+\([Ee][-+]\=\d*\)\=[ij]\>"syn match slangImaginary "\<\d\+\(\.\d*\)\=\([Ee][-+]\=\d\+\)\=[ij]\>"syn region slangString oneline start='"' end='"' skip='\\"'syn match slangCharacter "'[^\\]'"syn match slangCharacter "'\\.'"syn match slangCharacter "'\\[0-7]\{1,3}'"syn match slangCharacter "'\\d\d\{1,3}'"syn match slangCharacter "'\\x[0-7a-fA-F]\{1,2}'"syn match slangDelim "[][{};:,]"syn match slangOperator "[-%+/&*=<>|!~^@]""catch errors caused by wrong parenthesissyn region slangParen matchgroup=slangDelim transparent start='(' end=')' contains=ALLBUT,slangParenErrorsyn match slangParenError ")"syn match slangComment "%.*$"syn keyword slangOperator sizeofsyn region slangPreCondit start="^\s*#\s*\(ifdef\>\|ifndef\>\|iftrue\>\|ifnfalse\>\|iffalse\>\|ifntrue\>\|if\$\|ifn\$\|\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=cComment,slangString,slangCharacter,slangNumber" 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_slang_syntax_inits")if version < 508let did_slang_syntax_inits = 1command -nargs=+ HiLink hi link <args>elsecommand -nargs=+ HiLink hi def link <args>endifHiLink slangDefinition TypeHiLink slangBlock slangDefinitionHiLink slangLabel LabelHiLink slangConditional ConditionalHiLink slangRepeat RepeatHiLink slangCharacter CharacterHiLink slangFloat FloatHiLink slangImaginary FloatHiLink slangDecimal slangNumberHiLink slangOctal slangNumberHiLink slangHex slangNumberHiLink slangNumber NumberHiLink slangParenError ErrorHiLink slangOctalError ErrorHiLink slangOperator OperatorHiLink slangStructure StructureHiLink slangInclude IncludeHiLink slangPreCondit PreConditHiLink slangError ErrorHiLink slangStatement StatementHiLink slangType TypeHiLink slangString StringHiLink slangConstant ConstantHiLink slangRangeArray slangConstantHiLink slangComment CommentHiLink slangSpecial SpecialCharHiLink slangTodo TodoHiLink slangDelim Delimiterdelcommand HiLinkendiflet b:current_syntax = "slang"" vim: ts=8