" Vim syntax file " Language: Nimrod " Maintainer: Kearn Holliday (thekearnman at gmail dot com) " Updated: 2009-05-15 " " Options to control nimrod syntax highlighting: " " For highlighted numbers: " let nimrod_highlight_numbers = 1 " " For highlighted builtin functions: " let nimrod_highlight_builtins = 1 " " For highlighted standard exceptions: " let nimrod_highlight_exceptions = 1 " " Highlight erroneous whitespace: " let nimrod_highlight_space_errors = 1 " " If you want all possible nimrod highlighting (the same as setting the " preceding options): " " let nimrod_highlight_all = 1 " " 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 region nimrodBrackets contained extend keepend matchgroup=Bold start=+\(\\\)\@" syn match nimrodNumber "\<\d\+[LljJ]\=\>" syn match nimrodNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match nimrodNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match nimrodNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" endif if exists("nimrod_highlight_builtins") " builtin functions, types and objects, not really part of the syntax syn keyword nimrodBuiltin int int8 int16 int32 int64 float float32 float64 bool syn keyword nimrodBuiltin char string cstring pointer range array openarray seq syn keyword nimrodBuiltin set Byte Natural Positive TObject PObject Conversion TResult TAddress syn keyword nimrodBuiltin BiggestInt BiggestFloat cchar cschar cshort cint syn keyword nimrodBuiltin clong clonglong cfloat cdouble clongdouble syn keyword nimrodBuiltin cstringArray TEndian PFloat32 PFloat64 PInt64 PInt32 syn keyword nimrodBuiltin TGC_Strategy TFile TFileMode TFileHandle isMainModule syn keyword nimrodBuiltin CompileDate CompileTime NimrodVersion NimrodMajor syn keyword nimrodBuiltin NimrodMinor NimrodPatch cpuEndian hostOS hostCPU inf syn keyword nimrodBuiltin neginf nan QuitSuccess QuitFailure dbgLineHook stdin syn keyword nimrodBuiltin stdout stderr defined new high low sizeof succ pred syn keyword nimrodBuiltin inc dec newSeq len incl excl card ord chr ze ze64 syn keyword nimrodBuiltin toU8 toU16 toU32 abs min max add repr syn match nimrodBuiltin "\" syn keyword nimrodBuiltin toFloat toBiggestFloat toInt toBiggestInt addQuitProc syn keyword nimrodBuiltin copy setLen newString zeroMem copyMem moveMem syn keyword nimrodBuiltin equalMem alloc alloc0 realloc dealloc setLen assert syn keyword nimrodBuiltin swap getRefcount getCurrentException Msg syn keyword nimrodBuiltin getOccupiedMem getFreeMem getTotalMem isNil seqToPtr syn keyword nimrodBuiltin find pop GC_disable GC_enable GC_fullCollect syn keyword nimrodBuiltin GC_setStrategy GC_enableMarkAnd Sweep syn keyword nimrodBuiltin GC_disableMarkAnd Sweep GC_getStatistics GC_ref syn keyword nimrodBuiltin GC_ref GC_ref GC_unref GC_unref GC_unref quit syn keyword nimrodBuiltin OpenFile OpenFile CloseFile EndOfFile readChar syn keyword nimrodBuiltin FlushFile readFile write readLine writeln writeln syn keyword nimrodBuiltin getFileSize ReadBytes ReadChars readBuffer writeBytes syn keyword nimrodBuiltin writeChars writeBuffer setFilePos getFilePos syn keyword nimrodBuiltin fileHandle countdown countup items lines endif if exists("nimrod_highlight_exceptions") " builtin exceptions and warnings syn keyword nimrodException E_Base EAsynch ESynch ESystem EIO EOS syn keyword nimrodException ERessourceExhausted EArithmetic EDivByZero syn keyword nimrodException EOverflow EAccessViolation EAssertionFailed syn keyword nimrodException EControlC EInvalidValue EOutOfMemory EInvalidIndex syn keyword nimrodException EInvalidField EOutOfRange EStackOverflow syn keyword nimrodException ENoExceptionToReraise EInvalidObjectAssignment syn keyword nimrodException EInvalidObject endif if exists("nimrod_highlight_space_errors") " trailing whitespace syn match nimrodSpaceError display excludenl "\S\s\+$"ms=s+1 " mixed tabs and spaces syn match nimrodSpaceError display " \+\t" syn match nimrodSpaceError display "\t\+ " endif syn sync match nimrodSync grouphere NONE "):$" syn sync maxlines=200 syn sync minlines=2000 if version >= 508 || !exists("did_nimrod_syn_inits") if version <= 508 let did_nimrod_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif " The default methods for highlighting. Can be overridden later HiLink nimrodBrackets Operator HiLink nimrodStatement Statement HiLink nimrodFunction Function HiLink nimrodConditional Conditional HiLink nimrodRepeat Repeat HiLink nimrodString String HiLink nimrodRawString String HiLink nimrodEscape Special HiLink nimrodOperator Operator HiLink nimrodPreCondit PreCondit HiLink nimrodComment Comment HiLink nimrodTodo Todo HiLink nimrodDecorator Define if exists("nimrod_highlight_numbers") HiLink nimrodNumber Number endif if exists("nimrod_highlight_builtins") HiLink nimrodBuiltin Number endif if exists("nimrod_highlight_exceptions") HiLink nimrodException Exception endif if exists("nimrod_highlight_space_errors") HiLink nimrodSpaceError Error endif delcommand HiLink endif let b:current_syntax = "nimrod"