Mercurial > ec-dotfiles
comparison vendor/vim-syntax/ruby.vim @ 661:c74dffea6a0a
[vim-syntax] Update syntax
author | nanaya <me@nanaya.pro> |
---|---|
date | Fri, 10 Dec 2021 19:02:27 +0900 |
parents | ced2ee9efd9f |
children | 6cdd7d26260d |
comparison
equal
deleted
inserted
replaced
660:56ac9d97d81b | 661:c74dffea6a0a |
---|---|
1 " Vim syntax file | 1 " Vim syntax file |
2 " Language: Ruby | 2 " Language: Ruby |
3 " Maintainer: Doug Kearns <dougkearns@gmail.com> | 3 " Maintainer: Doug Kearns <dougkearns@gmail.com> |
4 " URL: https://github.com/vim-ruby/vim-ruby | 4 " URL: https://github.com/vim-ruby/vim-ruby |
5 " Release Coordinator: Doug Kearns <dougkearns@gmail.com> | 5 " Release Coordinator: Doug Kearns <dougkearns@gmail.com> |
6 " Last Change: 2019 Jul 13 | 6 " Last Change: 2021 Jun 06 |
7 " ---------------------------------------------------------------------------- | 7 " ---------------------------------------------------------------------------- |
8 " | 8 " |
9 " Previous Maintainer: Mirko Nasato | 9 " Previous Maintainer: Mirko Nasato |
10 " Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN) | 10 " Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN) |
11 " ---------------------------------------------------------------------------- | 11 " ---------------------------------------------------------------------------- |
64 endfunction | 64 endfunction |
65 | 65 |
66 com! -nargs=* SynFold call s:run_syntax_fold(<q-args>) | 66 com! -nargs=* SynFold call s:run_syntax_fold(<q-args>) |
67 | 67 |
68 " Not-Top Cluster {{{1 | 68 " Not-Top Cluster {{{1 |
69 syn cluster rubyNotTop contains=@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,@rubyExceptionHandler,@rubyClassOperator,rubyConditional,rubyModuleName,rubyClassName,rubySymbolDelimiter,rubyParentheses | 69 syn cluster rubyNotTop contains=@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,@rubyExceptionHandler,@rubyClassOperator,rubyConditional,rubyModuleName,rubyClassName,rubySymbolDelimiter,rubyParentheses,@Spell |
70 | 70 |
71 " Whitespace Errors {{{1 | 71 " Whitespace Errors {{{1 |
72 if exists("ruby_space_errors") | 72 if exists("ruby_space_errors") |
73 if !exists("ruby_no_trail_space_error") | 73 if !exists("ruby_no_trail_space_error") |
74 syn match rubySpaceError display excludenl "\s\+$" | 74 syn match rubySpaceError display excludenl "\s\+$" |
90 syn match rubyComparisonOperator "<=>\|<=\|<\|>=\|[-=]\@1<!>" | 90 syn match rubyComparisonOperator "<=>\|<=\|<\|>=\|[-=]\@1<!>" |
91 syn match rubyBitwiseOperator "[~^|]\|&\.\@!\|<<\|>>" | 91 syn match rubyBitwiseOperator "[~^|]\|&\.\@!\|<<\|>>" |
92 syn match rubyBooleanOperator "\%(\w\|[^\x00-\x7F]\)\@1<!!\|&&\|||" | 92 syn match rubyBooleanOperator "\%(\w\|[^\x00-\x7F]\)\@1<!!\|&&\|||" |
93 syn match rubyRangeOperator "\.\.\.\=" | 93 syn match rubyRangeOperator "\.\.\.\=" |
94 syn match rubyAssignmentOperator "=>\@!\|-=\|/=\|\*\*=\|\*=\|&&=\|&=\|||=\||=\|%=\|+=\|>>=\|<<=\|\^=" | 94 syn match rubyAssignmentOperator "=>\@!\|-=\|/=\|\*\*=\|\*=\|&&=\|&=\|||=\||=\|%=\|+=\|>>=\|<<=\|\^=" |
95 syn match rubyAssignmentOperator "=>\@!" containedin=rubyBlockParameterList " TODO: this is inelegant | 95 syn match rubyAssignmentOperator "=>\@!" contained containedin=rubyBlockParameterList " TODO: this is inelegant |
96 syn match rubyEqualityOperator "===\|==\|!=\|!\~\|=\~" | 96 syn match rubyEqualityOperator "===\|==\|!=\|!\~\|=\~" |
97 | 97 |
98 syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\%(\w\|[^\x00-\x7F]\)[?!]\=\|[]})]\)\@2<=\[" end="]" contains=ALLBUT,@rubyNotTop | 98 syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\%(\w\|[^\x00-\x7F]\)[?!]\=\|[]})]\)\@2<=\[" end="]" contains=ALLBUT,@rubyNotTop |
99 | 99 |
100 syn match rubyScopeOperator "::" | 100 syn match rubyScopeOperator "::" |
132 syn match rubyParenthesisEscape "\\[()]" contained display | 132 syn match rubyParenthesisEscape "\\[()]" contained display |
133 syn match rubyCurlyBraceEscape "\\[{}]" contained display | 133 syn match rubyCurlyBraceEscape "\\[{}]" contained display |
134 syn match rubyAngleBracketEscape "\\[<>]" contained display | 134 syn match rubyAngleBracketEscape "\\[<>]" contained display |
135 syn match rubySquareBracketEscape "\\[[\]]" contained display | 135 syn match rubySquareBracketEscape "\\[[\]]" contained display |
136 | 136 |
137 syn region rubyNestedParentheses start="(" skip="\\\\\|\\)" matchgroup=rubyString end=")" transparent contained | 137 syn region rubyNestedParentheses start="(" skip="\\\\\|\\)" end=")" transparent contained |
138 syn region rubyNestedCurlyBraces start="{" skip="\\\\\|\\}" matchgroup=rubyString end="}" transparent contained | 138 syn region rubyNestedCurlyBraces start="{" skip="\\\\\|\\}" end="}" transparent contained |
139 syn region rubyNestedAngleBrackets start="<" skip="\\\\\|\\>" matchgroup=rubyString end=">" transparent contained | 139 syn region rubyNestedAngleBrackets start="<" skip="\\\\\|\\>" end=">" transparent contained |
140 syn region rubyNestedSquareBrackets start="\[" skip="\\\\\|\\\]" matchgroup=rubyString end="\]" transparent contained | 140 syn region rubyNestedSquareBrackets start="\[" skip="\\\\\|\\\]" end="\]" transparent contained |
141 | 141 |
142 syn cluster rubySingleCharEscape contains=rubyBackslashEscape,rubyQuoteEscape,rubySpaceEscape,rubyParenthesisEscape,rubyCurlyBraceEscape,rubyAngleBracketEscape,rubySquareBracketEscape | 142 syn cluster rubySingleCharEscape contains=rubyBackslashEscape,rubyQuoteEscape,rubySpaceEscape,rubyParenthesisEscape,rubyCurlyBraceEscape,rubyAngleBracketEscape,rubySquareBracketEscape |
143 syn cluster rubyNestedBrackets contains=rubyNested.\+ | 143 syn cluster rubyNestedBrackets contains=rubyNested.\+ |
144 syn cluster rubyStringSpecial contains=rubyInterpolation,rubyStringEscape | 144 syn cluster rubyStringSpecial contains=rubyInterpolation,rubyStringEscape |
145 syn cluster rubyStringNotTop contains=@rubyStringSpecial,@rubyNestedBrackets,@rubySingleCharEscape | 145 syn cluster rubyStringNotTop contains=@rubyStringSpecial,@rubyNestedBrackets,@rubySingleCharEscape |
191 SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape,rubyBackslashEscape | 191 SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape,rubyBackslashEscape |
192 SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial | 192 SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial |
193 | 193 |
194 syn match rubyCapitalizedMethod "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@=" | 194 syn match rubyCapitalizedMethod "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@=" |
195 | 195 |
196 syn region rubyParentheses start="(" end=")" contains=ALLBUT,@rubyNotTop containedin=rubyBlockParameterList | 196 syn region rubyParentheses start="(" end=")" contains=ALLBUT,@rubyNotTop contained containedin=rubyBlockParameterList |
197 syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\_s*\)\@32<=|" end="|" contains=ALLBUT,@rubyNotTop,@rubyProperOperator | 197 syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\_s*\)\@32<=|" end="|" contains=ALLBUT,@rubyNotTop,@rubyProperOperator |
198 | 198 |
199 if exists('ruby_global_variable_error') | 199 if exists('ruby_global_variable_error') |
200 syn match rubyGlobalVariableError "$[^A-Za-z_]" display | 200 syn match rubyGlobalVariableError "$[^A-Za-z_]" display |
201 syn match rubyGlobalVariableError "$-[^0FIKWadilpvw]" display | 201 syn match rubyGlobalVariableError "$-[^0FIKWadilpvw]" display |
330 | 330 |
331 " Module, Class, Method and Alias Declarations {{{1 | 331 " Module, Class, Method and Alias Declarations {{{1 |
332 syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable nextgroup=rubyAliasDeclaration2 skipwhite | 332 syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable nextgroup=rubyAliasDeclaration2 skipwhite |
333 syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable | 333 syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable |
334 syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable | 334 syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable |
335 syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyClassName,rubyScopeOperator nextgroup=rubySuperClassOperator skipwhite skipnl | 335 syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyClassName,rubyScopeOperator nextgroup=rubySuperClassOperator skipwhite |
336 syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyModuleName,rubyScopeOperator | 336 syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyModuleName,rubyScopeOperator |
337 | 337 |
338 syn match rubyMethodName "\<\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%([[:alnum:]_.:?!=]\|[^\x00-\x7F]\)\@!" contained containedin=rubyMethodDeclaration | 338 syn match rubyMethodName "\<\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%([[:alnum:]_.:?!=]\|[^\x00-\x7F]\)\@!" contained containedin=rubyMethodDeclaration |
339 syn match rubyMethodName "\%(\s\|^\)\@1<=\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2 | 339 syn match rubyMethodName "\%(\s\|^\)\@1<=\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2 |
340 syn match rubyMethodName "\%([[:space:].]\|^\)\@1<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration | 340 syn match rubyMethodName "\%([[:space:].]\|^\)\@1<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration |
460 syn match rubyControl "\%#=1\<exit!" display | 460 syn match rubyControl "\%#=1\<exit!" display |
461 endif | 461 endif |
462 syn match rubyDefinedOperator "\%#=1\<defined?" display | 462 syn match rubyDefinedOperator "\%#=1\<defined?" display |
463 | 463 |
464 " 1.9-style Hash Keys and Keyword Parameters {{{1 | 464 " 1.9-style Hash Keys and Keyword Parameters {{{1 |
465 syn match rubySymbol "\%([{(|,]\_s*\)\@<=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]\=::\@!"he=e-1 | 465 syn match rubySymbol "\%(\w\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]\=::\@!"he=e-1 contained containedin=rubyBlockParameterList,rubyCurlyBlock |
466 syn match rubySymbol "[]})\"':]\@1<!\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="he=e-1 | 466 syn match rubySymbol "[]})\"':]\@1<!\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="he=e-1 |
467 syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="hs=s+1,he=e-1 | 467 syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="hs=s+1,he=e-1 |
468 | 468 |
469 " __END__ Directive {{{1 | 469 " __END__ Directive {{{1 |
470 SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" | 470 SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" |