comparison vendor/vim-syntax/ruby.vim @ 673:6cdd7d26260d

[vim] Update syntaxes and colors
author nanaya <me@nanaya.pro>
date Tue, 05 Apr 2022 13:55:06 +0900
parents c74dffea6a0a
children 78469331407e
comparison
equal deleted inserted replaced
672:2febdacae5b4 673:6cdd7d26260d
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: 2021 Jun 06 6 " Last Change: 2021 Nov 03
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,@Spell 69 syn cluster rubyNotTop contains=@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,@rubyExceptionHandler,@rubyClassOperator,rubyConditional,rubyModuleName,rubyClassName,rubySymbolDelimiter,rubyDoubleQuoteSymbolDelimiter,rubySingleQuoteSymbolDelimiter,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\+$"
362 362
363 SynFold 'def' syn region rubyMethodBlock start="\<def\>" matchgroup=rubyDefine skip="\<end:\|\%(\<def\_s\+\)\@<=end\>" end="\<end\>" contains=ALLBUT,@rubyNotTop 363 SynFold 'def' syn region rubyMethodBlock start="\<def\>" matchgroup=rubyDefine skip="\<end:\|\%(\<def\_s\+\)\@<=end\>" end="\<end\>" contains=ALLBUT,@rubyNotTop
364 SynFold 'class' syn region rubyClassBlock start="\<class\>" matchgroup=rubyClass skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop 364 SynFold 'class' syn region rubyClassBlock start="\<class\>" matchgroup=rubyClass skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop
365 SynFold 'module' syn region rubyModuleBlock start="\<module\>" matchgroup=rubyModule skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop 365 SynFold 'module' syn region rubyModuleBlock start="\<module\>" matchgroup=rubyModule skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop
366 366
367 " endless def
368 syn match rubyDefine "\<def\s\+\ze[^[:space:];#(]\+\%(\s\+\|\s*(.*)\s*\)=" nextgroup=rubyMethodDeclaration skipwhite
369
367 " modifiers 370 " modifiers
368 syn match rubyLineContinuation "\\$" nextgroup=@rubyModifier skipwhite skipnl 371 syn match rubyLineContinuation "\\$" nextgroup=@rubyModifier skipwhite skipnl
369 syn match rubyConditionalModifier "\<\%(if\|unless\)\>" 372 syn match rubyConditionalModifier "\<\%(if\|unless\)\>"
370 syn match rubyRepeatModifier "\<\%(while\|until\)\>" 373 syn match rubyRepeatModifier "\<\%(while\|until\)\>"
371 syn match rubyRescueModifier "\<rescue\>" 374 syn match rubyRescueModifier "\<rescue\>"
428 endif 431 endif
429 432
430 " Comments and Documentation {{{1 433 " Comments and Documentation {{{1
431 syn match rubySharpBang "\%^#!.*" display 434 syn match rubySharpBang "\%^#!.*" display
432 syn keyword rubyTodo FIXME NOTE TODO OPTIMIZE HACK REVIEW XXX todo contained 435 syn keyword rubyTodo FIXME NOTE TODO OPTIMIZE HACK REVIEW XXX todo contained
433 syn match rubyEncoding "[[:alnum:]-]\+" contained display 436 syn match rubyEncoding "[[:alnum:]-_]\+" contained display
434 syn match rubyMagicComment "\c\%<3l#\s*\zs\%(coding\|encoding\):" contained nextgroup=rubyEncoding skipwhite 437 syn match rubyMagicComment "\c\%<3l#\s*\zs\%(coding\|encoding\):" contained nextgroup=rubyEncoding skipwhite
435 syn match rubyMagicComment "\c\%<10l#\s*\zs\%(frozen_string_literal\|warn_indent\|warn_past_scope\):" contained nextgroup=rubyBoolean skipwhite 438 syn match rubyMagicComment "\c\%<10l#\s*\zs\%(frozen_string_literal\|warn_indent\|warn_past_scope\):" contained nextgroup=rubyBoolean skipwhite
439 syn match rubyMagicComment "\c\%<10l#\s*\zs\%(shareable_constant_value\):" contained nextgroup=rubyEncoding skipwhite
436 syn match rubyComment "#.*" contains=@rubyCommentSpecial,rubySpaceError,@Spell 440 syn match rubyComment "#.*" contains=@rubyCommentSpecial,rubySpaceError,@Spell
437 441
438 syn cluster rubyCommentSpecial contains=rubySharpBang,rubyTodo,rubyMagicComment 442 syn cluster rubyCommentSpecial contains=rubySharpBang,rubyTodo,rubyMagicComment
439 syn cluster rubyCommentNotTop contains=@rubyCommentSpecial,rubyEncoding 443 syn cluster rubyCommentNotTop contains=@rubyCommentSpecial,rubyEncoding
440 444
463 467
464 " 1.9-style Hash Keys and Keyword Parameters {{{1 468 " 1.9-style Hash Keys and Keyword Parameters {{{1
465 syn match rubySymbol "\%(\w\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]\=::\@!"he=e-1 contained containedin=rubyBlockParameterList,rubyCurlyBlock 469 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 470 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 471 syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="hs=s+1,he=e-1
472 syn match rubySingleQuoteSymbolDelimiter "'" contained
473 syn match rubySymbol "'\%(\\.\|[^']\)*'::\@!"he=e-1 contains=rubyQuoteEscape,rubyBackslashEscape,rubySingleQuoteSymbolDelimiter
474 syn match rubyDoubleQuoteSymbolDelimiter "\"" contained
475 syn match rubySymbol "\"\%(\\.\|[^\"]\)*\"::\@!"he=e-1 contains=@rubyStringSpecial,rubyDoubleQuoteSymbolDelimiter
468 476
469 " __END__ Directive {{{1 477 " __END__ Directive {{{1
470 SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" 478 SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$"
471 479
472 " Default Highlighting {{{1 480 " Default Highlighting {{{1
563 hi def link rubyStringDelimiter Delimiter 571 hi def link rubyStringDelimiter Delimiter
564 hi def link rubyHeredocDelimiter rubyStringDelimiter 572 hi def link rubyHeredocDelimiter rubyStringDelimiter
565 hi def link rubyPercentRegexpDelimiter rubyRegexpDelimiter 573 hi def link rubyPercentRegexpDelimiter rubyRegexpDelimiter
566 hi def link rubyPercentStringDelimiter rubyStringDelimiter 574 hi def link rubyPercentStringDelimiter rubyStringDelimiter
567 hi def link rubyPercentSymbolDelimiter rubySymbolDelimiter 575 hi def link rubyPercentSymbolDelimiter rubySymbolDelimiter
576 hi def link rubyDoubleQuoteSymbolDelimiter rubySymbolDelimiter
577 hi def link rubySingleQuoteSymbolDelimiter rubySymbolDelimiter
568 hi def link rubyRegexpDelimiter rubyStringDelimiter 578 hi def link rubyRegexpDelimiter rubyStringDelimiter
569 hi def link rubySymbolDelimiter rubySymbol 579 hi def link rubySymbolDelimiter rubySymbol
570 hi def link rubyString String 580 hi def link rubyString String
571 hi def link rubyRegexpEscape rubyRegexpSpecial 581 hi def link rubyRegexpEscape rubyRegexpSpecial
572 hi def link rubyRegexpQuantifier rubyRegexpSpecial 582 hi def link rubyRegexpQuantifier rubyRegexpSpecial