codekingpro/portable-devtools
115k
1" Vim syntax file2" Language: Simula3" Maintainer: Haakon Riiser <hakonrk@fys.uio.no>4" URL: http://folk.uio.no/hakonrk/vim/syntax/simula.vim5" Last Change: 2001 May 156 7" quit when a syntax file was already loaded8if exists("b:current_syntax")9 finish10endif11 12" No case sensitivity in Simula13syn case ignore14 15syn match simulaComment "^%.*$" contains=simulaTodo16syn region simulaComment start="!\|\<comment\>" end=";" contains=simulaTodo17 18" Text between the keyword 'end' and either a semicolon or one of the19" keywords 'end', 'else', 'when' or 'otherwise' is also a comment20syn region simulaComment start="\<end\>"lc=3 matchgroup=Statement end=";\|\<\(end\|else\|when\|otherwise\)\>"21 22syn match simulaCharError "'.\{-2,}'"23syn match simulaCharacter "'.'"24syn match simulaCharacter "'!\d\{-}!'" contains=simulaSpecialChar25syn match simulaString '".\{-}"' contains=simulaSpecialChar,simulaTodo26 27syn keyword simulaBoolean true false28syn keyword simulaCompound begin end29syn keyword simulaConditional else if otherwise then until when30syn keyword simulaConstant none notext31syn keyword simulaFunction procedure32syn keyword simulaOperator eq eqv ge gt imp in is le lt ne new not qua33syn keyword simulaRepeat while for34syn keyword simulaReserved activate after at before delay go goto label prior reactivate switch to35syn keyword simulaStatement do inner inspect step this36syn keyword simulaStorageClass external hidden name protected value37syn keyword simulaStructure class38syn keyword simulaType array boolean character integer long real short text virtual39syn match simulaAssigned "\<\h\w*\s*\((.*)\)\=\s*:\(=\|-\)"me=e-240syn match simulaOperator "[&:=<>+\-*/]"41syn match simulaOperator "\<and\(\s\+then\)\=\>"42syn match simulaOperator "\<or\(\s\+else\)\=\>"43syn match simulaReferenceType "\<ref\s*(.\{-})"44syn match simulaSemicolon ";"45syn match simulaSpecial "[(),.]"46syn match simulaSpecialCharErr "!\d\{-4,}!" contained47syn match simulaSpecialCharErr "!!" contained48syn match simulaSpecialChar "!\d\{-}!" contains=simulaSpecialCharErr contained49syn match simulaTodo "xxx\+" contained50 51" Integer number (or float without `.')52syn match simulaNumber "-\=\<\d\+\>"53" Real with optional exponent54syn match simulaReal "-\=\<\d\+\(\.\d\+\)\=\(&&\=[+-]\=\d\+\)\=\>"55" Real starting with a `.', optional exponent56syn match simulaReal "-\=\.\d\+\(&&\=[+-]\=\d\+\)\=\>"57 58 59hi def link simulaAssigned Identifier60hi def link simulaBoolean Boolean61hi def link simulaCharacter Character62hi def link simulaCharError Error63hi def link simulaComment Comment64hi def link simulaCompound Statement65hi def link simulaConditional Conditional66hi def link simulaConstant Constant67hi def link simulaFunction Function68hi def link simulaNumber Number69hi def link simulaOperator Operator70hi def link simulaReal Float71hi def link simulaReferenceType Type72hi def link simulaRepeat Repeat73hi def link simulaReserved Error74hi def link simulaSemicolon Statement75hi def link simulaSpecial Special76hi def link simulaSpecialChar SpecialChar77hi def link simulaSpecialCharErr Error78hi def link simulaStatement Statement79hi def link simulaStorageClass StorageClass80hi def link simulaString String81hi def link simulaStructure Structure82hi def link simulaTodo Todo83hi def link simulaType Type84 85 86let b:current_syntax = "simula"87" vim: sts=4 sw=4 ts=888 