summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--after/syntax/cpp.vim1
-rw-r--r--ftdetect/polyglot.vim2
-rw-r--r--ftplugin/latex-box/common.vim26
-rw-r--r--ftplugin/latex-box/complete.vim2
-rw-r--r--ftplugin/latex-box/latexmk.vim10
-rw-r--r--syntax/elixir.vim11
-rw-r--r--syntax/html.vim2
-rw-r--r--syntax/perl6.vim16
-rw-r--r--syntax/typescript.vim1
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()