commit 7e95c4cdaace67571775bf583266021f0b898eb1 Author: Kearn Holliday Date: Thu May 14 00:00:00 2009 +0000 Version 1.0: Initial upload diff --git a/README b/README new file mode 100644 index 0000000..22605ce --- /dev/null +++ b/README @@ -0,0 +1,6 @@ +This is a mirror of http://www.vim.org/scripts/script.php?script_id=2632 + +Syntax file for Nimrod. + +This file is basically a modified python.vim (http://www.vim.org/scripts/script.php?script_id=790) ... you might recognize it. +I have no idea if it works because I haven't actually tried to code in Nimrod and have next to nothing to test it with :P diff --git a/syntax/nimrod.vim b/syntax/nimrod.vim new file mode 100644 index 0000000..4d0bf4d --- /dev/null +++ b/syntax/nimrod.vim @@ -0,0 +1,188 @@ +" Vim syntax file +" Language: Nimrod +" Maintainer: Kearn Holliday (thekearnman at gmail dot com) +" Updated: 2009-05-14 +" +" 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 contains add repr + 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" +