diff options
-rw-r--r-- | after/syntax/cpp.vim | 1 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 2 | ||||
-rw-r--r-- | ftplugin/latex-box/common.vim | 26 | ||||
-rw-r--r-- | ftplugin/latex-box/complete.vim | 2 | ||||
-rw-r--r-- | ftplugin/latex-box/latexmk.vim | 10 | ||||
-rw-r--r-- | syntax/elixir.vim | 11 | ||||
-rw-r--r-- | syntax/html.vim | 2 | ||||
-rw-r--r-- | syntax/perl6.vim | 16 | ||||
-rw-r--r-- | syntax/typescript.vim | 1 |
9 files changed, 43 insertions, 28 deletions
diff --git a/after/syntax/cpp.vim b/after/syntax/cpp.vim index b8451618..6c34fe74 100644 --- a/after/syntax/cpp.vim +++ b/after/syntax/cpp.vim @@ -760,6 +760,7 @@ syntax keyword cppSTLconstant WCHAR_MAX if !exists("cpp_no_cpp11") syntax keyword cppSTLtype nullptr_t max_align_t syntax keyword cppSTLtype type_index + syntax keyword cppSTLconstant nullptr " type_traits syntax keyword cppSTLtype is_void diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 8edb9a9d..e687fb8e 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -130,7 +130,7 @@ function! s:DetectPerl6() endif if line =~ '^\s*\%(use\s\+\)\=v6\%(\.\d\%(\.\d\)\=\)\=;' set filetype=perl6 " we matched a 'use v6' declaration - elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\(module\|class\|role\|enum\|grammar\)' + elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\%(unit\s\+\)\=\(module\|class\|role\|enum\|grammar\)' set filetype=perl6 " we found a class, role, module, enum, or grammar declaration endif break " we either found what we needed, or we found a non-POD, non-comment, diff --git a/ftplugin/latex-box/common.vim b/ftplugin/latex-box/common.vim index c5451027..f463b7e7 100644 --- a/ftplugin/latex-box/common.vim +++ b/ftplugin/latex-box/common.vim @@ -179,7 +179,13 @@ function! LatexBox_GetTexRoot() return fnamemodify(LatexBox_GetMainTexFile(), ':h') endfunction -function! LatexBox_GetTexBasename(with_dir) +function! LatexBox_GetBuildBasename(with_dir) + " 1. Check for g:LatexBox_jobname + if exists('g:LatexBox_jobname') + return g:LatexBox_jobname + endif + + " 2. Get the basename from the main tex file if a:with_dir return fnamemodify(LatexBox_GetMainTexFile(), ':r') else @@ -190,48 +196,48 @@ endfunction function! LatexBox_GetAuxFile() " 1. check for b:build_dir variable if exists('b:build_dir') && isdirectory(b:build_dir) - return b:build_dir . '/' . LatexBox_GetTexBasename(0) . '.aux' + return b:build_dir . '/' . LatexBox_GetBuildBasename(0) . '.aux' endif " 2. check for g:LatexBox_build_dir variable if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir) - return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0) . '.aux' + return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0) . '.aux' endif " 3. use the base name of main tex file - return LatexBox_GetTexBasename(1) . '.aux' + return LatexBox_GetBuildBasename(1) . '.aux' endfunction function! LatexBox_GetLogFile() " 1. check for b:build_dir variable if exists('b:build_dir') && isdirectory(b:build_dir) - return b:build_dir . '/' . LatexBox_GetTexBasename(0) . '.log' + return b:build_dir . '/' . LatexBox_GetBuildBasename(0) . '.log' endif " 2. check for g:LatexBox_build_dir variable if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir) - return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0) . '.log' + return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0) . '.log' endif " 3. use the base name of main tex file - return LatexBox_GetTexBasename(1) . '.log' + return LatexBox_GetBuildBasename(1) . '.log' endfunction function! LatexBox_GetOutputFile() " 1. check for b:build_dir variable if exists('b:build_dir') && isdirectory(b:build_dir) - return b:build_dir . '/' . LatexBox_GetTexBasename(0) + return b:build_dir . '/' . LatexBox_GetBuildBasename(0) \ . '.' . g:LatexBox_output_type endif " 2. check for g:LatexBox_build_dir variable if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir) - return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0) + return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0) \ . '.' . g:LatexBox_output_type endif " 3. use the base name of main tex file - return LatexBox_GetTexBasename(1) . '.' . g:LatexBox_output_type + return LatexBox_GetBuildBasename(1) . '.' . g:LatexBox_output_type endfunction " }}} diff --git a/ftplugin/latex-box/complete.vim b/ftplugin/latex-box/complete.vim index e8befcfc..fae7e4e0 100644 --- a/ftplugin/latex-box/complete.vim +++ b/ftplugin/latex-box/complete.vim @@ -24,7 +24,7 @@ if !exists('g:LatexBox_cite_pattern') let g:LatexBox_cite_pattern = '\C\\\a*cite\a*\*\?\(\[[^\]]*\]\)*\_\s*{' endif if !exists('g:LatexBox_ref_pattern') - let g:LatexBox_ref_pattern = '\C\\v\?\(eq\|page\|[cC]\|labelc\|name\)\?ref\*\?\_\s*{' + let g:LatexBox_ref_pattern = '\C\\v\?\(eq\|page\|[cC]\|labelc\|name\|auto\)\?ref\*\?\_\s*{' endif if !exists('g:LatexBox_completion_environments') diff --git a/ftplugin/latex-box/latexmk.vim b/ftplugin/latex-box/latexmk.vim index 4b02d248..7cd8ac7d 100644 --- a/ftplugin/latex-box/latexmk.vim +++ b/ftplugin/latex-box/latexmk.vim @@ -141,7 +141,7 @@ endfunction function! LatexBox_Latexmk(force) " Define often used names - let basepath = LatexBox_GetTexBasename(1) + let basepath = LatexBox_GetBuildBasename(1) let basename = fnamemodify(basepath, ':t') let texroot = shellescape(LatexBox_GetTexRoot()) let mainfile = fnameescape(fnamemodify(LatexBox_GetMainTexFile(), ':t')) @@ -369,7 +369,7 @@ function! LatexBox_LatexmkClean(cleanall) return endif - let basename = LatexBox_GetTexBasename(1) + let basename = LatexBox_GetBuildBasename(1) if has_key(g:latexmk_running_pids, basename) echomsg "don't clean when latexmk is running" @@ -502,7 +502,7 @@ function! LatexBox_LatexmkStatus(detailed) echo "latexmk is running (" . plist . ")" endif else - let basename = LatexBox_GetTexBasename(1) + let basename = LatexBox_GetBuildBasename(1) if has_key(g:latexmk_running_pids, basename) echo "latexmk is running" else @@ -516,12 +516,12 @@ endfunction function! LatexBox_LatexmkStop(silent) if empty(g:latexmk_running_pids) if !a:silent - let basepath = LatexBox_GetTexBasename(1) + let basepath = LatexBox_GetBuildBasename(1) let basename = fnamemodify(basepath, ':t') echoerr "latexmk is not running for `" . basename . "'" endif else - let basepath = LatexBox_GetTexBasename(1) + let basepath = LatexBox_GetBuildBasename(1) let basename = fnamemodify(basepath, ':t') if has_key(g:latexmk_running_pids, basepath) call s:kill_latexmk_process(g:latexmk_running_pids[basepath]) diff --git a/syntax/elixir.vim b/syntax/elixir.vim index 4e1711b0..b481db9f 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -15,11 +15,20 @@ syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@el syn match elixirComment '#.*' contains=elixirTodo syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained -syn keyword elixirKeyword is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_map is_number is_pid is_port is_record is_reference is_tuple is_exception syn keyword elixirKeyword case when cond for if unless try receive send syn keyword elixirKeyword exit raise throw after rescue catch else do end syn keyword elixirKeyword quote unquote super +" Functions used on guards +syn keyword elixirKeyword contained is_atom is_binary is_bitstring is_boolean +syn keyword elixirKeyword contained is_float is_function is_integer is_list +syn keyword elixirKeyword contained is_map is_number is_pid is_port is_record +syn keyword elixirKeyword contained is_reference is_tuple is_exception abs +syn keyword elixirKeyword contained bit_size byte_size div elem hd length +syn keyword elixirKeyword contained map_size node rem round tl trunc tuple_size + +syn match elixirGuard '.*when.*' contains=ALLBUT,@elixirNotTop + syn keyword elixirInclude import require alias use syn keyword elixirSelf self diff --git a/syntax/html.vim b/syntax/html.vim index 4e7c7c8e..95aeb39e 100644 --- a/syntax/html.vim +++ b/syntax/html.vim @@ -43,7 +43,7 @@ syn keyword htmlTagName contained missing-glyph mpath syn keyword htmlTagName contained text textPath tref tspan vkern " Custom Element -syn match htmlTagName contained "\<[a-z_]\+\(\-[a-z_]\+\)\+\>" +syn match htmlTagName contained "\<[a-z_]\([a-z0-9_.]\+\)\?\(\-[a-z0-9_.]\+\)\+\>" " HTML 5 arguments " Core Attributes diff --git a/syntax/perl6.vim b/syntax/perl6.vim index 1d6608d7..78c12cda 100644 --- a/syntax/perl6.vim +++ b/syntax/perl6.vim @@ -52,7 +52,7 @@ set cpo&vim " @@IDENTIFIER@@ "\%(@@IDENT_NONDIGIT@@\%(@@IDENT_CHAR@@\|[-']@@IDENT_NONDIGIT@@\@=\)*\)" " @@IDENTIFIER_START@@ "@@IDENT_CHAR@@\@1<!\%(@@IDENT_NONDIGIT@@[-']\)\@2<!" " @@IDENTIFIER_END@@ "\%(@@IDENT_CHAR@@\|[-']@@IDENT_NONDIGIT@@\)\@!" -" @@METAOP@@ #\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+# +" @@METAOP@@ #\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+# " @@ADVERBS@@ "\%(\_s*:!\?@@IDENTIFIER@@\%(([^)]*)\)\?\)*" " " Same but escaped, for use in string eval @@ -67,7 +67,7 @@ syn match p6Identifier display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[ let s:keywords = { \ "p6DeclareRoutine": [ - \ "macro sub submethod method multi proto only category", + \ "macro sub submethod method multi proto only category unit", \ ], \ "p6Module": [ \ "module class role package enum grammar slang subset", @@ -182,7 +182,7 @@ syn match p6Operator display "\%(\s\|^\)\@1<=\%(xx=\|p5=>\)" syn match p6Operator display "\%(&\.(\@=\|@\.\[\@=\|%\.{\@=\)" " Reduce metaoperators like [+] -syn match p6ReduceOp display "\%(^\|\s\|(\)\@1<=!*\%([RSXZ\[]\)*[&RSXZ]\?\[\+(\?\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+)\?]\+" +syn match p6ReduceOp display "\%(^\|\s\|(\)\@1<=!*\%([RSXZ\[]\)*[&RSXZ]\?\[\+(\?\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+)\?]\+" syn match p6SetOp display "R\?(\%([-^.+|&]\|[<>][=+]\?\|cont\|elem\))" " Reverse, cross, and zip metaoperators @@ -422,10 +422,10 @@ syn region p6InnerFrench " them, but before other types of strings, to avoid matching those delimiters " as parts of hyperops. syn match p6HyperOp display #[^[:digit:][{('",:[:space:]][^[{('",:[:space:]]*\%(«\|<<\)# -syn match p6HyperOp display "«\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+[«»]" -syn match p6HyperOp display "»\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+\%(«\|»\?\)" -syn match p6HyperOp display "<<\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+\%(<<\|>>\)" -syn match p6HyperOp display ">>\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".([:space:]]\)\+\%(<<\|\%(>>\)\?\)" +syn match p6HyperOp display "«\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+[«»]" +syn match p6HyperOp display "»\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(«\|»\?\)" +syn match p6HyperOp display "<<\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(<<\|>>\)" +syn match p6HyperOp display ">>\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(<<\|\%(>>\)\?\)" " 'string' syn region p6StringSQ @@ -998,7 +998,7 @@ endif syn match p6Attention display "\<\%(ACHTUNG\|ATTN\|ATTENTION\|FIXME\|NB\|TODO\|TBD\|WTF\|XXX\|NOTE\)" contained " normal end-of-line comment -syn match p6Comment display "#`\@!.*" contains=p6Attention +syn match p6Comment display "#.*" contains=p6Attention " Multiline comments. Arbitrary numbers of opening brackets are allowed, " but we only define regions for 1 to 3 diff --git a/syntax/typescript.vim b/syntax/typescript.vim index 62e6d808..2e9c0b46 100644 --- a/syntax/typescript.vim +++ b/syntax/typescript.vim @@ -202,7 +202,6 @@ syn match typescriptLogicSymbols "\(&&\)\|\(||\)" " typescriptFold Function {{{ " function! typescriptFold() -setl foldlevelstart=1 syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend setl foldtext=FoldText() |