@@ -273,15 +273,27 @@ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*
273273syn region rubyHeredocStart matchgroup =rubyStringDelimiter start =+ \% (\% (class\s *\|\% ([]})"'.]\| ::\)\)\_ s*\|\w\)\@ <!<<-\=\z s'\% ([^']*\) '+ end =+ $+ oneline contains =ALLBUT,@rubyNotTop
274274syn region rubyHeredocStart matchgroup =rubyStringDelimiter start =+ \% (\% (class\s *\|\% ([]})"'.]\| ::\)\)\_ s*\|\w\)\@ <!<<-\=\z s`\% ([^`]*\) `+ end =+ $+ oneline contains =ALLBUT,@rubyNotTop
275275
276- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
277- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
278- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc fold keepend
279- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
280-
281- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
282- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
283- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart fold keepend
284- syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
276+ if s: foldable (' <<' )
277+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
278+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
279+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc fold keepend
280+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
281+
282+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
283+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
284+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart fold keepend
285+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial fold keepend
286+ else
287+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend
288+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend
289+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc keepend
290+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]})"'.]\)\s\|\w\)\@ <!<<`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 2 matchgroup =rubyStringDelimiter end =+ ^\z 1$+ contains =rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend
291+
292+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-\z (\% (\h\| [^\x 00-\x 7F]\)\% (\w\| [^\x 00-\x 7F]\) *\)\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial keepend
293+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-"\z ([^"]*\) "\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial keepend
294+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-'\z ([^']*\) '\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart keepend
295+ syn region rubyString start =+ \% (\% (class\| ::\)\_ s*\|\% ([]}).]\)\s\|\w\)\@ <!<<-`\z ([^`]*\) `\z e\% (.*<<-\= ['`"]\=\h\)\@ !+ hs =s + 3 matchgroup =rubyStringDelimiter end =+ ^\s *\z s\z 1$+ contains =rubyHeredocStart,@rubyStringSpecial keepend
296+ endif
285297
286298if exists (' main_syntax' ) && main_syntax == ' eruby'
287299 let b: ruby_no_expensive = 1
0 commit comments