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

[vim] Update syntaxes and colors
author nanaya <me@nanaya.pro>
date Tue, 05 Apr 2022 13:55:06 +0900
parents 0f0bdbd8d37d
children
comparison
equal deleted inserted replaced
672:2febdacae5b4 673:6cdd7d26260d
1 " Vim syntax file 1 " Vim syntax file
2 " Language: eRuby 2 " Language: eRuby
3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org> 3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
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: 2018 Jul 04 6 " Last Change: 2022 Mar 18
7 7
8 if &syntax !~# '\<eruby\>' || get(b:, 'current_syntax') =~# '\<eruby\>' 8 if exists("b:current_syntax")
9 finish 9 finish
10 endif 10 endif
11 11
12 if !exists("main_syntax") 12 if !exists("main_syntax")
13 let main_syntax = 'eruby' 13 let main_syntax = 'eruby'
17 let g:eruby_default_subtype = "html" 17 let g:eruby_default_subtype = "html"
18 endif 18 endif
19 19
20 if &filetype =~ '^eruby\.' 20 if &filetype =~ '^eruby\.'
21 let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+') 21 let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+')
22 elseif &filetype =~ '^.*\.eruby\>'
23 let b:eruby_subtype = matchstr(&filetype,'^.\{-\}\ze\.eruby\>')
24 elseif !exists("b:eruby_subtype") && main_syntax == 'eruby' 22 elseif !exists("b:eruby_subtype") && main_syntax == 'eruby'
25 let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") 23 let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
26 let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+') 24 let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
27 if b:eruby_subtype == '' 25 if b:eruby_subtype == ''
28 let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$') 26 let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
52 endif 50 endif
53 if !b:eruby_nest_level 51 if !b:eruby_nest_level
54 let b:eruby_nest_level = 1 52 let b:eruby_nest_level = 1
55 endif 53 endif
56 54
57 if get(b:, 'eruby_subtype', '') !~# '^\%(eruby\)\=$' && &syntax =~# '^eruby\>' 55 if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby'
58 exe "runtime! syntax/".b:eruby_subtype.".vim" 56 exe "runtime! syntax/".b:eruby_subtype.".vim"
57 unlet! b:current_syntax
59 endif 58 endif
60 unlet! b:current_syntax
61 syn include @rubyTop syntax/ruby.vim 59 syn include @rubyTop syntax/ruby.vim
62 60
63 syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment 61 syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment
64 62
65 exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline' 63 exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline'
70 " Define the default highlighting. 68 " Define the default highlighting.
71 69
72 hi def link erubyDelimiter PreProc 70 hi def link erubyDelimiter PreProc
73 hi def link erubyComment Comment 71 hi def link erubyComment Comment
74 72
75 let b:current_syntax = matchstr(&syntax, '^.*\<eruby\>') 73 let b:current_syntax = 'eruby'
76 74
77 if main_syntax == 'eruby' 75 if main_syntax == 'eruby'
78 unlet main_syntax 76 unlet main_syntax
79 endif 77 endif
80 78