Mercurial > vim
view runtime/syntax/treetop.vim @ 23150:90b16a0022e5 v8.2.2121
patch 8.2.2121: internal error when using ze before zs in a pattern
Commit: https://github.com/vim/vim/commit/a7a691cc142439e266f4ceb1f208bb952b57aa71
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 9 16:36:04 2020 +0100
patch 8.2.2121: internal error when using \ze before \zs in a pattern
Problem: Internal error when using \ze before \zs in a pattern.
Solution: Check the end is never before the start. (closes https://github.com/vim/vim/issues/7442)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 09 Dec 2020 16:45:04 +0100 |
parents | 1218c5353e2b |
children |
line wrap: on
line source
" Vim syntax file " Language: Treetop " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2011-03-14 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword treetopTodo \ contained \ TODO \ FIXME \ XXX \ NOTE syn match treetopComment \ '#.*' \ display \ contains=treetopTodo syn include @treetopRuby syntax/ruby.vim unlet b:current_syntax syn keyword treetopKeyword \ require \ end syn region treetopKeyword \ matchgroup=treetopKeyword \ start='\<\%(grammar\|include\|module\)\>\ze\s' \ end='$' \ transparent \ oneline \ keepend \ contains=@treetopRuby syn keyword treetopKeyword \ rule \ nextgroup=treetopRuleName \ skipwhite skipnl syn match treetopGrammarName \ '\u\w*' \ contained syn match treetopRubyModuleName \ '\u\w*' \ contained syn match treetopRuleName \ '\h\w*' \ contained syn region treetopString \ matchgroup=treetopStringDelimiter \ start=+"+ \ end=+"+ syn region treetopString \ matchgroup=treetopStringDelimiter \ start=+'+ \ end=+'+ syn region treetopCharacterClass \ matchgroup=treetopCharacterClassDelimiter \ start=+\[+ \ skip=+\\\]+ \ end=+\]+ syn region treetopRubyBlock \ matchgroup=treetopRubyBlockDelimiter \ start=+{+ \ end=+}+ \ contains=@treetopRuby syn region treetopSemanticPredicate \ matchgroup=treetopSemanticPredicateDelimiter \ start=+[!&]{+ \ end=+}+ \ contains=@treetopRuby syn region treetopSubclassDeclaration \ matchgroup=treetopSubclassDeclarationDelimiter \ start=+<+ \ end=+>+ \ contains=@treetopRuby syn match treetopEllipsis \ +''+ hi def link treetopTodo Todo hi def link treetopComment Comment hi def link treetopKeyword Keyword hi def link treetopGrammarName Constant hi def link treetopRubyModuleName Constant hi def link treetopRuleName Identifier hi def link treetopString String hi def link treetopStringDelimiter treetopString hi def link treetopCharacterClass treetopString hi def link treetopCharacterClassDelimiter treetopCharacterClass hi def link treetopRubyBlockDelimiter PreProc hi def link treetopSemanticPredicateDelimiter PreProc hi def link treetopSubclassDeclarationDelimiter PreProc hi def link treetopEllipsis Special let b:current_syntax = 'treetop' let &cpo = s:cpo_save unlet s:cpo_save