spl

systems programming language
git clone http://frotz.net/git/spl.git
Log | Files | Refs | README | LICENSE

spl.vim (1806B)


      1 
      2 if exists("b:current_syntax")
      3   finish
      4 endif
      5 
      6 let b:current_syntax = "spl"
      7 
      8 syntax case match
      9 
     10 syntax match splNumber "\v<\d+>"
     11 syntax match splNumber "\v<0x\x+>"
     12 syntax match splNumber "\v<0b[01]+>"
     13 
     14 " floating point
     15 " syntax match splNumber "\v<\d+\.\d+>"
     16 " syntax match splNumber "\v<\d*\.?\d+([Ee]-?)?\d+>"
     17 " syntax match splNumber "\v<0x\x+([Pp]-?)?\x+>"
     18 
     19 syntax keyword splStatement return break continue
     20 syntax keyword splCond if else
     21 syntax keyword splLoop while for
     22 syntax keyword splDef fn var struct enum
     23 syntax keyword splType u8 u32 i32 str bool
     24 syntax keyword splConstant nil
     25 syntax keyword splBool true false
     26 
     27 syntax match splEscape display contained "\v\\[nt\\\'\"]"
     28 syntax match splEscHex display contained "\v\\x\x{2}"
     29 syntax region splString start=/"/ skip=/\\"/ end=/"/ oneline contains=splEscape,splEscHex
     30 syntax region splChar start=/'/ skip=/\\'/ end=/'/ oneline contains=splEscape,splEscHex
     31 
     32 syntax keyword splTodo contained TODO FIXME XXX
     33 syntax region splComment start="//" end="$" contains=splTodo
     34 
     35 syntax region splParen start='(' end=')' transparent
     36 syntax region splBlock start="{" end="}" transparent
     37 
     38 syntax keyword splBuiltin _hexout_
     39 
     40 " map language-specifc names to standard highlight names
     41 highlight default link splNumber Number
     42 
     43 highlight default link splStatement Statement
     44 highlight default link splCond Conditional
     45 highlight default link splLoop Repeat
     46 highlight default link splDef Keyword
     47 highlight default link splType Type
     48 highlight default link splConstant Constant
     49 highlight default link splBool Boolean
     50 
     51 highlight default link splString String
     52 highlight default link splChar Character
     53 
     54 highlight default link splTodo Todo
     55 highlight default link splComment Comment
     56 
     57 highlight default link splBuiltin Identifier
     58 
     59 " highlight default link splOperator Operator