@@ -66,7 +66,7 @@ com! -nargs=* SynFold call s:run_syntax_fold(<q-args>)
6666
6767" }}}
6868
69- syn cluster rubyNotTop contains =@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional ,rubyModuleName,rubyClassName,rubySymbolDelimiter
69+ syn cluster rubyNotTop contains =@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,@rubyExceptionHandler,rubyConditional ,rubyModuleName,rubyClassName,rubySymbolDelimiter
7070
7171" Whitespace Errors {{{1
7272if exists (" ruby_space_errors" )
@@ -306,8 +306,8 @@ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
306306 syn match rubyModule " \< module\> " nextgroup =rubyModuleDeclaration skipwhite skipnl
307307
308308 SynFold ' def' syn region rubyMethodBlock start = " \< def\> " matchgroup= rubyDefine end = " \% (\< def\_ s\+\)\@ <!\< end\> " contains= ALLBUT ,@r ubyNotTop
309- SynFold ' class' syn region rubyBlock start = " \< class\> " matchgroup= rubyClass end = " \< end\> " contains= ALLBUT ,@r ubyNotTop
310- SynFold ' module' syn region rubyBlock start = " \< module\> " matchgroup= rubyModule end = " \< end\> " contains= ALLBUT ,@r ubyNotTop
309+ SynFold ' class' syn region rubyClassBlock start = " \< class\> " matchgroup= rubyClass end = " \< end\> " contains= ALLBUT ,@r ubyNotTop
310+ SynFold ' module' syn region rubyModuleBlock start = " \< module\> " matchgroup= rubyModule end = " \< end\> " contains= ALLBUT ,@r ubyNotTop
311311
312312 " modifiers
313313 syn match rubyLineContinuation " \\ $" nextgroup =rubyConditionalModifier,rubyRepeatModifier,rubyRescueModifier skipwhite skipnl
@@ -332,8 +332,9 @@ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
332332 syn match rubyConditional " \<\% (then\| else\| when\)\> [?!]\@ !" contained containedin =rubyCaseExpression
333333 syn match rubyConditional " \<\% (then\| else\| elsif\)\> [?!]\@ !" contained containedin =rubyConditionalExpression
334334
335- syn match rubyExceptional " \<\% (\% (\% (;\| ^\)\s *\)\@ <=rescue\| else\| ensure\)\> [?!]\@ !" contained containedin =rubyBlockExpression
336- syn match rubyMethodExceptional " \<\% (\% (\% (;\| ^\)\s *\)\@ <=rescue\| else\| ensure\)\> [?!]\@ !" contained containedin =rubyMethodBlock
335+ syn match rubyExceptionHandler " \<\% (\% (\% (;\| ^\)\s *\)\@ <=rescue\| else\| ensure\)\> [?!]\@ !" contained containedin =rubyBlockExpression,rubyDoBlock
336+ syn match rubyExceptionHandler1 " \<\% (\% (\% (;\| ^\)\s *\)\@ <=rescue\| else\| ensure\)\> [?!]\@ !" contained containedin =rubyModuleBlock,rubyClassBlock,rubyMethodBlock
337+ syn cluster rubyExceptionHandler contains =rubyExceptionHandler,rubyExceptionHandler1
337338
338339 " statements with optional 'do'
339340 syn region rubyOptionalDoLine matchgroup =rubyRepeat start =" \< for\> [?!]\@ !" start =" \% (\% (^\|\.\.\.\=\| [{:,;([<>~\* /%&^|+-]\|\% (\< [_[:lower:]][_[:alnum:]]*\)\@ <![!=?]\)\s *\)\@ <=\<\% (until\| while\)\> " matchgroup=rubyOptionalDo end="\% (\< do\>\) " end="\z e\% (;\| $\) " oneline contains=ALLBUT,@rubyNotTop
@@ -405,7 +406,7 @@ SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END
405406" Default Highlighting {{{1
406407hi def link rubyClass rubyDefine
407408hi def link rubyModule rubyDefine
408- hi def link rubyMethodExceptional rubyDefine
409+ hi def link rubyExceptionHandler1 rubyDefine
409410hi def link rubyDefine Define
410411hi def link rubyAccess rubyMacro
411412hi def link rubyAttribute rubyMacro
@@ -414,8 +415,8 @@ hi def link rubyMethodName rubyFunction
414415hi def link rubyFunction Function
415416hi def link rubyConditional Conditional
416417hi def link rubyConditionalModifier rubyConditional
417- hi def link rubyExceptional rubyConditional
418- hi def link rubyRescueModifier rubyExceptional
418+ hi def link rubyExceptionHandler rubyConditional
419+ hi def link rubyRescueModifier rubyExceptionHandler
419420hi def link rubyRepeat Repeat
420421hi def link rubyRepeatModifier rubyRepeat
421422hi def link rubyOptionalDo rubyRepeat
0 commit comments