diff options
Diffstat (limited to '')
| -rw-r--r-- | syntax/zephir.vim | 137 | 
1 files changed, 137 insertions, 0 deletions
| diff --git a/syntax/zephir.vim b/syntax/zephir.vim new file mode 100644 index 00000000..bfd3ef09 --- /dev/null +++ b/syntax/zephir.vim @@ -0,0 +1,137 @@ +if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'zephir') != -1 +  finish +endif + +" Copyright 2009 The Go Authors. All rights reserved. +if exists("b:current_syntax") +  finish +endif + +syn case match + +" Comments; their contents +syn keyword     zepTodo              contained TODO FIXME XXX +syn cluster     zepCommentGroup      contains=zepTodo +syn region      zepComment           start="/\*" end="\*/" contains=@zepCommentGroup,@Spell +syn region      zepComment           start="//" end="$" contains=@zepCommentGroup,@Spell + +hi def link     zepComment           Comment +hi def link     zepTodo              Todo + +syn keyword     zepDirective         namespace extends implements return +syn keyword     zepDeclaration       var let new const +syn keyword     zepDeclType          abstract class interface +syn keyword     zepDeclFun           function +syn keyword     zepDeclMore          public private protected static final +syn keyword     zepExceptionOperator throw try catch + +hi def link     zepDirective         Statement +hi def link     zepDeclaration       Keyword +hi def link     zepDeclFun           Keyword +hi def link     zepDeclType          Keyword +hi def link     zepDeclMore          Keyword +hi def link     zepExceptionOperator Keyword + +syn keyword     zepCond              if else elseif switch +syn keyword     zepRepeat            for in while loop +syn keyword     zepLabel             case default continue require this parent self +syn match       zepTypeHits          "\<\w+\>"me=e+1,me=e-1 contained display + +hi def link     zepCond              Conditional +hi def link     zepRepeat            Repeat +hi def link     zepLabel             Label + +syn match       zepOperator          "[-=+%^&|*!.~?:]" contained display +syn match       zepOperator          "[-+*/%^&|.]="  contained display +syn match       zepOperator          "/[^*/]"me=e-1  contained display +syn match       zepOperator          "\$"  contained display +syn match       zepOperator          "&&\|\<and\>" contained display +syn match       zepOperator          "||\|\<x\=or\>" contained display +syn match       zepRelation          "[!=<>]=" contained display +syn match       zepRelation          "[<>]"  contained display +syn match       zepMemberSelector    "->"  contained display + +hi def link     zepOperator          Operator +hi def link     zepRelation          Operator +hi def link     zepMemberSelector    Operator + +syn keyword     zepType              array string char void void +syn keyword     zepType              bool[ean] true false +syn keyword     zepType              unsigned int uint long ulong + +hi def link     zepType              Type + +syn match       zepGlobalVar         "_(SERVER|POST|GET|COOKIE|SESSION)\["me=e-1 contained display + +hi def link     zepGlobalVar         Statement + +syn keyword     zepSpecialOperator   empty isset fetch +syn keyword     zepBuildIns          global_set global_get +syn keyword     zepBuildIns          echo count typeof range reverse +syn keyword     zepBuildIns          set get toString +"for string +syn keyword     zepBuildIns          length trim trimleft trimright index lower upper lowerfirst upperfirst format +"for array +syn keyword     zepBuildIns          join reverse +"for char +syn keyword     zepBuildIns          toHex +"for integer +syn keyword     zepBuildIns          abs + +hi def link     zepSpecialOperator   Function +hi def link     zepBuildIns          Function + +" zep escapes +syn match       zepEscapeOctal       display contained "\\[0-7]\{3}" +syn match       zepEscapeC           display contained +\\[abfnrtv\\'"]+ +syn match       zepEscapeX           display contained "\\x\x\{2}" +syn match       zepEscapeU           display contained "\\u\x\{4}" +syn match       zepEscapeBigU        display contained "\\U\x\{8}" +syn match       zepEscapeError       display contained +\\[^0-7xuUabfnrtv\\'"]+ + +hi def link     zepEscapeOctal       zepSpecialString +hi def link     zepEscapeC           zepSpecialString +hi def link     zepEscapeX           zepSpecialString +hi def link     zepEscapeU           zepSpecialString +hi def link     zepEscapeBigU        zepSpecialString +hi def link     zepSpecialString     Special +hi def link     zepEscapeError       Error + +" Strings and their contents +syn cluster     zepStringGroup       contains=zepEscapeOctal,zepEscapeC,zepEscapeX,zepEscapeU,zepEscapeBigU,zepEscapeError +syn region      zepString            start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@zepStringGroup +syn region      zepString            start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@zepStringGroup + +hi def link     zepString            String + +" Integers +syn match       zepDecimalInt        "\<\d\+\([Ee]\d\+\)\?\>" +syn match       zepHexadecimalInt    "\<0x\x\+\>" +syn match       zepOctalInt          "\<0\o\+\>" +syn match       zepOctalError        "\<0\o*[89]\d*\>" + +hi def link     zepDecimalInt        Integer +hi def link     zepHexadecimalInt    Integer +hi def link     zepOctalInt          Integer +hi def link     Integer              Number + +" Floating point +syn match       zepFloat             "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>" +syn match       zepFloat             "\<\.\d\+\([Ee][-+]\d\+\)\?\>" +syn match       zepFloat             "\<\d\+[Ee][-+]\d\+\>" + +hi def link     zepFloat             Float + +" Imaginary literals +syn match       zepImaginary         "\<\d\+i\>" +syn match       zepImaginary         "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>" +syn match       zepImaginary         "\<\.\d\+\([Ee][-+]\d\+\)\?i\>" +syn match       zepImaginary         "\<\d\+[Ee][-+]\d\+i\>" + +hi def link     zepImaginary         Number + + +syn sync minlines=500 + +let b:current_syntax = "zephir" +syn match       zepTypeHits          "<\w+>" contained display | 
