<commit_before>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 use as
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
<commit_msg>Updated syntax/zephir<commit_after>" Vim syntax file
" Language:         Zephir
" Maintainer:       <NAME> <<EMAIL>>
" URL:              https://github.com/sergeyklay/vimfiles

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 use as
syn keyword     zepDeclFun            function
syn keyword     zepDeclMore           public private protected static final
syn keyword     zepDeclInternal       deprecated inline internal scoped   
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

{'fraction_non_alphanumeric': 0.08534998698933126, 'fraction_numerical': 0.003469511666232978, 'mean_word_length': 1.9116161616161615, 'pattern_counts': {'":': 0, '<': 40, '<?xml version=': 0, '>': 42, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5585987', 'n_tokens_mistral': 3310, 'n_tokens_neox': 3286, 'n_words': 1057}