diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-04-28 01:09:08 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-04-28 01:09:08 +0200 |
commit | c7b5826d53f3f4fe31e8168e1d8c6d7b19e60f4b (patch) | |
tree | 18b7ceacc639cd998d9ea1b82dc6ec330bea4a4b | |
parent | 1d348d0c2db81becf134d86d0513b840e7d66435 (diff) | |
download | vim-polyglot-c7b5826d53f3f4fe31e8168e1d8c6d7b19e60f4b.tar.gz vim-polyglot-c7b5826d53f3f4fe31e8168e1d8c6d7b19e60f4b.zip |
Update
-rw-r--r-- | autoload/vimtex/include.vim | 2 | ||||
-rw-r--r-- | autoload/vimtex/re.vim | 2 | ||||
-rw-r--r-- | autoload/vimtex/syntax/load.vim | 4 | ||||
-rw-r--r-- | autoload/vimtex/view/common.vim | 5 | ||||
-rw-r--r-- | autoload/vimtex/view/zathura.vim | 21 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 1 | ||||
-rw-r--r-- | ftplugin/zig.vim | 1 | ||||
-rw-r--r-- | syntax/javascript.vim | 10 | ||||
-rw-r--r-- | syntax/zig.vim | 10 | ||||
-rw-r--r-- | syntax/zir.vim | 54 |
10 files changed, 86 insertions, 24 deletions
diff --git a/autoload/vimtex/include.vim b/autoload/vimtex/include.vim index 2a58dffe..830292c5 100644 --- a/autoload/vimtex/include.vim +++ b/autoload/vimtex/include.vim @@ -63,6 +63,8 @@ function! s:input(fname, type) abort " {{{1 if l:lnum == 0 | return a:fname | endif let l:cmd = vimtex#cmd#get_at(l:lnum, l:cnum) + if empty(l:cmd) | return a:fname | endif + let l:file = join(map( \ get(l:cmd, 'args', [{}]), \ "get(v:val, 'text', '')"), diff --git a/autoload/vimtex/re.vim b/autoload/vimtex/re.vim index 0b3aab58..8e8f38be 100644 --- a/autoload/vimtex/re.vim +++ b/autoload/vimtex/re.vim @@ -20,7 +20,7 @@ let g:vimtex#re#tex_input_import = let g:vimtex#re#tex_input_package = \ '\v\\%(usepackage|RequirePackage)%(\s*\[[^]]*\])?\s*\{\zs[^}]*\ze\}' -let g:vimtex#re#tex_input = '\v^\s*%(' . join([ +let g:vimtex#re#tex_input = '\v^\s*\zs%(' . join([ \ g:vimtex#re#tex_input_latex, \ g:vimtex#re#tex_input_import, \ ], '|') . ')' diff --git a/autoload/vimtex/syntax/load.vim b/autoload/vimtex/syntax/load.vim index d1b8b09b..5008e24a 100644 --- a/autoload/vimtex/syntax/load.vim +++ b/autoload/vimtex/syntax/load.vim @@ -7,6 +7,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 " function! vimtex#syntax#load#general() abort " {{{1 + if !exists('b:vimtex_syntax') | return | endif + " I don't see why we can't match Math zones in the MatchNMGroup if !exists('g:tex_no_math') syntax cluster texMatchNMGroup add=@texMathZones @@ -64,6 +66,8 @@ endfunction " }}}1 function! vimtex#syntax#load#packages() abort " {{{1 + if !exists('b:vimtex_syntax') | return | endif + try call vimtex#syntax#p#{b:vimtex.documentclass}#load() catch /E117:/ diff --git a/autoload/vimtex/view/common.vim b/autoload/vimtex/view/common.vim index ca39cf0a..348dc899 100644 --- a/autoload/vimtex/view/common.vim +++ b/autoload/vimtex/view/common.vim @@ -153,9 +153,10 @@ function! s:xwin_template.xwin_exists() dict abort " {{{1 " If xwin_id is unset, check if matching viewer windows exist " if self.xwin_id == 0 - if has_key(self, 'get_pid') + let l:pid = has_key(self, 'get_pid') ? self.get_pid() : 0 + if l:pid > 0 let cmd = 'xdotool search' - \ . ' --all --pid ' . self.get_pid() + \ . ' --all --pid ' . l:pid \ . ' --name ' . fnamemodify(self.out(), ':t') let self.xwin_id = get(split(system(cmd), '\n'), 0) else diff --git a/autoload/vimtex/view/zathura.vim b/autoload/vimtex/view/zathura.vim index 48e8e27a..98419981 100644 --- a/autoload/vimtex/view/zathura.vim +++ b/autoload/vimtex/view/zathura.vim @@ -90,21 +90,20 @@ function! s:zathura.compiler_callback(status) dict abort " {{{1 if !filereadable(self.out()) | return | endif - if g:vimtex_view_automatic + if g:vimtex_view_automatic && !has_key(self, 'started_through_callback') " " Search for existing window created by latexmk - " It may be necessary to wait some time before it is opened and - " recognized. Sometimes it is very quick, other times it may take - " a second. This way, we don't block longer than necessary. + " Note: It may be necessary to wait some time before it is opened and + " recognized. Sometimes it is very quick, other times it may take + " a second. This way, we don't block longer than necessary. " - if !has_key(self, 'started_through_callback') - for l:dummy in range(30) - sleep 50m - if self.xwin_exists() | break | endif - endfor - endif + for l:dummy in range(30) + let l:xwin_exists = self.xwin_exists() + if l:xwin_exists | break | endif + sleep 50m + endfor - if !self.xwin_exists() && !has_key(self, 'started_through_callback') + if ! l:xwin_exists call self.start(self.out()) let self.started_through_callback = 1 endif diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 0b3754a1..65fb0cd5 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -1639,6 +1639,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'zig') == -1 augroup filetypedetect " zig, from zig.vim in ziglang/zig.vim au BufRead,BufNewFile *.zig set filetype=zig +au BufRead,BufNewFile *.zir set filetype=zir augroup end endif diff --git a/ftplugin/zig.vim b/ftplugin/zig.vim index e49c5bc5..8e43f4fb 100644 --- a/ftplugin/zig.vim +++ b/ftplugin/zig.vim @@ -12,6 +12,7 @@ setlocal tabstop=4 setlocal shiftwidth=4 setlocal suffixesadd=.zig +setlocal suffixesadd=.zir setlocal commentstring=//\ %s setlocal makeprg=zig\ build diff --git a/syntax/javascript.vim b/syntax/javascript.vim index e2a25ceb..b2ef4c79 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -53,8 +53,8 @@ syntax keyword jsFrom contained from skipwhite skipempty nextgroup syntax match jsModuleComma contained /,/ skipwhite skipempty nextgroup=jsModuleKeyword,jsModuleAsterisk,jsModuleGroup,jsFlowTypeKeyword " Strings, Templates, Numbers -syntax region jsString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ end=+$+ contains=jsSpecial,@Spell extend -syntax region jsTemplateString start=+`+ skip=+\\`+ end=+`+ contains=jsTemplateExpression,jsSpecial,@Spell extend +syntax region jsString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ end=+$+ contains=jsSpecial extend +syntax region jsTemplateString start=+`+ skip=+\\`+ end=+`+ contains=jsTemplateExpression,jsSpecial extend syntax match jsTaggedTemplate /\<\K\k*\ze`/ nextgroup=jsTemplateString syntax match jsNumber /\c\<\%(\d\+\%(e[+-]\=\d\+\)\=\|0b[01]\+\|0o\o\+\|0x\x\+\)\>/ syntax keyword jsNumber Infinity @@ -76,14 +76,14 @@ syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBa " Objects syntax match jsObjectShorthandProp contained /\<\k*\ze\s*/ skipwhite skipempty nextgroup=jsObjectSeparator syntax match jsObjectKey contained /\<\k*\ze\s*:/ contains=jsFunctionKey skipwhite skipempty nextgroup=jsObjectValue -syntax region jsObjectKeyString contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial,@Spell skipwhite skipempty nextgroup=jsObjectValue +syntax region jsObjectKeyString contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial skipwhite skipempty nextgroup=jsObjectValue syntax region jsObjectKeyComputed contained matchgroup=jsBrackets start=/\[/ end=/]/ contains=@jsExpression skipwhite skipempty nextgroup=jsObjectValue,jsFuncArgs extend syntax match jsObjectSeparator contained /,/ syntax region jsObjectValue contained matchgroup=jsObjectColon start=/:/ end=/[,}]\@=/ contains=@jsExpression extend syntax match jsObjectFuncName contained /\<\K\k*\ze\_s*(/ skipwhite skipempty nextgroup=jsFuncArgs syntax match jsFunctionKey contained /\<\K\k*\ze\s*:\s*function\>/ syntax match jsObjectMethodType contained /\<[gs]et\ze\s\+\K\k*/ skipwhite skipempty nextgroup=jsObjectFuncName -syntax region jsObjectStringKey contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial,@Spell extend skipwhite skipempty nextgroup=jsFuncArgs,jsObjectValue +syntax region jsObjectStringKey contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial extend skipwhite skipempty nextgroup=jsFuncArgs,jsObjectValue exe 'syntax keyword jsNull null '.(exists('g:javascript_conceal_null') ? 'conceal cchar='.g:javascript_conceal_null : '') exe 'syntax keyword jsReturn return contained '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '').' skipwhite nextgroup=@jsExpression' @@ -189,7 +189,7 @@ syntax region jsClassDefinition start=/\<class\>/ end=/\(\<ext syntax match jsClassProperty contained /\<\K\k*\ze\s*[=;]/ skipwhite skipempty nextgroup=jsClassValue,jsFlowClassDef syntax region jsClassValue contained start=/=/ end=/\_[;}]\@=/ contains=@jsExpression syntax region jsClassPropertyComputed contained matchgroup=jsBrackets start=/\[/ end=/]/ contains=@jsExpression skipwhite skipempty nextgroup=jsFuncArgs,jsClassValue extend -syntax region jsClassStringKey contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial,@Spell extend skipwhite skipempty nextgroup=jsFuncArgs +syntax region jsClassStringKey contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial extend skipwhite skipempty nextgroup=jsFuncArgs " Destructuring syntax match jsDestructuringPropertyValue contained /\k\+/ diff --git a/syntax/zig.vim b/syntax/zig.vim index 9af783c6..8ce68550 100644 --- a/syntax/zig.vim +++ b/syntax/zig.vim @@ -46,11 +46,11 @@ syn match zigBuiltinFn "\v\@(truncate|typeInfo|typeName|TypeOf|atomicRmw|bytesTo syn match zigBuiltinFn "\v\@(intToError|errorToInt|intToEnum|enumToInt|setAlignStack|frame|Frame|frameSize|bitReverse|Vector)>" syn match zigBuiltinFn "\v\@(sin|cos|exp|exp2|log|log2|log10|fabs|floor|ceil|trunc|round)>" -syn match zigDecNumber display "\<[0-9]\+\%(.[0-9]\+\)\=\%([eE][+-]\?[0-9]\+\)\=" -syn match zigHexNumber display "\<0x[a-fA-F0-9]\+\%([a-fA-F0-9]\+\%([pP][+-]\?[0-9]\+\)\?\)\=" -syn match zigOctNumber display "\<0o[0-7]\+" -syn match zigBinNumber display "\<0b[01]\+\%(.[01]\+\%([eE][+-]\?[0-9]\+\)\?\)\=" - +" 12_34 (. but not ..)? (12_34)? (exponent 12_34)? +syn match zigDecNumber display "\v<\d%(_?\d)*%(\.\.@!)?%(\d%(_?\d)*)?%([eE][+-]?\d%(_?\d)*)?" +syn match zigHexNumber display "\v<0x\x%(_?\x)*%(\.\.@!)?%(\x%(_?\x)*)?%([pP][+-]?\d%(_?\d)*)?" +syn match zigOctNumber display "\v<0o\o%(_?\o)*" +syn match zigBinNumber display "\v<0b[01]%(_?[01])*" syn match zigCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ syn match zigCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ diff --git a/syntax/zir.vim b/syntax/zir.vim new file mode 100644 index 00000000..a0e49394 --- /dev/null +++ b/syntax/zir.vim @@ -0,0 +1,54 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'zig') == -1 + +" Vim syntax file +" Language: Zir +" Maintainer: Andrew Kelley +" Latest Revision: 00 April 2020 + +if exists("b:current_syntax") + finish +endif +let b:current_syntax = "zir" + +syn region zirCommentLine start=";" end="$" contains=zirTodo,@Spell + +syn region zirBlock start="{" end="}" transparent fold + +syn keyword zirKeyword primitive fntype int str as ptrtoint fieldptr deref asm unreachable export + +syn keyword zirTodo contained TODO + +syn region zirString start=+c\?"+ skip=+\\\\\|\\"+ end=+"+ oneline contains=zirEscape,zirEscapeUnicode,zirEscapeError,@Spell + +syn match zirEscapeError display contained /\\./ +syn match zirEscape display contained /\\\([nrt\\'"]\|x\x\{2}\)/ +syn match zirEscapeUnicode display contained /\\\(u\x\{4}\|U\x\{6}\)/ + +syn match zirDecNumber display "\<[0-9]\+\%(.[0-9]\+\)\=\%([eE][+-]\?[0-9]\+\)\=" +syn match zirHexNumber display "\<0x[a-fA-F0-9]\+\%([a-fA-F0-9]\+\%([pP][+-]\?[0-9]\+\)\?\)\=" +syn match zirOctNumber display "\<0o[0-7]\+" +syn match zirBinNumber display "\<0b[01]\+\%(.[01]\+\%([eE][+-]\?[0-9]\+\)\?\)\=" + +syn match zirGlobal display "[^a-zA-Z0-9_]\?\zs@[a-zA-Z0-9_]\+" +syn match zirLocal display "[^a-zA-Z0-9_]\?\zs%[a-zA-Z0-9_]\+" + +hi def link zirCommentLine Comment +hi def link zirTodo Todo + +hi def link zirKeyword Keyword + +hi def link zirString Constant + +hi def link zirEscape Special +hi def link zirEscapeUnicode zirEscape +hi def link zirEscapeError Error + +hi def link zirDecNumber Constant +hi def link zirHexNumber Constant +hi def link zirOctNumber Constant +hi def link zirBinNumber Constant + +hi def link zirGlobal Ignore +hi def link zirLocal Identifier + +endif |