Mercurial > vim
view runtime/syntax/context.vim @ 22446:0cdb03e73ce9 v8.2.1771
patch 8.2.1771: synIDattr() cannot get the value of ctermul
Commit: https://github.com/vim/vim/commit/391c36279415d0b8c5dba1ba11b668add04be963
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Sep 29 20:59:17 2020 +0200
patch 8.2.1771: synIDattr() cannot get the value of ctermul
Problem: synIDattr() cannot get the value of ctermul.
Solution: Add the "ul" value for "what". (closes https://github.com/vim/vim/issues/7037)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 29 Sep 2020 21:00:04 +0200 |
parents | 07d2b5a3b7cc |
children | 2acb87ee55fc |
line wrap: on
line source
" Vim syntax file " Language: ConTeXt typesetting engine " Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> " Former Maintainers: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2016 Oct 16 if exists("b:current_syntax") finish endif runtime! syntax/plaintex.vim unlet b:current_syntax let s:cpo_save = &cpo set cpo&vim " Dictionary of (filetype, group) pairs to highlight between \startGROUP \stopGROUP. let s:context_include = get(b:, 'context_include', get(g:, 'context_include', {'xml': 'XML'})) " For backward compatibility (g:context_include used to be a List) if type(s:context_include) ==# type([]) let g:context_metapost = (index(s:context_include, 'mp') != -1) let s:context_include = filter( \ {'c': 'C', 'javascript': 'JS', 'ruby': 'Ruby', 'xml': 'XML'}, \ { k,_ -> index(s:context_include, k) != -1 } \ ) endif syn iskeyword @,48-57,a-z,A-Z,192-255 syn spell toplevel " ConTeXt options, i.e., [...] blocks syn region contextOptions matchgroup=contextDelimiter start='\[' end=']\|\ze\\stop' skip='\\\[\|\\\]' contains=ALLBUT,contextBeginEndLua,@Spell " Highlight braces syn match contextDelimiter '[{}]' " Comments syn match contextComment '\\\@<!\%(\\\\\)*\zs%.*$' display contains=initexTodo syn match contextComment '^\s*%[CDM].*$' display contains=initexTodo syn match contextBlockDelim '\\\%(start\|stop\)\a\+' contains=@NoSpell syn region contextEscaped matchgroup=contextPreProc start='\\type\%(\s*\|\n\)*\z([^A-Za-z%]\)' end='\z1' syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s\|\n\)*{' end='}' syn region contextEscaped matchgroup=contextPreProc start='\\type\=\%(\s*\|\n\)*<<' end='>>' syn region contextEscaped matchgroup=contextPreProc \ start='\\start\z(\a*\%(typing\|typen\)\)' \ end='\\stop\z1' contains=plaintexComment keepend syn region contextEscaped matchgroup=contextPreProc start='\\\h\+Type\%(\s\|\n\)*{' end='}' syn region contextEscaped matchgroup=contextPreProc start='\\Typed\h\+\%(\s\|\n\)*{' end='}' syn match contextBuiltin display contains=@NoSpell \ '\\\%(unprotect\|protect\|unexpanded\)\>' syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\)\>' \ contains=@NoSpell if get(b:, 'context_metapost', get(g:, 'context_metapost', 1)) let b:mp_metafun_macros = 1 " Highlight MetaFun keywords syn include @mpTop syntax/mp.vim unlet b:current_syntax syn region contextMPGraphic matchgroup=contextBlockDelim \ start='\\start\z(MP\%(clip\|code\|definitions\|drawing\|environment\|extensions\|inclusions\|initializations\|page\|\)\)\>.*$' \ end='\\stop\z1' \ contains=@mpTop,@NoSpell syn region contextMPGraphic matchgroup=contextBlockDelim \ start='\\start\z(\%(\%[re]usable\|use\|unique\|static\)MPgraphic\|staticMPfigure\|uniqueMPpagegraphic\)\>.*$' \ end='\\stop\z1' \ contains=@mpTop,@NoSpell endif if get(b:, 'context_lua', get(g:, 'context_lua', 1)) syn include @luaTop syntax/lua.vim unlet b:current_syntax syn region contextLuaCode matchgroup=contextBlockDelim \ start='\\startluacode\>' \ end='\\stopluacode\>' keepend \ contains=@luaTop,@NoSpell syn match contextDirectLua "\\\%(directlua\|ctxlua\)\>\%(\s*%.*$\)\=" \ nextgroup=contextBeginEndLua skipwhite skipempty \ contains=initexComment syn region contextBeginEndLua matchgroup=contextSpecial \ start="{" end="}" skip="\\[{}]" \ contained contains=@luaTop,@NoSpell endif for synname in keys(s:context_include) execute 'syn include @' . synname . 'Top' 'syntax/' . synname . '.vim' unlet b:current_syntax execute 'syn region context' . s:context_include[synname] . 'Code' \ 'matchgroup=contextBlockDelim' \ 'start=+\\start' . s:context_include[synname] . '+' \ 'end=+\\stop' . s:context_include[synname] . '+' \ 'contains=@' . synname . 'Top,@NoSpell' endfor syn match contextSectioning '\\\%(start\|stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>' \ contains=@NoSpell syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|' \ contains=@NoSpell syn match contextSpecial /\\[`'"]/ syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ \ contains=@NoSpell syn match contextSpecial '\^\^.' syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' syn match contextStyle '\\\%(em\|ss\|hw\|cg\|mf\)\>' \ contains=@NoSpell syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' \ contains=@NoSpell syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' \ contains=@NoSpell syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' \ contains=@NoSpell syn match contextFont '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>' \ contains=@NoSpell hi def link contextOptions Typedef hi def link contextComment Comment hi def link contextBlockDelim Keyword hi def link contextBuiltin Keyword hi def link contextDelimiter Delimiter hi def link contextEscaped String hi def link contextPreProc PreProc hi def link contextSectioning PreProc hi def link contextSpecial Special hi def link contextType Type hi def link contextStyle contextType hi def link contextFont contextType hi def link contextDirectLua Keyword let b:current_syntax = "context" let &cpo = s:cpo_save unlet s:cpo_save