diff options
Diffstat (limited to 'lib/limbo.vim')
| -rw-r--r-- | lib/limbo.vim | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/lib/limbo.vim b/lib/limbo.vim new file mode 100644 index 00000000..bc9a08fa --- /dev/null +++ b/lib/limbo.vim @@ -0,0 +1,92 @@ +" Vim syntax file +" Language: Limbo +" Maintainer: Alex Efros <powerman-asdf@ya.ru> +" Version: 0.5 +" Updated: 2008-10-17 + +" Remove any old syntax stuff that was loaded (5.x) or quit when a syntax file +" was already loaded (6.x). +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn keyword lTodo TODO TBD FIXME XXX BUG contained +syn match lComment "#.*" contains=@Spell,lTodo + +syn keyword lInclude include + +syn match lSpecialChar display contained "\\\(u\x\{4}\|['\"\\tnrbavf0]\)" +syn match lSpecialError display contained "\(\\[^'\"\\tnrbavf0u]\+\|\\u.\{0,3}\X\)" +syn match lCharError display contained "\([^\\'][^']\+\|\\[^'][^']\+\)" +syn region lString start=+"+ end=+"+ skip=+\\"+ contains=@Spell,lSpecialChar,lSpecialError +syn region lCharacter start=+'+ end=+'+ skip=+\\'+ contains=lSpecialChar,lSpecialError,lCharError + +syn keyword lSpecial nil iota + +syn keyword lFunction tl hd len tagof +syn match lFunction "<-=\?" + +syn keyword lStatement alt break continue exit return spawn implement import load raise +syn keyword lRepeat for while do +syn keyword lConditional if else case + +syn keyword lType array big byte chan con int list real string fn fixed +syn keyword lStructure adt pick module +syn keyword lStorageClass ref self cyclic type of + +syn keyword lDelimiter or to +syn match lDelimiter "=>\|->\|\.\|::" + + +if version >= 508 || !exists("did_icgiperl_syn_inits") + if version < 508 + let did_icgiperl_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + " Comment + HiLink lComment Comment + + " PreProc (Include, PreCondit) + HiLink lInclude Include + + " Constant (String, Character, Number, Boolean, Float) + HiLink lString String + HiLink lCharacter Character + + " Special (Tag, SpecialChar, SpecialComment, Debug) + HiLink lSpecial Special + HiLink lSpecialChar SpecialChar + + " Identifier (Function) + HiLink lFunction Function + + " Statement (Conditional, Repeat, Label, Operator, Keyword, Exception) + HiLink lStatement Statement + HiLink lRepeat Repeat + HiLink lConditional Conditional + + " Type (StorageClass, Structure, Typedef) + HiLink lType Type + HiLink lStructure Structure + HiLink lStorageClass StorageClass + + " Error + HiLink lSpecialError Error + HiLink lCharError Error + + " Todo + HiLink lTodo Todo + + " Delimiter + HiLink lDelimiter Delimiter + + delcommand HiLink +endif + + +let b:current_syntax = "limbo" |
