Version 1.1@2: hopefully this one actually works now, removed pesky ^M chars

This commit is contained in:
Kearn Holliday 2009-05-15 00:00:00 +00:00 • committed by Able Scraper
commit 932641228a

View file

@ -1,186 +1,187 @@
" Vim syntax file " Vim syntax file
" Language: Nimrod " Language: Nimrod
" Maintainer: Kearn Holliday (thekearnman at gmail dot com) " Maintainer: Kearn Holliday (thekearnman at gmail dot com)
" Updated: 2009-05-15 " Updated: 2009-05-15
" "
" Options to control nimrod syntax highlighting: " Options to control nimrod syntax highlighting:
" "
" For highlighted numbers: " For highlighted numbers:
" "
let nimrod_highlight_numbers = 1 let nimrod_highlight_numbers = 1
" "
" For highlighted builtin functions: " For highlighted builtin functions:
" "
let nimrod_highlight_builtins = 1 let nimrod_highlight_builtins = 1
" "
" For highlighted standard exceptions: " For highlighted standard exceptions:
" "
let nimrod_highlight_exceptions = 1 let nimrod_highlight_exceptions = 1
" "
" Highlight erroneous whitespace: " Highlight erroneous whitespace:
" "
let nimrod_highlight_space_errors = 1 let nimrod_highlight_space_errors = 1
" "
" If you want all possible nimrod highlighting (the same as setting the " If you want all possible nimrod highlighting (the same as setting the
" preceding options): " preceding options):
" "
" let nimrod_highlight_all = 1 " let nimrod_highlight_all = 1
" "
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
if version < 600 if version < 600
syntax clear syntax clear
elseif exists("b:current_syntax") elseif exists("b:current_syntax")
finish finish
endif endif
syn region nimrodBrackets contained extend keepend matchgroup=Bold start=+\(\\\)\@<!\[+ end=+]\|$+ skip=+\\\s*$\|\(\\\)\@<!\\]+ contains=@tclCommandCluster syn region nimrodBrackets contained extend keepend matchgroup=Bold start=+\(\\\)\@<!\[+ end=+]\|$+ skip=+\\\s*$\|\(\\\)\@<!\\]+ contains=@tclCommandCluster
syn keyword nimrodStatement addr as asm syn keyword nimrodStatement addr as asm
syn keyword nimrodStatement block break syn keyword nimrodStatement block break
syn keyword nimrodStatement case cast const continue converter syn keyword nimrodStatement case cast const continue converter
syn keyword nimrodStatement discard div syn keyword nimrodStatement discard div
syn keyword nimrodStatement elif else end enum except exception echo syn keyword nimrodStatement elif else end enum except exception echo
syn keyword nimrodStatement finally for from generic syn keyword nimrodStatement finally for from generic
syn keyword nimrodStatement if implies import include isnot iterator syn keyword nimrodStatement if implies import include isnot iterator
syn keyword nimrodStatement lambda syn keyword nimrodStatement lambda
syn keyword nimrodStatement macro method mod syn keyword nimrodStatement macro method mod
syn keyword nimrodStatement nil notin syn keyword nimrodStatement nil notin
syn keyword nimrodStatement object of out syn keyword nimrodStatement object of out
syn keyword nimrodStatement proc ptr syn keyword nimrodStatement proc ptr
syn keyword nimrodStatement raise ref return syn keyword nimrodStatement raise ref return
syn keyword nimrodStatement template try tuple type syn keyword nimrodStatement template try tuple type
syn keyword nimrodStatement var syn keyword nimrodStatement var
syn keyword nimrodStatement when where while with without syn keyword nimrodStatement when where while with without
syn keyword nimrodStatement yield syn keyword nimrodStatement yield
syn match nimrodFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained syn match nimrodFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn match nimrodClass "[a-zA-Z_][a-zA-Z0-9_]*" contained syn match nimrodClass "[a-zA-Z_][a-zA-Z0-9_]*" contained
syn keyword nimrodRepeat for while syn keyword nimrodRepeat for while
syn keyword nimrodConditional if elif else case of syn keyword nimrodConditional if elif else case of
syn keyword nimrodOperator and in is not or xor shl shr syn keyword nimrodOperator and in is not or xor shl shr
syn match nimrodComment "#.*$" contains=nimrodTodo,@Spell syn match nimrodComment "#.*$" contains=nimrodTodo,@Spell
syn keyword nimrodTodo TODO FIXME XXX contained syn keyword nimrodTodo TODO FIXME XXX contained
" strings " strings
syn region nimrodString matchgroup=Normal start=+[uU]\=`+ end=+`+ skip=+\\\\\|\\"+ contains=nimrodEscape,@Spell syn region nimrodString matchgroup=Normal start=+[uU]\=`+ end=+`+ skip=+\\\\\|\\"+ contains=nimrodEscape,@Spell
syn region nimrodString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=nimrodEscape,@Spell syn region nimrodString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=nimrodEscape,@Spell
syn region nimrodRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell syn region nimrodRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=@Spell
syn match nimrodEscape +\\[abfnrtv'"\\]+ contained syn match nimrodEscape +\\[abfnrtv'"\\]+ contained
syn match nimrodEscape "\\\o\{1,3}" contained syn match nimrodEscape "\\\o\{1,3}" contained
syn match nimrodEscape "\\x\x\{2}" contained syn match nimrodEscape "\\x\x\{2}" contained
syn match nimrodEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained syn match nimrodEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained
syn match nimrodEscape "\\$" syn match nimrodEscape "\\$"
if exists("nimrod_highlight_all") if exists("nimrod_highlight_all")
let nimrod_highlight_numbers = 1 let nimrod_highlight_numbers = 1
let nimrod_highlight_builtins = 1 let nimrod_highlight_builtins = 1
let nimrod_highlight_exceptions = 1 let nimrod_highlight_exceptions = 1
let nimrod_highlight_space_errors = 1 let nimrod_highlight_space_errors = 1
endif endif
if exists("nimrod_highlight_numbers") if exists("nimrod_highlight_numbers")
" numbers (including longs and complex) " numbers (including longs and complex)
syn match nimrodNumber "\<0x\x\+[Ll]\=\>" syn match nimrodNumber "\<0x\x\+[Ll]\=\>"
syn match nimrodNumber "\<\d\+[LljJ]\=\>" syn match nimrodNumber "\<\d\+[LljJ]\=\>"
syn match nimrodNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match nimrodNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
syn match nimrodNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match nimrodNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>"
syn match nimrodNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match nimrodNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"
endif endif
if exists("nimrod_highlight_builtins") if exists("nimrod_highlight_builtins")
" builtin functions, types and objects, not really part of the syntax " 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 int int8 int16 int32 int64 float float32 float64 bool
syn keyword nimrodBuiltin char string cstring pointer range array openarray seq 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 set Byte Natural Positive TObject PObject Conversion TResult TAddress
syn keyword nimrodBuiltin BiggestInt BiggestFloat cchar cschar cshort cint syn keyword nimrodBuiltin BiggestInt BiggestFloat cchar cschar cshort cint
syn keyword nimrodBuiltin clong clonglong cfloat cdouble clongdouble syn keyword nimrodBuiltin clong clonglong cfloat cdouble clongdouble
syn keyword nimrodBuiltin cstringArray TEndian PFloat32 PFloat64 PInt64 PInt32 syn keyword nimrodBuiltin cstringArray TEndian PFloat32 PFloat64 PInt64 PInt32
syn keyword nimrodBuiltin TGC_Strategy TFile TFileMode TFileHandle isMainModule syn keyword nimrodBuiltin TGC_Strategy TFile TFileMode TFileHandle isMainModule
syn keyword nimrodBuiltin CompileDate CompileTime NimrodVersion NimrodMajor syn keyword nimrodBuiltin CompileDate CompileTime NimrodVersion NimrodMajor
syn keyword nimrodBuiltin NimrodMinor NimrodPatch cpuEndian hostOS hostCPU inf syn keyword nimrodBuiltin NimrodMinor NimrodPatch cpuEndian hostOS hostCPU inf
syn keyword nimrodBuiltin neginf nan QuitSuccess QuitFailure dbgLineHook stdin syn keyword nimrodBuiltin neginf nan QuitSuccess QuitFailure dbgLineHook stdin
syn keyword nimrodBuiltin stdout stderr defined new high low sizeof succ pred 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 inc dec newSeq len incl excl card ord chr ze ze64
syn keyword nimrodBuiltin toU8 toU16 toU32 abs min max add repr syn keyword nimrodBuiltin toU8 toU16 toU32 abs min max add repr
syn match nimrodBuiltin "\<contains\>" syn match nimrodBuiltin "\<contains\>"
syn keyword nimrodBuiltin toFloat toBiggestFloat toInt toBiggestInt addQuitProc syn keyword nimrodBuiltin toFloat toBiggestFloat toInt toBiggestInt addQuitProc
syn keyword nimrodBuiltin copy setLen newString zeroMem copyMem moveMem syn keyword nimrodBuiltin copy setLen newString zeroMem copyMem moveMem
syn keyword nimrodBuiltin equalMem alloc alloc0 realloc dealloc setLen assert syn keyword nimrodBuiltin equalMem alloc alloc0 realloc dealloc setLen assert
syn keyword nimrodBuiltin swap getRefcount getCurrentException Msg syn keyword nimrodBuiltin swap getRefcount getCurrentException Msg
syn keyword nimrodBuiltin getOccupiedMem getFreeMem getTotalMem isNil seqToPtr syn keyword nimrodBuiltin getOccupiedMem getFreeMem getTotalMem isNil seqToPtr
syn keyword nimrodBuiltin find pop GC_disable GC_enable GC_fullCollect syn keyword nimrodBuiltin find pop GC_disable GC_enable GC_fullCollect
syn keyword nimrodBuiltin GC_setStrategy GC_enableMarkAnd Sweep syn keyword nimrodBuiltin GC_setStrategy GC_enableMarkAnd Sweep
syn keyword nimrodBuiltin GC_disableMarkAnd Sweep GC_getStatistics GC_ref 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 GC_ref GC_ref GC_unref GC_unref GC_unref quit
syn keyword nimrodBuiltin OpenFile OpenFile CloseFile EndOfFile readChar syn keyword nimrodBuiltin OpenFile OpenFile CloseFile EndOfFile readChar
syn keyword nimrodBuiltin FlushFile readFile write readLine writeln writeln syn keyword nimrodBuiltin FlushFile readFile write readLine writeln writeln
syn keyword nimrodBuiltin getFileSize ReadBytes ReadChars readBuffer writeBytes syn keyword nimrodBuiltin getFileSize ReadBytes ReadChars readBuffer writeBytes
syn keyword nimrodBuiltin writeChars writeBuffer setFilePos getFilePos syn keyword nimrodBuiltin writeChars writeBuffer setFilePos getFilePos
syn keyword nimrodBuiltin fileHandle countdown countup items lines syn keyword nimrodBuiltin fileHandle countdown countup items lines
endif endif
if exists("nimrod_highlight_exceptions") if exists("nimrod_highlight_exceptions")
" builtin exceptions and warnings " builtin exceptions and warnings
syn keyword nimrodException E_Base EAsynch ESynch ESystem EIO EOS syn keyword nimrodException E_Base EAsynch ESynch ESystem EIO EOS
syn keyword nimrodException ERessourceExhausted EArithmetic EDivByZero syn keyword nimrodException ERessourceExhausted EArithmetic EDivByZero
syn keyword nimrodException EOverflow EAccessViolation EAssertionFailed syn keyword nimrodException EOverflow EAccessViolation EAssertionFailed
syn keyword nimrodException EControlC EInvalidValue EOutOfMemory EInvalidIndex syn keyword nimrodException EControlC EInvalidValue EOutOfMemory EInvalidIndex
syn keyword nimrodException EInvalidField EOutOfRange EStackOverflow syn keyword nimrodException EInvalidField EOutOfRange EStackOverflow
syn keyword nimrodException ENoExceptionToReraise EInvalidObjectAssignment syn keyword nimrodException ENoExceptionToReraise EInvalidObjectAssignment
syn keyword nimrodException EInvalidObject syn keyword nimrodException EInvalidObject
endif endif
if exists("nimrod_highlight_space_errors") if exists("nimrod_highlight_space_errors")
" trailing whitespace " trailing whitespace
syn match nimrodSpaceError display excludenl "\S\s\+$"ms=s+1 syn match nimrodSpaceError display excludenl "\S\s\+$"ms=s+1
" mixed tabs and spaces " mixed tabs and spaces
syn match nimrodSpaceError display " \+\t" syn match nimrodSpaceError display " \+\t"
syn match nimrodSpaceError display "\t\+ " syn match nimrodSpaceError display "\t\+ "
endif endif
syn sync match nimrodSync grouphere NONE "):$" syn sync match nimrodSync grouphere NONE "):$"
syn sync maxlines=200 syn sync maxlines=200
syn sync minlines=2000 syn sync minlines=2000
if version >= 508 || !exists("did_nimrod_syn_inits") if version >= 508 || !exists("did_nimrod_syn_inits")
if version <= 508 if version <= 508
let did_nimrod_syn_inits = 1 let did_nimrod_syn_inits = 1
command -nargs=+ HiLink hi link <args> command -nargs=+ HiLink hi link <args>
else else
command -nargs=+ HiLink hi def link <args> command -nargs=+ HiLink hi def link <args>
endif endif
" The default methods for highlighting. Can be overridden later " The default methods for highlighting. Can be overridden later
HiLink nimrodBrackets Operator HiLink nimrodBrackets Operator
HiLink nimrodStatement Statement HiLink nimrodStatement Statement
HiLink nimrodFunction Function HiLink nimrodFunction Function
HiLink nimrodConditional Conditional HiLink nimrodConditional Conditional
HiLink nimrodRepeat Repeat HiLink nimrodRepeat Repeat
HiLink nimrodString String HiLink nimrodString String
HiLink nimrodRawString String HiLink nimrodRawString String
HiLink nimrodEscape Special HiLink nimrodEscape Special
HiLink nimrodOperator Operator HiLink nimrodOperator Operator
HiLink nimrodPreCondit PreCondit HiLink nimrodPreCondit PreCondit
HiLink nimrodComment Comment HiLink nimrodComment Comment
HiLink nimrodTodo Todo HiLink nimrodTodo Todo
HiLink nimrodDecorator Define HiLink nimrodDecorator Define
if exists("nimrod_highlight_numbers") if exists("nimrod_highlight_numbers")
HiLink nimrodNumber Number HiLink nimrodNumber Number
endif endif
if exists("nimrod_highlight_builtins") if exists("nimrod_highlight_builtins")
HiLink nimrodBuiltin Number HiLink nimrodBuiltin Number
endif endif
if exists("nimrod_highlight_exceptions") if exists("nimrod_highlight_exceptions")
HiLink nimrodException Exception HiLink nimrodException Exception
endif endif
if exists("nimrod_highlight_space_errors") if exists("nimrod_highlight_space_errors")
HiLink nimrodSpaceError Error HiLink nimrodSpaceError Error
endif endif
delcommand HiLink delcommand HiLink
endif endif
let b:current_syntax = "nimrod" let b:current_syntax = "nimrod"