diff --git a/syntax/nomsu.vim b/syntax/nomsu.vim index 931ec05..598c62e 100644 --- a/syntax/nomsu.vim +++ b/syntax/nomsu.vim @@ -30,8 +30,9 @@ hi nomsuStringEscapedQuote ctermbg=Black ctermfg=Blue hi def link nomsuStringPipe Special syn region nomsuInterp matchgroup=nomsuInterpDelim start=/\\(/ end=/)/ contained \ contains=@nomsuAll +syn region nomsuInterpDotDot matchgroup=nomsuInterpDelim start=/\\$/ end=/\.\./ contained syn region nomsuLongStringValue start=/\(|\)\@<=/ end=/$/ contained -\ contains=nomsuInterp,nomsuStringBackslash +\ contains=nomsuInterp,nomsuInterpDotDot,nomsuStringBackslash hi nomsuLongStringValue ctermbg=Black ctermfg=Gray hi def link nomsuLongStringValue String syn region nomsuLongStringLine start=/^\s\+|/ end=/\n/ contained @@ -44,14 +45,17 @@ syn region nomsuString start=/\("\.\.\)\@?-]*\)\?/ +syn match nomsuVar /%\([a-zA-Z0-9_]*\|[`$~!@^&*_+=|<>?-]*\)\?/ hi nomsuVar ctermfg=Cyan hi def link nomsuVar Identifier -syn match nomsuWord /\v[a-zA-Z0-9`~!@^&*_+=|<>?'-][a-zA-Z0-9`~!@^&*_+=|<>?-]*/ +syn match nomsuWord /\v[a-zA-Z0-9_]+/ hi def link nomsuWord Function hi nomsuWord ctermfg=White +syn match nomsuOpWord /\v[`$~!@^&*_+=|<>?'-]+/ +hi def link nomsuOpWord Function +hi nomsuOpWord ctermfg=LightYellow syn match nomsuNumber /-\?\d\+\(\.\(\d\+\)\?\)\?/ syn match nomsuNumber /-\?\.\d\+/ @@ -70,7 +74,7 @@ hi nomsuThunk ctermfg=Yellow hi def link nomsuThunk Structure syn cluster nomsuAll contains=nomsuString,nomsuLongString,nomsuComment,nomsuOneLineComment, -\ nomsuVar,nomsuNumber,nomsuDelim,nomsuThunk,nomsuDotDot,nomsuWord +\ nomsuVar,nomsuNumber,nomsuDelim,nomsuThunk,nomsuDotDot,nomsuWord,nomsuOpWord if !exists('b:current_syntax') let b:current_syntax = 'nomsu'