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
|
||||
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=++
|
||||
\ contains=jsxElement
|
||||
|
||||
|
||||
@@ -398,10 +398,19 @@ function! s:RmDir(path)
|
||||
echoerr 'Attempted to delete empty path'
|
||||
return 0
|
||||
elseif a:path ==# '/' || a:path ==# $HOME
|
||||
let l:path = expand(a:path)
|
||||
if l:path ==# '/' || l:path ==# $HOME
|
||||
echoerr 'Attempted to delete protected path: ' . a:path
|
||||
return 0
|
||||
endif
|
||||
return system("rm -rf " . shellescape(a:path))
|
||||
endif
|
||||
|
||||
if !isdirectory(a:path)
|
||||
return 0
|
||||
endif
|
||||
|
||||
" delete() returns 0 when removing file successfully
|
||||
return delete(a:path, 'rf') == 0
|
||||
endfunction
|
||||
|
||||
" 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
|
||||
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
|
||||
endif
|
||||
let s:checked_ctags = 1
|
||||
|
||||
@@ -112,7 +112,7 @@ function! s:DeleteLines(start, end) abort
|
||||
silent! execute a:start . ',' . a:end . 'delete _'
|
||||
endfunction
|
||||
|
||||
function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
function! s:RunRustfmt(command, tmpname, from_writepre)
|
||||
mkview!
|
||||
|
||||
let l:stderr_tmpname = tempname()
|
||||
@@ -149,8 +149,10 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
|
||||
let l:open_lwindow = 0
|
||||
if v:shell_error == 0
|
||||
if a:from_writepre
|
||||
" remove undo point caused via BufWritePre
|
||||
try | silent undojoin | catch | endtry
|
||||
endif
|
||||
|
||||
if a:tmpname ==# ''
|
||||
let l:content = l:out
|
||||
@@ -170,7 +172,7 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
call setloclist(0, [])
|
||||
let l:open_lwindow = 1
|
||||
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
|
||||
let l:errors = []
|
||||
|
||||
@@ -224,12 +226,12 @@ function! rustfmt#FormatRange(line1, line2)
|
||||
let l:tmpname = tempname()
|
||||
call writefile(getline(1, '$'), l:tmpname)
|
||||
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)
|
||||
endfunction
|
||||
|
||||
function! rustfmt#Format()
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', 0)
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', v:false)
|
||||
endfunction
|
||||
|
||||
function! rustfmt#Cmd()
|
||||
@@ -257,7 +259,7 @@ function! rustfmt#PreWrite()
|
||||
return
|
||||
endif
|
||||
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', 1)
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', v:true)
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@ function! terraform#align()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! terraform#commands(A, L, P)
|
||||
return [
|
||||
function! terraform#commands(ArgLead, CmdLine, CursorPos)
|
||||
let l:commands = [
|
||||
\ 'apply',
|
||||
\ 'console',
|
||||
\ 'destroy',
|
||||
@@ -58,6 +58,7 @@ function! terraform#commands(A, L, P)
|
||||
\ 'push',
|
||||
\ 'state'
|
||||
\ ]
|
||||
return join(l:commands, "\n")
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
@@ -10,6 +10,9 @@ let b:did_ftplugin = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
|
||||
|
||||
@@ -37,10 +37,10 @@ endif
|
||||
|
||||
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_words = 'loop,group,alt,note,legend'
|
||||
let b:endwise_pattern = '^\s*\zs\<\(loop\|group\|alt\|note\ze[^:]*$\|legend\)\>.*$'
|
||||
let b:endwise_syngroups = 'plantumlKeyword'
|
||||
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,startdot,startmindmap,startuml,startsalt,startwbs'
|
||||
let b:endwise_pattern = '^\s*\zs\(loop\|group\|alt\|note\ze[^:]*$\|legend\|@start\zs\(dot\|mindmap\|uml\|salt\|wbs\)\)\>.*$'
|
||||
let b:endwise_syngroups = 'plantumlKeyword,plantumlPreProc'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -47,7 +47,7 @@ endif
|
||||
let s:cpo_save = &cpoptions
|
||||
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()
|
||||
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ endfunction
|
||||
set path+=./node_modules/**,node_modules/**
|
||||
set include=import\_s.\\zs[^'\"]*\\ze
|
||||
set includeexpr=TsIncludeExpr(v:fname)
|
||||
set suffixesadd=.ts
|
||||
set suffixesadd+=.ts
|
||||
|
||||
"
|
||||
" TagBar
|
||||
|
||||
@@ -77,7 +77,7 @@ endfunction
|
||||
function! s:getIncIndent() abort
|
||||
" Function to determine the s:incIndent pattern
|
||||
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*ref\>[^:]*$\|' .
|
||||
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .
|
||||
|
||||
@@ -290,7 +290,7 @@ if !exists('g:crystal_no_special_methods')
|
||||
syn match crystalInclude "\<include\>[?!]\@!" display
|
||||
syn keyword crystalInclude extend require
|
||||
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
|
||||
syn match crystalRecord "\<record\>[?!]\@!" display
|
||||
syn match crystalRecord "\<record\%(\s\+\u\w*\)\@=" display
|
||||
endif
|
||||
|
||||
" Macro
|
||||
|
||||
@@ -20,7 +20,7 @@ let b:current_syntax = 'plantuml'
|
||||
|
||||
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
|
||||
|
||||
" type
|
||||
@@ -34,12 +34,16 @@ syntax keyword plantumlClassKeyword class interface
|
||||
" Exclude 'top to bottom direction'
|
||||
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 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 page par partition ref repeat return right rnote rotate show skin skinparam
|
||||
syntax keyword plantumlKeyword start stop title top up while
|
||||
" Not in 'java - jar plantuml.jar - language' output
|
||||
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 match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
|
||||
@@ -136,6 +140,7 @@ syntax region plantumlText oneline matchgroup=plantumlSequenceDelay start=/^\.\{
|
||||
" Usecase diagram
|
||||
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
|
||||
|
||||
|
||||
" Mindmap diagram
|
||||
let s:mindmapHilightLinks = [
|
||||
\ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
|
||||
@@ -143,18 +148,20 @@ let s:mindmapHilightLinks = [
|
||||
\ 'Function', 'Todo'
|
||||
\ ]
|
||||
|
||||
syntax match plantumlMindmap1 /^[-+*][_<>]\?/ contained
|
||||
|
||||
let i = 1
|
||||
let contained = []
|
||||
while i < len(s:mindmapHilightLinks)
|
||||
execute "syntax match plantumlMindmap" . i . " /^\\%(\\s\\|[-+*]\\)\\{" . (i - 1) . "}[-+*][_<>]\\?/ contained"
|
||||
execute "highlight default link plantumlMindmap" . i . " " . s:mindmapHilightLinks[i - 1]
|
||||
call add(contained, "plantumlMindmap" . i)
|
||||
execute 'syntax match plantumlMindmap' . i . ' /^\([-+*]\)\1\{' . (i - 1) . '}_\?\s\+/ contained'
|
||||
execute 'syntax match plantumlMindmap' . i . ' /^\s\{' . (i - 1) . '}\*_\?\s\+/ contained'
|
||||
execute 'highlight default link plantumlMindmap' . i . ' ' . s:mindmapHilightLinks[i - 1]
|
||||
call add(contained, 'plantumlMindmap' . i)
|
||||
let i = i + 1
|
||||
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
|
||||
syntax case ignore
|
||||
|
||||
@@ -36,7 +36,7 @@ syn match rustAssert "\<assert\(\w\)*!" contained
|
||||
syn match rustPanic "\<panic\(\w\)*!" contained
|
||||
syn match rustAsync "\<async\%(\s\|\n\)\@="
|
||||
syn keyword rustKeyword break
|
||||
syn keyword rustKeyword box nextgroup=rustBoxPlacement skipwhite skipempty
|
||||
syn keyword rustKeyword box
|
||||
syn keyword rustKeyword continue
|
||||
syn keyword rustKeyword crate
|
||||
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 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 match rustMacroRepeatCount ".\?[*+]" contained
|
||||
syn match rustMacroVariable "$\w\+"
|
||||
@@ -154,9 +146,9 @@ syn match rustEscapeError display contained /\\./
|
||||
syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/
|
||||
syn match rustEscapeUnicode display contained /\\u{\%(\x_*\)\{1,6}}/
|
||||
syn match rustStringContinuation display contained /\\\n\s*/
|
||||
syn region rustString start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation
|
||||
syn region rustString 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"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation
|
||||
syn region rustString matchgroup=rustStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell
|
||||
syn region rustString matchgroup=rustStringDelimiter start='b\?r\z(#*\)"' end='"\z1' contains=@Spell
|
||||
|
||||
" Match attributes with either arbitrary syntax or special highlighting for
|
||||
" 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 rustStringContinuation Special
|
||||
hi def link rustString String
|
||||
hi def link rustStringDelimiter String
|
||||
hi def link rustCharacterInvalid Error
|
||||
hi def link rustCharacterInvalidUnicode rustCharacterInvalid
|
||||
hi def link rustCharacter Character
|
||||
@@ -352,7 +345,6 @@ hi def link rustLifetime Special
|
||||
hi def link rustLabel Label
|
||||
hi def link rustExternCrate rustKeyword
|
||||
hi def link rustObsoleteExternMod Error
|
||||
hi def link rustBoxPlacementParens Delimiter
|
||||
hi def link rustQuestionMark Special
|
||||
hi def link rustAsync 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
|
||||
"
|
||||
" 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),
|
||||
" then you're all set.
|
||||
" is tested against it exclusively). If you're using vim-polyglot, then you're
|
||||
" all set.
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -26,13 +26,14 @@ syntax match htmlTagName contained "\<[a-zA-Z:\.]*\>"
|
||||
" "bind:something", etc.
|
||||
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.
|
||||
syntax keyword svelteKeyword slot contained containedin=htmlTag
|
||||
|
||||
" 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
|
||||
"
|
||||
" 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
|
||||
|
||||
" Block conditionals.
|
||||
|
||||
Reference in New Issue
Block a user