mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-10 12:33:51 -05:00
Update
This commit is contained in:
@@ -38,7 +38,7 @@ syntax region jsxElement
|
|||||||
|
|
||||||
" detect jsx region
|
" detect jsx region
|
||||||
syntax region jsxRegion
|
syntax region jsxRegion
|
||||||
\ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
|
\ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?,]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
|
||||||
\ end=++
|
\ end=++
|
||||||
\ contains=jsxElement
|
\ contains=jsxElement
|
||||||
|
|
||||||
|
|||||||
@@ -398,10 +398,19 @@ function! s:RmDir(path)
|
|||||||
echoerr 'Attempted to delete empty path'
|
echoerr 'Attempted to delete empty path'
|
||||||
return 0
|
return 0
|
||||||
elseif a:path ==# '/' || a:path ==# $HOME
|
elseif a:path ==# '/' || a:path ==# $HOME
|
||||||
echoerr 'Attempted to delete protected path: ' . a:path
|
let l:path = expand(a:path)
|
||||||
|
if l:path ==# '/' || l:path ==# $HOME
|
||||||
|
echoerr 'Attempted to delete protected path: ' . a:path
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !isdirectory(a:path)
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
return system("rm -rf " . shellescape(a:path))
|
|
||||||
|
" delete() returns 0 when removing file successfully
|
||||||
|
return delete(a:path, 'rf') == 0
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd.
|
" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd.
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ let s:checked_ctags = 0
|
|||||||
|
|
||||||
function! rust#tags#IsUCtags() abort
|
function! rust#tags#IsUCtags() abort
|
||||||
if s:checked_ctags == 0
|
if s:checked_ctags == 0
|
||||||
if system('ctags --version') =~? 'universal ctags'
|
let l:ctags_bin = get(g:, 'tagbar_ctags_bin', 'ctags')
|
||||||
|
if system(l:ctags_bin.' --version') =~? 'universal ctags'
|
||||||
let s:ctags_is_uctags = 1
|
let s:ctags_is_uctags = 1
|
||||||
endif
|
endif
|
||||||
let s:checked_ctags = 1
|
let s:checked_ctags = 1
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ function! s:DeleteLines(start, end) abort
|
|||||||
silent! execute a:start . ',' . a:end . 'delete _'
|
silent! execute a:start . ',' . a:end . 'delete _'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:RunRustfmt(command, tmpname, fail_silently)
|
function! s:RunRustfmt(command, tmpname, from_writepre)
|
||||||
mkview!
|
mkview!
|
||||||
|
|
||||||
let l:stderr_tmpname = tempname()
|
let l:stderr_tmpname = tempname()
|
||||||
@@ -149,8 +149,10 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
|||||||
|
|
||||||
let l:open_lwindow = 0
|
let l:open_lwindow = 0
|
||||||
if v:shell_error == 0
|
if v:shell_error == 0
|
||||||
" remove undo point caused via BufWritePre
|
if a:from_writepre
|
||||||
try | silent undojoin | catch | endtry
|
" remove undo point caused via BufWritePre
|
||||||
|
try | silent undojoin | catch | endtry
|
||||||
|
endif
|
||||||
|
|
||||||
if a:tmpname ==# ''
|
if a:tmpname ==# ''
|
||||||
let l:content = l:out
|
let l:content = l:out
|
||||||
@@ -170,7 +172,7 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
|||||||
call setloclist(0, [])
|
call setloclist(0, [])
|
||||||
let l:open_lwindow = 1
|
let l:open_lwindow = 1
|
||||||
endif
|
endif
|
||||||
elseif g:rustfmt_fail_silently == 0 && a:fail_silently == 0
|
elseif g:rustfmt_fail_silently == 0 && !a:from_writepre
|
||||||
" otherwise get the errors and put them in the location list
|
" otherwise get the errors and put them in the location list
|
||||||
let l:errors = []
|
let l:errors = []
|
||||||
|
|
||||||
@@ -224,12 +226,12 @@ function! rustfmt#FormatRange(line1, line2)
|
|||||||
let l:tmpname = tempname()
|
let l:tmpname = tempname()
|
||||||
call writefile(getline(1, '$'), l:tmpname)
|
call writefile(getline(1, '$'), l:tmpname)
|
||||||
let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2)
|
let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2)
|
||||||
call s:RunRustfmt(command, l:tmpname, 0)
|
call s:RunRustfmt(command, l:tmpname, v:false)
|
||||||
call delete(l:tmpname)
|
call delete(l:tmpname)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! rustfmt#Format()
|
function! rustfmt#Format()
|
||||||
call s:RunRustfmt(s:RustfmtCommand(), '', 0)
|
call s:RunRustfmt(s:RustfmtCommand(), '', v:false)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! rustfmt#Cmd()
|
function! rustfmt#Cmd()
|
||||||
@@ -257,7 +259,7 @@ function! rustfmt#PreWrite()
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call s:RunRustfmt(s:RustfmtCommand(), '', 1)
|
call s:RunRustfmt(s:RustfmtCommand(), '', v:true)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,33 +31,34 @@ function! terraform#align()
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! terraform#commands(A, L, P)
|
function! terraform#commands(ArgLead, CmdLine, CursorPos)
|
||||||
return [
|
let l:commands = [
|
||||||
\ 'apply',
|
\ 'apply',
|
||||||
\ 'console',
|
\ 'console',
|
||||||
\ 'destroy',
|
\ 'destroy',
|
||||||
\ 'env',
|
\ 'env',
|
||||||
\ 'fmt',
|
\ 'fmt',
|
||||||
\ 'get',
|
\ 'get',
|
||||||
\ 'graph',
|
\ 'graph',
|
||||||
\ 'import',
|
\ 'import',
|
||||||
\ 'init',
|
\ 'init',
|
||||||
\ 'output',
|
\ 'output',
|
||||||
\ 'plan',
|
\ 'plan',
|
||||||
\ 'providers',
|
\ 'providers',
|
||||||
\ 'refresh',
|
\ 'refresh',
|
||||||
\ 'show',
|
\ 'show',
|
||||||
\ 'taint',
|
\ 'taint',
|
||||||
\ 'untaint',
|
\ 'untaint',
|
||||||
\ 'validate',
|
\ 'validate',
|
||||||
\ 'version',
|
\ 'version',
|
||||||
\ 'workspace',
|
\ 'workspace',
|
||||||
\ '0.12upgrade',
|
\ '0.12upgrade',
|
||||||
\ 'debug',
|
\ 'debug',
|
||||||
\ 'force-unlock',
|
\ 'force-unlock',
|
||||||
\ 'push',
|
\ 'push',
|
||||||
\ 'state'
|
\ 'state'
|
||||||
\ ]
|
\ ]
|
||||||
|
return join(l:commands, "\n")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ let b:did_ftplugin = 1
|
|||||||
let s:keepcpo= &cpo
|
let s:keepcpo= &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
setlocal commentstring=#\ %s
|
||||||
|
setlocal comments=:#
|
||||||
|
|
||||||
setlocal shiftwidth=2
|
setlocal shiftwidth=2
|
||||||
setlocal softtabstop=2
|
setlocal softtabstop=2
|
||||||
|
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ endif
|
|||||||
|
|
||||||
setlocal comments=s1:/',mb:',ex:'/,:' commentstring=/'%s'/ formatoptions-=t formatoptions+=croql
|
setlocal comments=s1:/',mb:',ex:'/,:' commentstring=/'%s'/ formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
let b:endwise_addition = '\=index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
|
let b:endwise_addition = '\=index(["dot","mindmap","uml","salt","wbs"], submatch(0))!=-1 ? "@end" . submatch(0) : index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
|
||||||
let b:endwise_words = 'loop,group,alt,note,legend'
|
let b:endwise_words = 'loop,group,alt,note,legend,startdot,startmindmap,startuml,startsalt,startwbs'
|
||||||
let b:endwise_pattern = '^\s*\zs\<\(loop\|group\|alt\|note\ze[^:]*$\|legend\)\>.*$'
|
let b:endwise_pattern = '^\s*\zs\(loop\|group\|alt\|note\ze[^:]*$\|legend\|@start\zs\(dot\|mindmap\|uml\|salt\|wbs\)\)\>.*$'
|
||||||
let b:endwise_syngroups = 'plantumlKeyword'
|
let b:endwise_syngroups = 'plantumlKeyword,plantumlPreProc'
|
||||||
|
|
||||||
let &cpoptions = s:cpo_save
|
let &cpoptions = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ endif
|
|||||||
let s:cpo_save = &cpoptions
|
let s:cpo_save = &cpoptions
|
||||||
set cpoptions&vim
|
set cpoptions&vim
|
||||||
|
|
||||||
command! -nargs=+ -complete=customlist,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
|
command! -nargs=+ -complete=custom,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
|
||||||
command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
|
command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
|
||||||
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'
|
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ endfunction
|
|||||||
set path+=./node_modules/**,node_modules/**
|
set path+=./node_modules/**,node_modules/**
|
||||||
set include=import\_s.\\zs[^'\"]*\\ze
|
set include=import\_s.\\zs[^'\"]*\\ze
|
||||||
set includeexpr=TsIncludeExpr(v:fname)
|
set includeexpr=TsIncludeExpr(v:fname)
|
||||||
set suffixesadd=.ts
|
set suffixesadd+=.ts
|
||||||
|
|
||||||
"
|
"
|
||||||
" TagBar
|
" TagBar
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ endfunction
|
|||||||
function! s:getIncIndent() abort
|
function! s:getIncIndent() abort
|
||||||
" Function to determine the s:incIndent pattern
|
" Function to determine the s:incIndent pattern
|
||||||
return
|
return
|
||||||
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\)\>.*{\s*$\|' .
|
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\|package\)\>.*{\s*$\|' .
|
||||||
\ '^\s*\%(loop\|alt\|opt\|group\|critical\|else\|legend\|box\|if\|while\|fork\|split\)\>\|' .
|
\ '^\s*\%(loop\|alt\|opt\|group\|critical\|else\|legend\|box\|if\|while\|fork\|split\)\>\|' .
|
||||||
\ '^\s*ref\>[^:]*$\|' .
|
\ '^\s*ref\>[^:]*$\|' .
|
||||||
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .
|
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ if !exists('g:crystal_no_special_methods')
|
|||||||
syn match crystalInclude "\<include\>[?!]\@!" display
|
syn match crystalInclude "\<include\>[?!]\@!" display
|
||||||
syn keyword crystalInclude extend require
|
syn keyword crystalInclude extend require
|
||||||
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
|
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
|
||||||
syn match crystalRecord "\<record\>[?!]\@!" display
|
syn match crystalRecord "\<record\%(\s\+\u\w*\)\@=" display
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Macro
|
" Macro
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ let b:current_syntax = 'plantuml'
|
|||||||
|
|
||||||
syntax sync minlines=100
|
syntax sync minlines=100
|
||||||
|
|
||||||
syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\)\s*.*/ contains=plantumlDir
|
syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\|gantt\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\|gantt\)\s*.*/ contains=plantumlDir
|
||||||
syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained
|
syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained
|
||||||
|
|
||||||
" type
|
" type
|
||||||
@@ -34,12 +34,16 @@ syntax keyword plantumlClassKeyword class interface
|
|||||||
" Exclude 'top to bottom direction'
|
" Exclude 'top to bottom direction'
|
||||||
syntax keyword plantumlKeyword accross activate again allow_mixing allowmixing also alt as autonumber bottom
|
syntax keyword plantumlKeyword accross activate again allow_mixing allowmixing also alt as autonumber bottom
|
||||||
syntax keyword plantumlKeyword box break caption center create critical deactivate destroy down else elseif end
|
syntax keyword plantumlKeyword box break caption center create critical deactivate destroy down else elseif end
|
||||||
syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left
|
syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left in at are to the and
|
||||||
syntax keyword plantumlKeyword legend link loop mainframe namespace newpage note of on opt order over package
|
syntax keyword plantumlKeyword legend link loop mainframe namespace newpage note of on opt order over package
|
||||||
syntax keyword plantumlKeyword page par partition ref repeat return right rnote rotate show skin skinparam
|
syntax keyword plantumlKeyword page par partition ref repeat return right rnote rotate show skin skinparam
|
||||||
syntax keyword plantumlKeyword start stop title top up while
|
syntax keyword plantumlKeyword start stop title top up while
|
||||||
" Not in 'java - jar plantuml.jar - language' output
|
" Not in 'java - jar plantuml.jar - language' output
|
||||||
syntax keyword plantumlKeyword then detach split sprite
|
syntax keyword plantumlKeyword then detach split sprite
|
||||||
|
" gantt
|
||||||
|
syntax keyword plantumlTypeKeyword project monday tuesday wednesday thursday friday saturday sunday
|
||||||
|
syntax keyword plantumlKeyword starts ends start end closed day after colored lasts happens
|
||||||
|
|
||||||
|
|
||||||
syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained
|
syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained
|
||||||
syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
|
syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
|
||||||
@@ -136,6 +140,7 @@ syntax region plantumlText oneline matchgroup=plantumlSequenceDelay start=/^\.\{
|
|||||||
" Usecase diagram
|
" Usecase diagram
|
||||||
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
|
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
|
||||||
|
|
||||||
|
|
||||||
" Mindmap diagram
|
" Mindmap diagram
|
||||||
let s:mindmapHilightLinks = [
|
let s:mindmapHilightLinks = [
|
||||||
\ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
|
\ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
|
||||||
@@ -143,18 +148,20 @@ let s:mindmapHilightLinks = [
|
|||||||
\ 'Function', 'Todo'
|
\ 'Function', 'Todo'
|
||||||
\ ]
|
\ ]
|
||||||
|
|
||||||
syntax match plantumlMindmap1 /^[-+*][_<>]\?/ contained
|
|
||||||
|
|
||||||
let i = 1
|
let i = 1
|
||||||
let contained = []
|
let contained = []
|
||||||
while i < len(s:mindmapHilightLinks)
|
while i < len(s:mindmapHilightLinks)
|
||||||
execute "syntax match plantumlMindmap" . i . " /^\\%(\\s\\|[-+*]\\)\\{" . (i - 1) . "}[-+*][_<>]\\?/ contained"
|
execute 'syntax match plantumlMindmap' . i . ' /^\([-+*]\)\1\{' . (i - 1) . '}_\?\s\+/ contained'
|
||||||
execute "highlight default link plantumlMindmap" . i . " " . s:mindmapHilightLinks[i - 1]
|
execute 'syntax match plantumlMindmap' . i . ' /^\s\{' . (i - 1) . '}\*_\?\s\+/ contained'
|
||||||
call add(contained, "plantumlMindmap" . i)
|
execute 'highlight default link plantumlMindmap' . i . ' ' . s:mindmapHilightLinks[i - 1]
|
||||||
|
call add(contained, 'plantumlMindmap' . i)
|
||||||
let i = i + 1
|
let i = i + 1
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
execute "syntax region plantumlMindmap oneline start=/^\\s*[-+*]_\\?/ end=/$/ contains=" . join(contained, ',')
|
execute 'syntax region plantumlMindmap oneline start=/^\([-+*]\)\1*_\?\s/ end=/$/ contains=' . join(contained, ',')
|
||||||
|
" Markdown syntax
|
||||||
|
execute 'syntax region plantumlMindmap oneline start=/^\s*\*_\?\s/ end=/$/ contains=' . join(contained, ',')
|
||||||
|
|
||||||
|
|
||||||
" Skinparam keywords
|
" Skinparam keywords
|
||||||
syntax case ignore
|
syntax case ignore
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ syn match rustAssert "\<assert\(\w\)*!" contained
|
|||||||
syn match rustPanic "\<panic\(\w\)*!" contained
|
syn match rustPanic "\<panic\(\w\)*!" contained
|
||||||
syn match rustAsync "\<async\%(\s\|\n\)\@="
|
syn match rustAsync "\<async\%(\s\|\n\)\@="
|
||||||
syn keyword rustKeyword break
|
syn keyword rustKeyword break
|
||||||
syn keyword rustKeyword box nextgroup=rustBoxPlacement skipwhite skipempty
|
syn keyword rustKeyword box
|
||||||
syn keyword rustKeyword continue
|
syn keyword rustKeyword continue
|
||||||
syn keyword rustKeyword crate
|
syn keyword rustKeyword crate
|
||||||
syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite skipempty
|
syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite skipempty
|
||||||
@@ -68,14 +68,6 @@ syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipw
|
|||||||
syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
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 match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||||
|
|
||||||
syn region rustBoxPlacement matchgroup=rustBoxPlacementParens start="(" end=")" contains=TOP contained
|
|
||||||
" Ideally we'd have syntax rules set up to match arbitrary expressions. Since
|
|
||||||
" we don't, we'll just define temporary contained rules to handle balancing
|
|
||||||
" delimiters.
|
|
||||||
syn region rustBoxPlacementBalance start="(" end=")" containedin=rustBoxPlacement transparent
|
|
||||||
syn region rustBoxPlacementBalance start="\[" end="\]" containedin=rustBoxPlacement transparent
|
|
||||||
" {} are handled by rustFoldBraces
|
|
||||||
|
|
||||||
syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end=")" contains=TOP nextgroup=rustMacroRepeatCount
|
syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end=")" contains=TOP nextgroup=rustMacroRepeatCount
|
||||||
syn match rustMacroRepeatCount ".\?[*+]" contained
|
syn match rustMacroRepeatCount ".\?[*+]" contained
|
||||||
syn match rustMacroVariable "$\w\+"
|
syn match rustMacroVariable "$\w\+"
|
||||||
@@ -154,9 +146,9 @@ syn match rustEscapeError display contained /\\./
|
|||||||
syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/
|
syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/
|
||||||
syn match rustEscapeUnicode display contained /\\u{\%(\x_*\)\{1,6}}/
|
syn match rustEscapeUnicode display contained /\\u{\%(\x_*\)\{1,6}}/
|
||||||
syn match rustStringContinuation display contained /\\\n\s*/
|
syn match rustStringContinuation display contained /\\\n\s*/
|
||||||
syn region rustString start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation
|
syn region rustString matchgroup=rustStringDelimiter start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation
|
||||||
syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell
|
syn region rustString matchgroup=rustStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell
|
||||||
syn region rustString start='b\?r\z(#*\)"' end='"\z1' contains=@Spell
|
syn region rustString matchgroup=rustStringDelimiter start='b\?r\z(#*\)"' end='"\z1' contains=@Spell
|
||||||
|
|
||||||
" Match attributes with either arbitrary syntax or special highlighting for
|
" Match attributes with either arbitrary syntax or special highlighting for
|
||||||
" derives. We still highlight strings and comments inside of the attribute.
|
" derives. We still highlight strings and comments inside of the attribute.
|
||||||
@@ -296,6 +288,7 @@ hi def link rustEscapeUnicode rustEscape
|
|||||||
hi def link rustEscapeError Error
|
hi def link rustEscapeError Error
|
||||||
hi def link rustStringContinuation Special
|
hi def link rustStringContinuation Special
|
||||||
hi def link rustString String
|
hi def link rustString String
|
||||||
|
hi def link rustStringDelimiter String
|
||||||
hi def link rustCharacterInvalid Error
|
hi def link rustCharacterInvalid Error
|
||||||
hi def link rustCharacterInvalidUnicode rustCharacterInvalid
|
hi def link rustCharacterInvalidUnicode rustCharacterInvalid
|
||||||
hi def link rustCharacter Character
|
hi def link rustCharacter Character
|
||||||
@@ -352,7 +345,6 @@ hi def link rustLifetime Special
|
|||||||
hi def link rustLabel Label
|
hi def link rustLabel Label
|
||||||
hi def link rustExternCrate rustKeyword
|
hi def link rustExternCrate rustKeyword
|
||||||
hi def link rustObsoleteExternMod Error
|
hi def link rustObsoleteExternMod Error
|
||||||
hi def link rustBoxPlacementParens Delimiter
|
|
||||||
hi def link rustQuestionMark Special
|
hi def link rustQuestionMark Special
|
||||||
hi def link rustAsync rustKeyword
|
hi def link rustAsync rustKeyword
|
||||||
hi def link rustAwait rustKeyword
|
hi def link rustAwait rustKeyword
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'svelte') == -1
|
|||||||
" URL: https://github.com/evanleck/vim-svelte
|
" URL: https://github.com/evanleck/vim-svelte
|
||||||
"
|
"
|
||||||
" Like vim-jsx, this depends on the pangloss/vim-javascript syntax package (and
|
" Like vim-jsx, this depends on the pangloss/vim-javascript syntax package (and
|
||||||
" is tested against it exclusively). If you're using vim-polyglot (like I am),
|
" is tested against it exclusively). If you're using vim-polyglot, then you're
|
||||||
" then you're all set.
|
" all set.
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -26,13 +26,14 @@ syntax match htmlTagName contained "\<[a-zA-Z:\.]*\>"
|
|||||||
" "bind:something", etc.
|
" "bind:something", etc.
|
||||||
syntax match svelteKeyword "\<[a-z]\+:[a-zA-Z|]\+=" contained containedin=htmlTag
|
syntax match svelteKeyword "\<[a-z]\+:[a-zA-Z|]\+=" contained containedin=htmlTag
|
||||||
|
|
||||||
|
" Mixed-case attributes are likely props.
|
||||||
|
syntax match svelteKeyword "\<[a-z]\+:[a-zA-Z|]\+=" contained containedin=htmlTag
|
||||||
|
|
||||||
" The "slot" attribute has special meaning.
|
" The "slot" attribute has special meaning.
|
||||||
syntax keyword svelteKeyword slot contained containedin=htmlTag
|
syntax keyword svelteKeyword slot contained containedin=htmlTag
|
||||||
|
|
||||||
" According to vim-jsx, you can let jsBlock take care of ending the region.
|
" According to vim-jsx, you can let jsBlock take care of ending the region.
|
||||||
" https://github.com/mxw/vim-jsx/blob/master/after/syntax/jsx.vim
|
" https://github.com/mxw/vim-jsx/blob/master/after/syntax/jsx.vim
|
||||||
"
|
|
||||||
" ALLBUT,htmlSpecialTagName keeps Vim from marking CSS regions as jsBlock.
|
|
||||||
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 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
|
||||||
|
|
||||||
" Block conditionals.
|
" Block conditionals.
|
||||||
|
|||||||
Reference in New Issue
Block a user