Skip to content

Commit

Permalink
Don't highlight punctuation inside binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosgaldino committed May 29, 2012
1 parent 03aed91 commit 508791a
Showing 1 changed file with 27 additions and 25 deletions.
52 changes: 27 additions & 25 deletions syntax/elixir.vim
Original file line number Diff line number Diff line change
Expand Up @@ -40,41 +40,43 @@ syn match elixirNumber '\<\d\(_\?\d\)*\(\.[^[:space:][:digit:]]\@!\(_\?\d\)*\)\?
syn match elixirNumber '\<0[xX][0-9A-Fa-f]\+\>'
syn match elixirNumber '\<0[bB][01]\+\>'

syn match elixirRegexEscape "\\\\\|\\[aAbBcdDefGhHnrsStvVwW]\|\\\d\{3}\|\\x[0-9a-fA-F]\{2}" contained
syn match elixirRegexEscape "?\|\.\|*\|\[\|\]\|+\|\^\|\$\||\|(\|)\|{\|}" contained
syn match elixirRegexQuantifier "[*?+][?+]\=" contained display
syn match elixirRegexQuantifier "{\d\+\%(,\d*\)\=}?\=" contained display
syn match elixirRegexCharClass "\[:\(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]" contained display
syn match elixirRegexEscape "\\\\\|\\[aAbBcdDefGhHnrsStvVwW]\|\\\d\{3}\|\\x[0-9a-fA-F]\{2}" contained
syn match elixirRegexEscapePunctuation "?\|\.\|*\|\[\|\]\|+\|\^\|\$\||\|(\|)\|{\|}" contained
syn match elixirRegexQuantifier "[*?+][?+]\=" contained display
syn match elixirRegexQuantifier "{\d\+\%(,\d*\)\=}?\=" contained display
syn match elixirRegexCharClass "\[:\(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]" contained display

syn region elixirRegex matchgroup=elixirDelimiter start="%r/" end="/[uiomxfr]*" skip="\\\\" contains=@elixirRegexSpecial

syn cluster elixirRegexSpecial contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier
syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass

syn region elixirString matchgroup=elixirDelimiter start="'" end="'"
syn region elixirString matchgroup=elixirDelimiter start='"' end='"' contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass
syn region elixirString matchgroup=elixirDelimiter start='"' end='"' contains=@elixirStringContained
syn region elixirInterpolation matchgroup=elixirDelimiter start="#{" end="}" contained contains=ALLBUT,elixirComment
syn region elixirDocString start=+"""+ end=+"""+
syn region elixirDocString start=+'''+ end=+'''+

syn match elixirSymbolInterpolated ':\("\)\@=' contains=elixirString
syn match elixirString "\(\w\)\@<!?\%(\\\(x\d{1,2}\|\h{1,2}\h\@!\>\|0[0-7]{0,2}[0-7]\@!\>\|[^x0MC]\)\|(\\[MC]-)+\w\|[^\s\\]\)"

hi def link elixirComment Comment
hi def link elixirKeyword Keyword
hi def link elixirOperator Operator
hi def link elixirSymbol Constant
hi def link elixirPseudoVariable Constant
hi def link elixirName Type
hi def link elixirBoolean Boolean
hi def link elixirVariable Identifier
hi def link elixirNumber Number
hi def link elixirDocString Comment
hi def link elixirInterpolation Delimiter
hi def link elixirSymbolInterpolated elixirSymbol
hi def link elixirRegex elixirString
hi def link elixirRegexEscape elixirSpecial
hi def link elixirRegexCharClass elixirSpecial
hi def link elixirRegexQuantifier elixirSpecial
hi def link elixirSpecial Special
hi def link elixirString String
hi def link elixirDelimiter Delimiter
hi def link elixirComment Comment
hi def link elixirKeyword Keyword
hi def link elixirOperator Operator
hi def link elixirSymbol Constant
hi def link elixirPseudoVariable Constant
hi def link elixirName Type
hi def link elixirBoolean Boolean
hi def link elixirVariable Identifier
hi def link elixirNumber Number
hi def link elixirDocString Comment
hi def link elixirInterpolation Delimiter
hi def link elixirSymbolInterpolated elixirSymbol
hi def link elixirRegex elixirString
hi def link elixirRegexEscape elixirSpecial
hi def link elixirRegexEscapePunctuation elixirSpecial
hi def link elixirRegexCharClass elixirSpecial
hi def link elixirRegexQuantifier elixirSpecial
hi def link elixirSpecial Special
hi def link elixirString String
hi def link elixirDelimiter Delimiter

0 comments on commit 508791a

Please sign in to comment.