diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-05-20 16:59:09 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-05-20 16:59:09 +0200 |
commit | a688c66a049b12e7b19f6ab4cb27c5a24dc3d52c (patch) | |
tree | 4f21330aa69ea67c4b32ad89918034e375bd1e1c | |
parent | 0a7c62b3b22a75f91245a718c1409e4216ae61c8 (diff) | |
download | vim-polyglot-a688c66a049b12e7b19f6ab4cb27c5a24dc3d52c.tar.gz vim-polyglot-a688c66a049b12e7b19f6ab4cb27c5a24dc3d52c.zip |
Update
-rw-r--r-- | autoload/csv.vim | 2 | ||||
-rw-r--r-- | autoload/health/vimtex.vim | 6 | ||||
-rw-r--r-- | autoload/vimtex.vim | 14 | ||||
-rw-r--r-- | autoload/vimtex/cmd.vim | 4 | ||||
-rw-r--r-- | autoload/vimtex/echo.vim | 4 | ||||
-rw-r--r-- | autoload/vimtex/imaps.vim | 41 | ||||
-rw-r--r-- | autoload/vimtex/include.vim | 3 | ||||
-rw-r--r-- | autoload/vimtex/parser/toc.vim | 12 | ||||
-rw-r--r-- | autoload/vimtex/syntax/load.vim | 9 | ||||
-rw-r--r-- | autoload/vimtex/text_obj.vim | 63 | ||||
-rw-r--r-- | autoload/vimtex/toc.vim | 5 | ||||
-rw-r--r-- | autoload/vimtex/view/zathura.vim | 2 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 2 | ||||
-rw-r--r-- | ftplugin/julia.vim | 8 | ||||
-rw-r--r-- | ftplugin/rst.vim | 2 | ||||
-rw-r--r-- | indent/ecrystal.vim | 38 | ||||
-rw-r--r-- | indent/rst.vim | 8 | ||||
-rw-r--r-- | syntax/basic/literal.vim | 6 | ||||
-rw-r--r-- | syntax/common.vim | 1 | ||||
-rw-r--r-- | syntax/julia.vim | 35 | ||||
-rw-r--r-- | syntax/llvm.vim | 2 | ||||
-rw-r--r-- | syntax/mma.vim | 9 | ||||
-rw-r--r-- | syntax/nginx.vim | 3 | ||||
-rw-r--r-- | syntax/rst.vim | 30 | ||||
-rw-r--r-- | syntax/rust.vim | 4 | ||||
-rw-r--r-- | syntax/svelte.vim | 55 | ||||
-rw-r--r-- | syntax/tablegen.vim | 2 | ||||
-rw-r--r-- | syntax/tmux.vim | 46 | ||||
-rw-r--r-- | syntax/vifm.vim | 8 | ||||
-rw-r--r-- | syntax/zir.vim | 4 |
30 files changed, 276 insertions, 152 deletions
diff --git a/autoload/csv.vim b/autoload/csv.vim index e05d2e13..28d85b63 100644 --- a/autoload/csv.vim +++ b/autoload/csv.vim @@ -2346,7 +2346,7 @@ fu! csv#ColumnWidth() endfu fu! csv#Map(map, name, definition, ...) "{{{3 - let keyname = substitute(a:name, '[<>]', '', 'g') + let keyname = substitute(substitute(a:name, '[<>]', '', 'g'), '-', '_', 'g') let expr = (exists("a:1") && a:1 == 'expr' ? '<expr>' : '') if !get(g:, "csv_nomap_". tolower(keyname), 0) " All mappings are buffer local diff --git a/autoload/health/vimtex.vim b/autoload/health/vimtex.vim index 1af2c78f..a655feee 100644 --- a/autoload/health/vimtex.vim +++ b/autoload/health/vimtex.vim @@ -69,12 +69,6 @@ function! s:check_plugin_clash() abort " {{{1 call health#report_warn('Conflicting plugin detected: LaTeX-Box') call health#report_info('vimtex does not work as expected when LaTeX-Box is installed!') call health#report_info('Please disable or remove it to use vimtex!') - - let l:polyglot = !empty(filter(copy(l:scriptnames), "v:val =~# 'polyglot'")) - if l:polyglot - call health#report_info('LaTeX-Box is included with vim-polyglot and may be disabled with:') - call health#report_info('let g:polyglot_disabled = [''latex'']') - endif endif endfunction diff --git a/autoload/vimtex.vim b/autoload/vimtex.vim index abd5adc1..e16a2ae3 100644 --- a/autoload/vimtex.vim +++ b/autoload/vimtex.vim @@ -247,6 +247,7 @@ function! vimtex#init_options() abort " {{{1 \ ], \ } \}) + call s:init_option('vimtex_syntax_autoload_packages', ['amsmath']) call s:init_option('vimtex_texcount_custom_arg', '') @@ -257,7 +258,10 @@ function! vimtex#init_options() abort " {{{1 call s:init_option('vimtex_toc_enabled', 1) call s:init_option('vimtex_toc_custom_matchers', []) call s:init_option('vimtex_toc_show_preamble', 1) - call s:init_option('vimtex_toc_todo_keywords', ['TODO', 'FIXME']) + call s:init_option('vimtex_toc_todo_labels', { + \ 'TODO': 'TODO: ', + \ 'FIXME': 'FIXME: ' + \}) call s:init_option('vimtex_toc_config', { \ 'name' : 'Table of contents (vimtex)', \ 'mode' : 1, @@ -324,6 +328,7 @@ function! vimtex#init_options() abort " {{{1 call s:init_option('vimtex_view_skim_activate', 0) call s:init_option('vimtex_view_skim_reading_bar', 1) call s:init_option('vimtex_view_zathura_options', '') + call s:init_option('vimtex_view_zathura_check_libsynctex', 1) endfunction " }}}1 @@ -332,18 +337,11 @@ function! vimtex#check_plugin_clash() abort " {{{1 let l:latexbox = !empty(filter(copy(l:scriptnames), "v:val =~# 'latex-box'")) if l:latexbox - let l:polyglot = !empty(filter(copy(l:scriptnames), "v:val =~# 'polyglot'")) call vimtex#log#warning([ \ 'Conflicting plugin detected: LaTeX-Box', \ 'vimtex does not work as expected when LaTeX-Box is installed!', \ 'Please disable or remove it to use vimtex!', \]) - if l:polyglot - call vimtex#log#warning([ - \ 'LaTeX-Box is included with vim-polyglot and may be disabled with:', - \ 'let g:polyglot_disabled = [''latex'']', - \]) - endif endif endfunction diff --git a/autoload/vimtex/cmd.vim b/autoload/vimtex/cmd.vim index 06b5e14c..62e3b470 100644 --- a/autoload/vimtex/cmd.vim +++ b/autoload/vimtex/cmd.vim @@ -274,7 +274,7 @@ endfunction function! s:get_frac_cmd() abort " {{{1 let l:save_pos = vimtex#pos#get_cursor() - while v:true + while 1 let l:cmd = s:get_cmd('prev') if empty(l:cmd) || l:cmd.pos_start.lnum < line('.') call vimtex#pos#set_cursor(l:save_pos) @@ -375,7 +375,7 @@ function! s:get_frac_inline() abort " {{{1 let l:pos_after = -1 let l:pos_before = -1 - while v:true + while 1 let l:pos_before = l:pos_after let l:pos_after = match(l:line, '\/', l:pos_after+1) if l:pos_after < 0 || l:pos_after >= l:col | break | endif diff --git a/autoload/vimtex/echo.vim b/autoload/vimtex/echo.vim index 9c761f8f..ee80c942 100644 --- a/autoload/vimtex/echo.vim +++ b/autoload/vimtex/echo.vim @@ -66,7 +66,7 @@ function! s:choose_dict(dict, prompt) abort " {{{1 return values(a:dict)[0] endif - while v:true + while 1 redraw! if !empty(a:prompt) echohl VimtexMsg @@ -93,7 +93,7 @@ endfunction function! s:choose_list(list, prompt) abort " {{{1 if len(a:list) == 1 | return a:list[0] | endif - while v:true + while 1 redraw! if !empty(a:prompt) echohl VimtexMsg diff --git a/autoload/vimtex/imaps.vim b/autoload/vimtex/imaps.vim index 6b682f0c..5c507ad2 100644 --- a/autoload/vimtex/imaps.vim +++ b/autoload/vimtex/imaps.vim @@ -9,6 +9,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1 function! vimtex#imaps#init_buffer() abort " {{{1 if !g:vimtex_imaps_enabled | return | endif + " Store mappings in buffer + if !exists('b:vimtex_imaps') + let b:vimtex_imaps = [] + endif + " " Create imaps " @@ -32,16 +37,18 @@ endfunction function! vimtex#imaps#add_map(map) abort " {{{1 let s:custom_maps = get(s:, 'custom_maps', []) + [a:map] - if exists('s:created_maps') + if exists('b:vimtex_imaps') call s:create_map(a:map) endif endfunction " }}}1 function! vimtex#imaps#list() abort " {{{1 + let l:maps = b:vimtex_imaps + silent new vimtex\ imaps - for l:map in s:created_maps + for l:map in l:maps call append('$', printf('%5S -> %-30S %S', \ get(l:map, 'leader', get(g:, 'vimtex_imaps_leader', '`')) . l:map.lhs, \ l:map.rhs, @@ -78,15 +85,16 @@ endfunction " The imap generator " function! s:create_map(map) abort " {{{1 - if index(s:created_maps, a:map) >= 0 | return | endif + if index(b:vimtex_imaps, a:map) >= 0 | return | endif + let l:map = deepcopy(a:map) - let l:leader = get(a:map, 'leader', get(g:, 'vimtex_imaps_leader', '`')) + let l:leader = get(l:map, 'leader', get(g:, 'vimtex_imaps_leader', '`')) if l:leader !=# '' && !hasmapto(l:leader, 'i') silent execute 'inoremap <silent><nowait><buffer>' l:leader . l:leader l:leader endif - let l:lhs = l:leader . a:map.lhs + let l:lhs = l:leader . l:map.lhs - let l:wrapper = get(a:map, 'wrapper', 'vimtex#imaps#wrap_math') + let l:wrapper = get(l:map, 'wrapper', 'vimtex#imaps#wrap_math') if ! exists('*' . l:wrapper) echoerr 'vimtex error: imaps wrapper does not exist!' echoerr ' ' . l:wrapper @@ -95,25 +103,25 @@ function! s:create_map(map) abort " {{{1 " Some wrappers use a context which must be made available to the wrapper " function at run time. - if has_key(a:map, 'context') + if has_key(l:map, 'context') execute 'let l:key = "' . escape(l:lhs, '<') . '"' - let l:key .= a:map.rhs + let l:key .= l:map.rhs if !exists('b:vimtex_context') let b:vimtex_context = {} endif - let b:vimtex_context[l:key] = a:map.context + let b:vimtex_context[l:key] = l:map.context endif " The rhs may be evaluated before being passed to wrapper, unless expr is " disabled (which it is by default) - if !get(a:map, 'expr') - let a:map.rhs = string(a:map.rhs) + if !get(l:map, 'expr') + let l:map.rhs = string(l:map.rhs) endif silent execute 'inoremap <expr><silent><nowait><buffer>' l:lhs - \ l:wrapper . '("' . escape(l:lhs, '\') . '", ' . a:map.rhs . ')' + \ l:wrapper . '("' . escape(l:lhs, '\') . '", ' . l:map.rhs . ')' - let s:created_maps += [a:map] + let b:vimtex_imaps += [l:map] endfunction " }}}1 @@ -182,11 +190,4 @@ endfunction " }}}1 - -" {{{1 Initialize module - -let s:created_maps = [] - -" }}}1 - endif diff --git a/autoload/vimtex/include.vim b/autoload/vimtex/include.vim index 830292c5..59c37977 100644 --- a/autoload/vimtex/include.vim +++ b/autoload/vimtex/include.vim @@ -82,7 +82,8 @@ endfunction " }}}1 function! s:search_candidates_texinputs(fname) abort " {{{1 for l:suffix in [''] + split(&l:suffixesadd, ',') - let l:candidates = glob(b:vimtex.root . '/**/' . a:fname . l:suffix, 0, 1) + let l:candidates = glob(b:vimtex.root . '/**/' + \ . fnameescape(a:fname) . l:suffix, 0, 1) if !empty(l:candidates) return l:candidates[0] endif diff --git a/autoload/vimtex/parser/toc.vim b/autoload/vimtex/parser/toc.vim index 517a25be..a518ce53 100644 --- a/autoload/vimtex/parser/toc.vim +++ b/autoload/vimtex/parser/toc.vim @@ -154,7 +154,7 @@ let s:re_prefilter = '\v%(\\' . join([ \ 'tableofcontents', \ 'todo', \], '|') . ')' - \ . '|\%\s*%(' . join(g:vimtex_toc_todo_keywords, '|') . ')' + \ . '|\%\s*%(' . join(keys(g:vimtex_toc_todo_labels), '|') . ')' \ . '|\%\s*vimtex-include' for s:m in g:vimtex_toc_custom_matchers if has_key(s:m, 'prefilter') @@ -513,14 +513,16 @@ endfunction let s:matcher_todos = { \ 're' : g:vimtex#re#not_bslash . '\%\s+(' - \ . join(g:vimtex_toc_todo_keywords, '|') . ')[ :]+\s*(.*)', + \ . join(keys(g:vimtex_toc_todo_labels), '|') . ')[ :]+\s*(.*)', \ 'in_preamble' : 1, \ 'priority' : 2, \} function! s:matcher_todos.get_entry(context) abort dict " {{{1 let [l:type, l:text] = matchlist(a:context.line, self.re)[1:2] + let l:label = g:vimtex_toc_todo_labels[toupper(l:type)] + return { - \ 'title' : toupper(l:type) . ': ' . l:text, + \ 'title' : l:label . l:text, \ 'number' : '', \ 'file' : a:context.file, \ 'line' : a:context.lnum, @@ -547,8 +549,10 @@ function! s:matcher_todonotes.get_entry(context) abort dict " {{{1 let s:matcher_continue = deepcopy(self) endif + let l:label = get(g:vimtex_toc_todo_labels, 'TODO', 'TODO: ') + return { - \ 'title' : 'TODO: ' . title, + \ 'title' : l:label . title, \ 'number' : '', \ 'file' : a:context.file, \ 'line' : a:context.lnum, diff --git a/autoload/vimtex/syntax/load.vim b/autoload/vimtex/syntax/load.vim index 5008e24a..3b61d886 100644 --- a/autoload/vimtex/syntax/load.vim +++ b/autoload/vimtex/syntax/load.vim @@ -79,6 +79,15 @@ function! vimtex#syntax#load#packages() abort " {{{1 catch /E117:/ endtry endfor + + for l:pkg in g:vimtex_syntax_autoload_packages + try + call vimtex#syntax#p#{l:pkg}#load() + catch /E117:/ + call vimtex#log#warning('Syntax package does not exist: ' . l:pkg, + \ 'Please see :help g:vimtex_syntax_autoload_packages') + endtry + endfor endfunction " }}}1 diff --git a/autoload/vimtex/text_obj.vim b/autoload/vimtex/text_obj.vim index 27d1a8b6..3b9105ff 100644 --- a/autoload/vimtex/text_obj.vim +++ b/autoload/vimtex/text_obj.vim @@ -385,23 +385,70 @@ endfunction " }}}1 function! s:get_sel_items(is_inner) abort " {{{1 let l:pos_cursor = vimtex#pos#get_cursor() + let l:val_cursor = vimtex#pos#val(l:pos_cursor) " Find previous \item - call vimtex#pos#set_cursor(l:pos_cursor[0], 1) - let l:pos_start = searchpos('^\s*\\item\S*', 'bcnWz') - if l:pos_start == [0, 0] | return [[], []] | endif + let l:depth = 0 + let l:pos_cur = vimtex#pos#next(l:pos_cursor) + while 1 + call vimtex#pos#set_cursor(vimtex#pos#prev(l:pos_cur)) + if l:depth > 5 | return [[], []] | endif + + let l:pos_start = searchpos( + \ l:depth > 0 ? '\\begin{\w\+}' : '^\s*\\item\S*', + \ 'bcnW') + let l:val_start = vimtex#pos#val(l:pos_start) + if l:val_start == 0 | return [[], []] | endif + + let l:pos_endenv = searchpos('\%(^\s*\)\?\\end{\w\+}', 'bcnW') + let l:val_endenv = vimtex#pos#val(l:pos_endenv) + + if l:val_endenv == 0 || l:val_start > l:val_endenv + if l:depth == 0 | break | endif + let l:pos_cur = l:pos_start + let l:depth -= 1 + else + let l:pos_cur = l:pos_endenv + let l:depth += 1 + endif + endwhile " Find end of current \item - call vimtex#pos#set_cursor(l:pos_start) - let l:pos_end = searchpos('\ze\n\s*\%(\\item\|\\end{itemize}\)', 'nW') - if l:pos_end == [0, 0] - \ || vimtex#pos#val(l:pos_cursor) > vimtex#pos#val(l:pos_end) + let l:depth = 0 + let l:pos_cur = l:pos_start + while 1 + call vimtex#pos#set_cursor(vimtex#pos#next(l:pos_cur)) + + let l:re = l:depth > 0 + \ ? '\\end{\w\+}' + \ : '\n\s*\%(\\item\|\\end{\(itemize\|enumerate\)}\)' + let l:pos_end = searchpos(l:re, 'nW') + let l:val_end = vimtex#pos#val(l:pos_end) + if l:depth == 0 && l:val_end == 0 + return [[], []] + endif + + let l:pos_beginenv = searchpos('\\begin{\w\+}', 'cnW') + let l:val_beginenv = vimtex#pos#val(l:pos_beginenv) + + if l:val_beginenv == 0 || l:val_end < l:val_beginenv + if l:depth == 0 | break | endif + let l:pos_cur = l:pos_end + let l:depth -= 1 + else + let l:pos_cur = l:pos_beginenv + let l:depth += 1 + endif + endwhile + + " The region must include the cursor + if l:val_cursor > l:val_end return [[], []] endif " Adjust for outer text object if a:is_inner - let l:pos_start[1] = searchpos('^\s*\\item\S*\s\?', 'cne')[1] + 1 + let l:pos_start[1] = searchpos('^\s*\\item\S*\s', 'cne')[1] + 1 let l:pos_end[1] = col([l:pos_end[0], '$']) - 1 endif diff --git a/autoload/vimtex/toc.vim b/autoload/vimtex/toc.vim index ac660112..bb2d7ffb 100644 --- a/autoload/vimtex/toc.vim +++ b/autoload/vimtex/toc.vim @@ -354,7 +354,8 @@ function! s:toc.set_syntax() abort dict "{{{1 syntax match VimtexTocNum /\v(([A-Z]+>|\d+)(\.\d+)*)?\s*/ contained execute 'syntax match VimtexTocTodo' - \ '/\v\s\zs%(' . toupper(join(g:vimtex_toc_todo_keywords, '|')) . '): /' + \ '/\v\s\zs%(' + \ . toupper(join(keys(g:vimtex_toc_todo_labels), '|')) . '): /' \ 'contained' syntax match VimtexTocHotkey /\[[^]]\+\]/ contained @@ -751,7 +752,7 @@ endfunction function! s:foldtext() abort " {{{1 let l:line = getline(v:foldstart)[3:] if b:toc.todo_sorted - \ && l:line =~# '\v%(' . join(g:vimtex_toc_todo_keywords, '|') . ')' + \ && l:line =~# '\v%(' . join(keys(g:vimtex_toc_todo_labels), '|') . ')' return substitute(l:line, '\w+\zs:.*', 's', '') else return l:line diff --git a/autoload/vimtex/view/zathura.vim b/autoload/vimtex/view/zathura.vim index a001fa7e..88e41468 100644 --- a/autoload/vimtex/view/zathura.vim +++ b/autoload/vimtex/view/zathura.vim @@ -13,7 +13,7 @@ function! vimtex#view#zathura#new() abort " {{{1 return {} endif - if executable('ldd') + if g:vimtex_view_zathura_check_libsynctex && executable('ldd') let l:shared = split(system("sh -c 'ldd $(which zathura)'")) if v:shell_error == 0 \ && empty(filter(l:shared, 'v:val =~# ''libsynctex''')) diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 40c33941..6cedcea6 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -719,7 +719,7 @@ fun! s:SelectJavascript() endif endfun -autocmd BufNewFile,BufRead *.{js,mjs,jsm,es,es6},Jakefile setfiletype javascript +autocmd BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile setfiletype javascript autocmd BufNewFile,BufRead * call s:SelectJavascript() augroup end endif diff --git a/ftplugin/julia.vim b/ftplugin/julia.vim index 9b787512..3b81019d 100644 --- a/ftplugin/julia.vim +++ b/ftplugin/julia.vim @@ -39,7 +39,7 @@ if exists("loaded_matchit") " note: the following regex not only recognizes macros, but also local/global keywords. " the purpose is recognizing things like `@inline myfunction()` " or `global myfunction(...)` etc, for matchit and block movement functionality - let s:macro_regex = '\%(@\%(#\@!\S\)\+\|\<\%(local\|global\)\)\s\+' + let s:macro_regex = '\%(@\%([#(]\@!\S\)\+\|\<\%(local\|global\)\)\s\+' let s:nomacro = '\%(' . s:macro_regex . '\)\@<!' let s:yesmacro = s:nomacro . '\%('. s:macro_regex . '\)\+' let b:julia_begin_keywordsm = '\%(' . s:yesmacro . b:julia_begin_keywords . '\)\|' @@ -76,10 +76,10 @@ if exists("loaded_matchit") let b:match_words = 'JuliaGetMatchWords()' " we need to skip everything within comments, strings and - " the 'end' keyword when it is used as a range rather than as - " the end of a block + " the 'begin' and 'end' keywords when they are used as a range rather than as + " the delimiter of a block let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~ ' - \ . '"\\<julia\\%(Comprehension\\%(For\\|If\\)\\|RangeKeyword\\|SymbolS\\?\\|Comment[LM]\\|\\%([bv]\\|ip\\|MIME\\|Shell\\|Doc\\)\\?String\\|RegEx\\)\\>"' + \ . '"\\<julia\\%(Comprehension\\%(For\\|If\\)\\|RangeKeyword\\|SymbolS\\?\\|Comment[LM]\\|\\%([bsvr]\\|ip\\|MIME\\|big\\|raw\\|test\\|html\\|int128\\|Printf\\|Shell\\|Doc\\)\\?String\\|StringPrefixed\\|RegEx\\)\\>"' let b:undo_ftplugin = b:undo_ftplugin \ . " | unlet! b:match_words b:match_skip b:match_ignorecase" diff --git a/ftplugin/rst.vim b/ftplugin/rst.vim index 14983362..5265edcf 100644 --- a/ftplugin/rst.vim +++ b/ftplugin/rst.vim @@ -5,7 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rst') == -1 " Maintainer: Marshall Ward <marshall.ward@gmail.com> " Original Maintainer: Nikolai Weibull <now@bitwi.se> " Website: https://github.com/marshallward/vim-restructuredtext -" Latest Revision: 2018-12-29 +" Latest Revision: 2020-03-31 if exists("b:did_ftplugin") finish diff --git a/indent/ecrystal.vim b/indent/ecrystal.vim index adf64e89..0d474587 100644 --- a/indent/ecrystal.vim +++ b/indent/ecrystal.vim @@ -86,28 +86,20 @@ else endfunction endif -" Does the given pattern match at the cursor's position? -function s:MatchCursor(pattern) - return searchpos(a:pattern, 'cnz', line('.')) == [line('.'), col('.')] -endfunction - " Does the given pattern match at the given position? -function s:MatchAt(lnum, col, pattern) - let pos = getcurpos() - - try - call cursor(a:lnum, a:col) - let result = s:MatchCursor(a:pattern) - finally - call setpos('.', pos) - endtry +function! s:MatchAt(lnum, col, pattern) abort + let idx = a:col - 1 + return match(getline(a:lnum), a:pattern, idx) == idx +endfunction - return result +" Does the given pattern match at the cursor's position? +function! s:MatchCursor(pattern) abort + return s:MatchAt(line('.'), col('.'), a:pattern) endfunction " Is the cell at the given position part of a tag? If so, return the " position of the opening delimiter. -function s:MatchECR(...) +function! s:MatchECR(...) abort if a:0 let lnum = a:1 let col = a:2 @@ -133,7 +125,7 @@ endfunction " If the cell at the given position is part of a control tag, return the " respective positions of the opening and closing delimiters for that " tag. -function s:MatchECRControl(...) +function! s:MatchECRControl(...) abort let pos = getcurpos() if a:0 @@ -175,7 +167,7 @@ endfunction " Determine whether or not the control tag at the given position starts " an indent. -function s:ECRIndent(...) +function! s:ECRIndent(...) abort if a:0 if type(a:1) == 0 let [open, close] = s:MatchECRControl(a:1, a:2) @@ -237,7 +229,7 @@ endfunction " Determine if the control tag at the given position ends an indent or " not. -function s:ECRDedent(...) +function! s:ECRDedent(...) abort if a:0 if type(a:1) == 0 let [open, close] = s:MatchECRControl(a:1, a:2) @@ -297,7 +289,7 @@ function s:ECRDedent(...) endfunction " Find and match a control tag in the given line, if one exists. -function s:FindECRControl(...) +function! s:FindECRControl(...) abort let lnum = a:0 ? a:1 : line('.') let open = { 'lnum': 0, 'col': 0 } @@ -324,7 +316,7 @@ endfunction " This takes two arguments: the first is the line to start searching " from (exclusive); the second is the line to stop searching at " (inclusive). -function s:FindPrevECRControl(...) +function! s:FindPrevECRControl(...) abort if a:0 == 0 let start = line('.') let stop = 1 @@ -369,7 +361,7 @@ endfunction " GetEcrystalIndent {{{1 " ================= -function GetEcrystalIndent() abort +function! GetEcrystalIndent() abort let prev_lnum = prevnonblank(v:lnum - 1) if b:ecrystal_indent_multiline @@ -461,7 +453,7 @@ endfunction " GetEcrystalFold {{{1 " =============== -function GetEcrystalFold() abort +function! GetEcrystalFold() abort let fold = '=' let col = crystal#indent#Match(v:lnum, s:ecr_control_open) diff --git a/indent/rst.vim b/indent/rst.vim index 8e228dfe..0eb0f9c6 100644 --- a/indent/rst.vim +++ b/indent/rst.vim @@ -1,9 +1,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rst') == -1 " Vim indent file -" Language: reStructuredText Documentation Format -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2011-08-03 +" Vim reST indent file +" Language: reStructuredText Documentation Format +" Maintainer: Marshall Ward <marshall.ward@gmail.com> +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2020-03-31 if exists("b:did_indent") finish diff --git a/syntax/basic/literal.vim b/syntax/basic/literal.vim index eb7dce77..89d96bb0 100644 --- a/syntax/basic/literal.vim +++ b/syntax/basic/literal.vim @@ -39,9 +39,7 @@ syntax region typescriptArray matchgroup=typescriptBraces syntax match typescriptNumber /\<0[bB][01][01_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty -syntax match typescriptNumber /\d[0-9_]*\.\d[0-9_]*\|\d[0-9_]*\|\.\d[0-9]*/ - \ nextgroup=typescriptExponent,@typescriptSymbols skipwhite skipempty -syntax match typescriptExponent /[eE][+-]\=\d[0-9]*\>/ - \ nextgroup=@typescriptSymbols skipwhite skipempty contained +syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/ + \ nextgroup=typescriptSymbols skipwhite skipempty endif diff --git a/syntax/common.vim b/syntax/common.vim index 51900080..6b451cec 100644 --- a/syntax/common.vim +++ b/syntax/common.vim @@ -98,7 +98,6 @@ if exists("did_typescript_hilink") HiLink typescriptType Type HiLink typescriptNull Boolean HiLink typescriptNumber Number - HiLink typescriptExponent Number HiLink typescriptBoolean Boolean HiLink typescriptObjectLabel typescriptLabel HiLink typescriptLabel Label diff --git a/syntax/julia.vim b/syntax/julia.vim index 2dea6175..c23dc915 100644 --- a/syntax/julia.vim +++ b/syntax/julia.vim @@ -275,7 +275,7 @@ syntax region juliatextString matchgroup=juliaStringDelim start=+\<text\z("\(" syntax region juliahtmlString matchgroup=juliaStringDelim start=+\<html\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw syntax region juliaint128String matchgroup=juliaStringDelim start=+\<u\?int128\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw -syntax region juliaDocString matchgroup=juliaStringDelim start=+^"""+ skip=+\%(\\\\\)*\\"+ end=+"""+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings +syntax region juliaDocString matchgroup=juliaDocStringDelim start=+^"""+ skip=+\%(\\\\\)*\\"+ end=+"""+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings exec 'syntax region juliaPrintfMacro contained transparent start="@s\?printf(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaPrintfParBlock' syntax region juliaPrintfMacro contained transparent start="@s\?printf\s\+" end="\ze\%([])};#]\|$\|\<for\>\)" contains=@juliaExprsPrintf,juliaMacro,juliaSymbolS,juliaQuotedParBlockS @@ -416,22 +416,23 @@ hi def link juliaComplexUnit Constant hi def link juliaChar Character hi def link juliaString String -hi def link juliaStringPrefixed String -hi def link juliabString String -hi def link juliasString String -hi def link juliavString String -hi def link juliarString String -hi def link juliaipString String -hi def link juliabigString String -hi def link juliaMIMEString String -hi def link juliarawString String -hi def link juliatestString String -hi def link juliahtmlString String -hi def link juliaint128String String -hi def link juliaPrintfString String -hi def link juliaShellString String -hi def link juliaDocString String -hi def link juliaStringDelim String +hi def link juliaStringPrefixed juliaString +hi def link juliabString juliaString +hi def link juliasString juliaString +hi def link juliavString juliaString +hi def link juliarString juliaString +hi def link juliaipString juliaString +hi def link juliabigString juliaString +hi def link juliaMIMEString juliaString +hi def link juliarawString juliaString +hi def link juliatestString juliaString +hi def link juliahtmlString juliaString +hi def link juliaint128String juliaString +hi def link juliaPrintfString juliaString +hi def link juliaShellString juliaString +hi def link juliaDocString juliaString +hi def link juliaStringDelim juliaString +hi def link juliaDocStringDelim juliaDocString hi def link juliaStringVarsPla Identifier hi def link juliaStringVarDelim Identifier diff --git a/syntax/llvm.vim b/syntax/llvm.vim index ea9796f1..427e1134 100644 --- a/syntax/llvm.vim +++ b/syntax/llvm.vim @@ -84,6 +84,7 @@ syn keyword llvmKeyword \ externally_initialized \ extern_weak \ fastcc + \ tailcc \ filter \ from \ gc @@ -91,6 +92,7 @@ syn keyword llvmKeyword \ hhvmcc \ hhvm_ccc \ hidden + \ immarg \ initialexec \ inlinehint \ inreg diff --git a/syntax/mma.vim b/syntax/mma.vim index d668ab32..f6059296 100644 --- a/syntax/mma.vim +++ b/syntax/mma.vim @@ -705,6 +705,13 @@ syntax keyword mmaSystemSymbol MixedRadix MixedRadixQuantity MixedUnit MixtureDi syntax keyword mmaSystemSymbol Modal Mode Modular ModularInverse ModularLambda Module syntax keyword mmaSystemSymbol Module Modulus MoebiusMu Moment Momentary MomentConvert syntax keyword mmaSystemSymbol MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor +syntax keyword mmaSystemSymbol MongoConnect MongoGetDatabase MongoGetCollection MongoGetDatabaseNames MongoDatabaseName MongoDatabaseDrop MongoGetCollectionNames +syntax keyword mmaSystemSymbol MongoCollectionName MongoCollectionDrop MongoCollectionStats MongoCollectionValidate +syntax keyword mmaSystemSymbol MongoCollectionCount MongoCollectionFind MongoCollectionFindOne MongoCollectionAggregate MongoCollectionDistinct +syntax keyword mmaSystemSymbol MongoCollectionInsert MongoCollectionUpdateOne MongoCollectionUpdateMany MongoCollectionDeleteOne MongoCollectionDeleteMany MongoCollectionReplaceOne +syntax keyword mmaSystemSymbol MongoCursorNext MongoWriteConcernCreate MongoCursorSetBatchSize MongoCursorGetBatchSize MongoCursorToArray +syntax keyword mmaSystemSymbol MongoClient MongoDatabase MongoCollection MongoCursor +syntax keyword mmaSystemSymbol MongoWriteConcern BSONObjectID MongoInsertResult MongoDriverVersion syntax keyword mmaSystemSymbol Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition syntax keyword mmaSystemSymbol MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber syntax keyword mmaSystemSymbol MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most @@ -1298,7 +1305,7 @@ syntax match mmaOperator "&" syntax match mmaOperator "?\{1,2}" "User Symbols -syntax match mmaSymbol "[^0-9][A-Za-z0-9`$]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator,mmaSystemSymbol,mmaBrackets,mmaError +syntax match mmaSymbol "[^0-9"][A-Za-z0-9`$]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator,mmaSystemSymbol,mmaBrackets,mmaError syntax match mmaSymbol "\<[^0-9][A-Za-z0-9`$]\+\>" contains=mmaOperator,mmaSystemSymbol,mmaBrackets,mmaError syntax match mmaSymbol "\~\s*[^~]\+\s*\~"ms=s+1,me=e-1 contains=mmaOperator,mmaSystemSymbol,mmaBrackets,mmaError syntax match mmaSymbol "//\s*[A-Za-z0-9`$]\+"ms=s+2 contains=mmaOperator,mmaSystemSymbol,mmaBrackets,mmaError diff --git a/syntax/nginx.vim b/syntax/nginx.vim index 4c6a901d..78160f37 100644 --- a/syntax/nginx.vim +++ b/syntax/nginx.vim @@ -300,12 +300,15 @@ syn keyword ngxDirective large_client_header_buffers syn keyword ngxDirective least_conn syn keyword ngxDirective least_time syn keyword ngxDirective limit_conn +syn keyword ngxDirective limit_conn_dry_run syn keyword ngxDirective limit_conn_log_level syn keyword ngxDirective limit_conn_status syn keyword ngxDirective limit_conn_zone +syn keyword ngxDirective limit_except syn keyword ngxDirective limit_rate syn keyword ngxDirective limit_rate_after syn keyword ngxDirective limit_req +syn keyword ngxDirective limit_req_dry_run syn keyword ngxDirective limit_req_log_level syn keyword ngxDirective limit_req_status syn keyword ngxDirective limit_req_zone diff --git a/syntax/rst.vim b/syntax/rst.vim index 3b14d63f..4995af9f 100644 --- a/syntax/rst.vim +++ b/syntax/rst.vim @@ -1,11 +1,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rst') == -1 -" Vim syntax file +" Vim reST syntax file " Language: reStructuredText documentation format " Maintainer: Marshall Ward <marshall.ward@gmail.com> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Website: https://github.com/marshallward/vim-restructuredtext -" Latest Revision: 2018-12-29 +" Latest Revision: 2020-03-31 if exists("b:current_syntax") finish @@ -99,22 +99,32 @@ function! s:DefineOneInlineMarkup(name, start, middle, end, char_left, char_righ let first = a:start[0] endif - execute 'syn match rstEscape'.a:name.' +\\\\\|\\'.first.'+'.' contained' + if a:start != '``' + let rst_contains=' contains=rstEscape' . a:name + execute 'syn match rstEscape'.a:name.' +\\\\\|\\'.first.'+'.' contained' + else + let rst_contains='' + endif execute 'syn region rst' . a:name . \ ' start=+' . a:char_left . '\zs' . a:start . \ '\ze[^[:space:]' . a:char_right . a:start[strlen(a:start) - 1] . ']+' . \ a:middle . \ ' end=+' . a:end . '\ze\%($\|\s\|[''"’)\]}>/:.,;!?\\-]\)+' . - \ ' contains=rstEscape' . a:name + \ rst_contains - execute 'hi def link rstEscape'.a:name.' Special' + if a:start != '``' + execute 'hi def link rstEscape'.a:name.' Special' + endif endfunction +" TODO: The "middle" argument may no longer be useful here. function! s:DefineInlineMarkup(name, start, middle, end) - let middle = a:middle != "" ? - \ (' skip=+\\\\\|\\' . a:middle . '\|\s' . a:middle . '+') : - \ "" + if a:middle == '`' + let middle = ' skip=+\s'.a:middle.'+' + else + let middle = ' skip=+\\\\\|\\' . a:middle . '\|\s' . a:middle . '+' + endif call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, "'", "'") call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '"', '"') @@ -123,8 +133,8 @@ function! s:DefineInlineMarkup(name, start, middle, end) call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '{', '}') call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '<', '>') call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '’', '’') - " TODO: Additional Unicode Pd, Po, Pi, Pf, Ps characters + " TODO: Additional whitespace Unicode characters: Pd, Po, Pi, Pf, Ps call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\%(^\|\s\|\%ua0\|[/:]\)', '') execute 'syn match rst' . a:name . @@ -138,7 +148,7 @@ endfunction call s:DefineInlineMarkup('Emphasis', '\*', '\*', '\*') call s:DefineInlineMarkup('StrongEmphasis', '\*\*', '\*', '\*\*') call s:DefineInlineMarkup('InterpretedTextOrHyperlinkReference', '`', '`', '`_\{0,2}') -call s:DefineInlineMarkup('InlineLiteral', '``', "", '``') +call s:DefineInlineMarkup('InlineLiteral', '``', '`', '``') call s:DefineInlineMarkup('SubstitutionReference', '|', '|', '|_\{0,2}') call s:DefineInlineMarkup('InlineInternalTargets', '_`', '`', '`') diff --git a/syntax/rust.vim b/syntax/rust.vim index ca31c5cd..0cf32ed9 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -69,8 +69,7 @@ syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipw syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained -syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end=")" contains=TOP nextgroup=rustMacroRepeatCount -syn match rustMacroRepeatCount ".\?[*+]" contained +syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end="),\=[*+]" contains=TOP syn match rustMacroVariable "$\w\+" " Reserved (but not yet used) keywords {{{2 @@ -280,7 +279,6 @@ hi def link rustIdentifierPrime rustIdentifier hi def link rustTrait rustType hi def link rustDeriveTrait rustTrait -hi def link rustMacroRepeatCount rustMacroRepeatDelimiters hi def link rustMacroRepeatDelimiters Macro hi def link rustMacroVariable Define hi def link rustSigil StorageClass diff --git a/syntax/svelte.vim b/syntax/svelte.vim index e4b5f27d..7f7e4ff0 100644 --- a/syntax/svelte.vim +++ b/syntax/svelte.vim @@ -36,6 +36,8 @@ syntax keyword svelteKeyword slot contained containedin=htmlTag " https://github.com/mxw/vim-jsx/blob/master/after/syntax/jsx.vim syntax region svelteExpression start="{" end="" contains=jsBlock,javascriptBlock containedin=htmlString,htmlTag,htmlArg,htmlValue,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,htmlHead,htmlTitle,htmlBoldItalicUnderline,htmlUnderlineBold,htmlUnderlineItalicBold,htmlUnderlineBoldItalic,htmlItalicUnderline,htmlItalicBold,htmlItalicBoldUnderline,htmlItalicUnderlineBold,htmlLink,htmlLeadingSpace,htmlBold,htmlBoldUnderline,htmlBoldItalic,htmlBoldUnderlineItalic,htmlUnderline,htmlUnderlineItalic,htmlItalic,htmlStrike,javaScript +syntax region svelteSurroundingTag contained start=+<\(script\|style\|template\)+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent + " Block conditionals. syntax match svelteConditional "#if" contained containedin=jsBlock,javascriptBlock syntax match svelteConditional "/if" contained containedin=jsBlock,javascriptBlock @@ -60,6 +62,59 @@ highlight def link svelteConditional Conditional highlight def link svelteKeyword Keyword highlight def link svelteRepeat Repeat +" Preprocessed languages that aren't supported out of the box by Svelte require +" additional syntax files to be pulled in and can slow Vim down a bit. For that +" reason, preprocessed languages must be enabled manually. Note that some may +" require additional plugins that contain the actual syntax definitions. +" +" Heavily cribbed from https://github.com/posva/vim-vue and largely completed by +" @davidroeca (thank you!). + +" A syntax should be registered if there's a valid syntax definition known to +" Vim and it is enabled for the Svelte plugin. +function! s:enabled(language) + " Check whether a syntax file for {language} exists + if empty(globpath(&runtimepath, 'syntax/' . a:language . '.vim')) + return 0 + endif + + " If g:svelte_preprocessors is set, check for it there, otherwise return 0. + if exists('g:svelte_preprocessors') && type(g:svelte_preprocessors) == v:t_list + return index(g:svelte_preprocessors, a:language) != -1 + else + return 0 + endif +endfunction + +let s:languages = [ + \ { 'name': 'less', 'tag': 'style' }, + \ { 'name': 'scss', 'tag': 'style' }, + \ { 'name': 'sass', 'tag': 'style' }, + \ { 'name': 'stylus', 'tag': 'style' }, + \ { 'name': 'typescript', 'tag': 'script' }, + \ ] + +for s:language in s:languages + let s:attr = '\(lang\|type\)=\("\|''\)[^\2]*' . s:language.name . '[^\2]*\2' + let s:start = '<' . s:language.tag . '\>\_[^>]*' . s:attr . '\_[^>]*>' + + if s:enabled(s:language.name) + execute 'syntax include @' . s:language.name . ' syntax/' . s:language.name . '.vim' + unlet! b:current_syntax + + execute 'syntax region svelte_' . s:language.name + \ 'keepend' + \ 'start=/' . s:start . '/' + \ 'end="</' . s:language.tag . '>"me=s-1' + \ 'contains=@' . s:language.name . ',svelteSurroundingTag' + \ 'fold' + endif +endfor + +" Cybernetically enhanced web apps. let b:current_syntax = "svelte" +" Sync from start because of the wacky nesting. +syntax sync fromstart + endif diff --git a/syntax/tablegen.vim b/syntax/tablegen.vim index c5136d03..41928648 100644 --- a/syntax/tablegen.vim +++ b/syntax/tablegen.vim @@ -16,7 +16,7 @@ syntax sync minlines=100 syn case match -syn keyword tgKeyword def let in code dag field include defm foreach +syn keyword tgKeyword def let in code dag field include defm foreach defset defvar if then else syn keyword tgType class int string list bit bits multiclass syn match tgNumber /\<\d\+\>/ diff --git a/syntax/tmux.vim b/syntax/tmux.vim index f2e3f3e1..7993d481 100644 --- a/syntax/tmux.vim +++ b/syntax/tmux.vim @@ -1,7 +1,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tmux') == -1 " Language: tmux(1) configuration file -" Version: 3.1 (git-f986539e) +" Version: before-OpenBSD-lock (git-53c84fd4) " URL: https://github.com/ericpruitt/tmux.vim/ " Maintainer: Eric Pruitt <eric.pruitt@gmail.com> " License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause) @@ -66,41 +66,43 @@ for s:i in range(0, 255) endfor syn keyword tmuxOptions -\ backspace buffer-limit command-alias default-terminal escape-time -\ exit-empty activity-action assume-paste-time base-index bell-action -\ default-command default-shell default-size destroy-unattached +\ backspace buffer-limit command-alias copy-command default-terminal editor +\ escape-time exit-empty activity-action assume-paste-time base-index +\ bell-action default-command default-shell default-size destroy-unattached \ detach-on-destroy display-panes-active-colour display-panes-colour -\ display-panes-time display-time exit-unattached focus-events history-file -\ history-limit key-table lock-after-time lock-command message-command-style -\ message-limit message-style aggressive-resize allow-rename +\ display-panes-time display-time exit-unattached extended-keys focus-events +\ history-file history-limit key-table lock-after-time lock-command +\ message-command-style message-limit aggressive-resize allow-rename \ alternate-screen automatic-rename automatic-rename-format -\ clock-mode-colour clock-mode-style main-pane-height main-pane-width -\ mode-keys mode-style monitor-activity monitor-bell monitor-silence mouse -\ other-pane-height other-pane-width pane-active-border-style -\ pane-base-index pane-border-format pane-border-status pane-border-style -\ prefix prefix2 remain-on-exit renumber-windows repeat-time set-clipboard -\ set-titles set-titles-string silence-action status status-bg status-fg -\ status-format status-interval status-justify status-keys status-left -\ status-left-length status-left-style status-position status-right -\ status-right-length status-right-style status-style synchronize-panes +\ clock-mode-colour clock-mode-style copy-mode-current-match-style +\ copy-mode-mark-style copy-mode-match-style main-pane-height +\ main-pane-width message-style mode-keys mode-style monitor-activity +\ monitor-bell monitor-silence mouse other-pane-height other-pane-width +\ pane-active-border-style pane-base-index pane-border-format +\ pane-border-lines pane-border-status pane-border-style prefix prefix2 +\ remain-on-exit renumber-windows repeat-time set-clipboard set-titles +\ set-titles-string silence-action status status-bg status-fg status-format +\ status-interval status-justify status-keys status-left status-left-length +\ status-left-style status-position status-right status-right-length +\ status-right-style status-style synchronize-panes terminal-features \ terminal-overrides update-environment user-keys visual-activity \ visual-bell visual-silence window-active-style window-size \ window-status-activity-style window-status-bell-style \ window-status-current-format window-status-current-style \ window-status-format window-status-last-style window-status-separator -\ window-status-style window-style word-separators wrap-search xterm-keys +\ window-status-style window-style word-separators wrap-search syn keyword tmuxCommands \ attach attach-session bind bind-key break-pane breakp capture-pane \ capturep choose-buffer choose-client choose-tree clear-history clearhist -\ clock-mode command-prompt confirm confirm-before copy-mode detach -\ detach-client display display-menu display-message display-panes +\ clock-mode command-prompt confirm confirm-before copy-mode customize-mode +\ detach detach-client display display-menu display-message display-panes \ display-popup displayp find-window findw if if-shell join-pane joinp -\ kill-pane kill-server kill-session kill-window killp has-session has killw +\ kill-pane kill-server kill-session kill-window killp has has-session killw \ link-window linkw list-buffers list-clients list-commands list-keys \ list-panes list-sessions list-windows load-buffer loadb lock lock-client -\ lock-server lock-session lockc last-pane lastp locks ls last-window last -\ lsb lsc delete-buffer deleteb lscm lsk lsp lsw menu move-pane move-window +\ lock-server lock-session lockc last-pane lastp locks ls last last-window +\ lsb delete-buffer deleteb lsc lscm lsk lsp lsw menu move-pane move-window \ movep movew new new-session new-window neww next next-layout next-window \ nextl paste-buffer pasteb pipe-pane pipep popup prev previous-layout \ previous-window prevl refresh refresh-client rename rename-session diff --git a/syntax/vifm.vim b/syntax/vifm.vim index e8f9892f..22153af7 100644 --- a/syntax/vifm.vim +++ b/syntax/vifm.vim @@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vifm') == -1 " vifm syntax file " Maintainer: xaizek <xaizek@posteo.net> -" Last Change: March 7, 2020 +" Last Change: May 17, 2020 " Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr. if exists('b:current_syntax') @@ -146,9 +146,9 @@ syntax keyword vifmOption contained aproposprg autochpos caseoptions cdpath cd \ numberwidth nuw previewprg quickview relativenumber rnu rulerformat ruf \ runexec scrollbind scb scrolloff so sort sortgroups sortorder sortnumbers \ shell sh shellflagcmd shcf shortmess shm showtabline stal sizefmt slowfs - \ smartcase scs statusline stl suggestoptions syncregs syscalls tabscope - \ tabstop timefmt timeoutlen title tm trash trashdir ts tuioptions to - \ undolevels ul vicmd viewcolumns vifminfo vimhelp vixcmd wildmenu wmnu + \ smartcase scs statusline stl suggestoptions syncregs syscalls tablabel + \ tabscope tabstop timefmt timeoutlen title tm trash trashdir ts tuioptions + \ to undolevels ul vicmd viewcolumns vifminfo vimhelp vixcmd wildmenu wmnu \ wildstyle wordchars wrap wrapscan ws " Disabled boolean options diff --git a/syntax/zir.vim b/syntax/zir.vim index a0e49394..c985aca4 100644 --- a/syntax/zir.vim +++ b/syntax/zir.vim @@ -14,7 +14,7 @@ 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 zirKeyword primitive fntype int str as ptrtoint fieldptr deref asm unreachable export ref syn keyword zirTodo contained TODO @@ -48,7 +48,7 @@ hi def link zirHexNumber Constant hi def link zirOctNumber Constant hi def link zirBinNumber Constant -hi def link zirGlobal Ignore +hi def link zirGlobal Identifier hi def link zirLocal Identifier endif |