summaryrefslogtreecommitdiffstats
path: root/autoload
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-09-04 15:44:43 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2019-09-04 15:44:43 +0200
commit664aa988f6d9cdb7b75218666fbe348c85ef8b29 (patch)
tree306173199576430e6133a1ed137bd80bbc2fb01b /autoload
parent3ddca5da461ebfaa82104f82e3cbf19d1c326ade (diff)
downloadvim-polyglot-664aa988f6d9cdb7b75218666fbe348c85ef8b29.tar.gz
vim-polyglot-664aa988f6d9cdb7b75218666fbe348c85ef8b29.zip
Update
Diffstat (limited to 'autoload')
-rw-r--r--autoload/go/config.vim10
-rw-r--r--autoload/jsx_pretty/indent.vim6
-rw-r--r--autoload/jsx_pretty/syntax.vim218
-rw-r--r--autoload/rust.vim4
-rw-r--r--autoload/rust/debugging.vim6
-rw-r--r--autoload/rust/tags.vim21
-rw-r--r--autoload/rustfmt.vim7
-rw-r--r--autoload/terraform.vim53
8 files changed, 58 insertions, 267 deletions
diff --git a/autoload/go/config.vim b/autoload/go/config.vim
index 787c4e2a..e3f16179 100644
--- a/autoload/go/config.vim
+++ b/autoload/go/config.vim
@@ -25,10 +25,12 @@ endfunction
function! go#config#SetBuildTags(value) abort
if a:value is ''
silent! unlet g:go_build_tags
+ call go#lsp#ResetWorkspaceDirectories()
return
endif
let g:go_build_tags = a:value
+ call go#lsp#ResetWorkspaceDirectories()
endfunction
function! go#config#TestTimeout() abort
@@ -51,6 +53,14 @@ function! go#config#TermMode() abort
return get(g:, 'go_term_mode', 'vsplit')
endfunction
+function! go#config#TermCloseOnExit() abort
+ return get(g:, 'go_term_close_on_exit', 1)
+endfunction
+
+function! go#config#SetTermCloseOnExit(value) abort
+ let g:go_term_close_on_exit = a:value
+endfunction
+
function! go#config#TermEnabled() abort
return has('nvim') && get(g:, 'go_term_enabled', 0)
endfunction
diff --git a/autoload/jsx_pretty/indent.vim b/autoload/jsx_pretty/indent.vim
index 428c366d..22ede621 100644
--- a/autoload/jsx_pretty/indent.vim
+++ b/autoload/jsx_pretty/indent.vim
@@ -90,6 +90,9 @@ function! jsx_pretty#indent#get(js_indent)
else
return prev_ind + s:sw()
endif
+ elseif !s:syn_xmlish(prev_syn_sol) && !s:syn_js_comment(prev_syn_sol) && s:syn_jsx_attrib(current_syn)
+ " For #79
+ return prev_ind + s:sw()
" {
" <div></div>
" ##} <--
@@ -176,7 +179,8 @@ function! jsx_pretty#indent#get(js_indent)
return prev_ind + s:sw()
endif
endif
- elseif s:syn_jsx_escapejs(current_syn_eol)
+ elseif line =~ '^`' && s:syn_jsx_escapejs(current_syn_eol)
+ " For `} of template syntax
let pair_line = searchpair('{', '', '}', 'bW')
return indent(pair_line)
elseif line =~ '^/[/*]' " js comment in jsx tag
diff --git a/autoload/jsx_pretty/syntax.vim b/autoload/jsx_pretty/syntax.vim
deleted file mode 100644
index eac1f92a..00000000
--- a/autoload/jsx_pretty/syntax.vim
+++ /dev/null
@@ -1,218 +0,0 @@
-if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'jsx') != -1
- finish
-endif
-
-function! jsx_pretty#syntax#highlight()
-
- let s:highlight_close_tag = get(g:, 'vim_jsx_pretty_highlight_close_tag', 0)
-
- " <tag id="sample">
- " ~~~~~~~~~~~~~~~~~
- " and self close tag
- " <tag id="sample" />
- " ~~~~~~~~~~~~~~~~~~~
- syntax region jsxTag
- \ start=+<+
- \ matchgroup=jsxOpenPunct
- \ end=+>+
- \ matchgroup=NONE
- \ end=+\(/\_s*>\)\@=+
- \ contained
- \ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator
- \ keepend
- \ extend
-
- " <tag></tag>
- " ~~~~~~~~~~~
- " and fragment
- " <></>
- " ~~~~~
- " and self close tag
- " <tag />
- " ~~~~~~~
- syntax region jsxElement
- \ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+
- \ end=+/\_s*>+
- \ end=+<\_s*/\_s*\z1\_s*>+
- \ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell
- \ keepend
- \ extend
- \ contained
- \ fold
-
- " detect jsx region
- syntax region jsxRegion
- \ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
- \ end=++
- \ contains=jsxElement
-
- " <tag key={this.props.key}>
- " ~~~~~~~~~~~~~~~~
- syntax region jsxEscapeJs
- \ start=+{+
- \ end=++
- \ extend
- \ contained
- \ contains=jsBlock,javascriptBlock,javaScriptBlockBuildIn,typescriptBlock
-
- " <tag key={this.props.key}>
- " ~~~~
- " and fragment start tag
- " <>
- " ~~
- exe 'syntax region jsxOpenTag
- \ matchgroup=jsxOpenPunct
- \ start=+<+
- \ end=+>+
- \ matchgroup=NONE
- \ end=+\>+
- \ contained
- \ contains=jsxTagName
- \ nextgroup=jsxAttrib
- \ skipwhite
- \ skipempty ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <foo.bar>
- " ~
- syntax match jsxDot +\.+ contained display
-
- " <foo:bar>
- " ~
- syntax match jsxNamespace +:+ contained display
-
- " <tag id="sample">
- " ~
- syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite
-
- " <tag />
- " ~~
- syntax match jsxCloseString +/\_s*>+ contained
-
- " </tag>
- " ~~~~~~
- " and fragment close tag
- " </>
- " ~~~
- syntax region jsxCloseTag
- \ matchgroup=jsxClosePunct
- \ start=+<\_s*/+
- \ end=+>+
- \ contained
- \ contains=jsxTagName
-
- " <tag key={this.props.key}>
- " ~~~
- syntax match jsxAttrib
- \ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+
- \ contained
- \ nextgroup=jsxEqual
- \ skipwhite
- \ skipempty
- \ contains=jsxAttribKeyword
- \ display
-
- " <MyComponent ...>
- " ~~~~~~~~~~~
- " NOT
- " <someCamel ...>
- " ~~~~~
- exe 'syntax match jsxComponentName
- \ +\<[A-Z][\$0-9A-Za-z]\+\>+
- \ contained
- \ display ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <tag key={this.props.key}>
- " ~~~
- exe 'syntax match jsxTagName
- \ +\<[-:_\.\$0-9A-Za-z]\+\>+
- \ contained
- \ contains=jsxComponentName,jsxDot,jsxNamespace
- \ nextgroup=jsxAttrib
- \ skipempty
- \ skipwhite
- \ display ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <tag id="sample">
- " ~~~~~~~~
- " and
- " <tag id='sample'>
- " ~~~~~~~~
- syntax region jsxString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ contained contains=@Spell display
-
- let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'raw'])
- let s:enable_tagged_jsx = !empty(s:tags)
-
- " add support to JSX inside the tagged template string
- " https://github.com/developit/htm
- if s:enable_tagged_jsx
- exe 'syntax region jsxTaggedRegion
- \ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
- \ end=+`+me=e-1
- \ extend
- \ contained
- \ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
- \ contains=jsxElement'
-
- syntax region jsxEscapeJs
- \ start=+\${+
- \ end=++
- \ extend
- \ contained
- \ contains=jsTemplateExpression,javascriptTemplateSubstitution,javaScriptEmbed,typescriptInterpolation
-
- syntax region jsxOpenTag
- \ matchgroup=jsxOpenPunct
- \ start=+<\%(\${\)\@=+
- \ matchgroup=NONE
- \ end=++
- \ contained
- \ contains=jsxEscapeJs
- \ nextgroup=jsxAttrib,jsxSpreadOperator
- \ skipwhite
- \ skipempty
-
- syntax keyword jsxAttribKeyword class contained display
-
- syntax match jsxSpreadOperator +\.\.\.+ contained display nextgroup=jsxEscapeJs skipwhite
-
- syntax match jsxCloseTag +<//>+ display
-
- syntax match jsxComment +<!--\_.\{-}-->+ display
- endif
-
- " Highlight the tag name
- highlight def link jsxTag Function
- highlight def link jsxTagName Identifier
- highlight def link jsxComponentName Function
-
- highlight def link jsxAttrib Type
- highlight def link jsxAttribKeyword jsxAttrib
- highlight def link jsxEqual Operator
- highlight def link jsxString String
- highlight def link jsxDot Operator
- highlight def link jsxNamespace Operator
-
- " Highlight the jsxCloseString (i.e. />), jsxPunct (i.e. <,>) and jsxCloseTag (i.e. <//>)
- highlight def link jsxCloseString Comment
- highlight def link jsxPunct jsxCloseString
- highlight def link jsxOpenPunct jsxPunct
- highlight def link jsxClosePunct jsxPunct
- highlight def link jsxCloseTag jsxCloseString
-
- highlight def link jsxComment Comment
- highlight def link jsxSpreadOperator Operator
-
- if s:highlight_close_tag
- highlight! def link jsxOpenPunct jsxTag
- highlight! def link jsxCloseString Identifier
- endif
-
- let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
-
- if s:vim_jsx_pretty_colorful_config == 1
- highlight def link jsObjectKey Label
- highlight def link jsArrowFuncArgs Type
- highlight def link jsFuncArgs Type
- endif
-
-endfunction
diff --git a/autoload/rust.vim b/autoload/rust.vim
index c513f03f..7aff515b 100644
--- a/autoload/rust.vim
+++ b/autoload/rust.vim
@@ -509,7 +509,7 @@ function! rust#Test(all, options) abort
return rust#Run(1, '--test ' . a:options)
endif
- if exists(':terminal')
+ if has('terminal') || has('nvim')
let cmd = 'terminal '
else
let cmd = '!'
@@ -530,7 +530,7 @@ function! rust#Test(all, options) abort
let func_name = s:SearchTestFunctionNameUnderCursor()
if func_name ==# ''
echohl ErrorMsg
- echo 'No test function was found under the cursor. Please add ! to command if you want to run all tests'
+ echomsg 'No test function was found under the cursor. Please add ! to command if you want to run all tests'
echohl None
return
endif
diff --git a/autoload/rust/debugging.vim b/autoload/rust/debugging.vim
index caeef712..6392a024 100644
--- a/autoload/rust/debugging.vim
+++ b/autoload/rust/debugging.vim
@@ -5,6 +5,7 @@ endif
" For debugging, inspired by https://github.com/w0rp/rust/blob/master/autoload/rust/debugging.vim
let s:global_variable_list = [
+ \ '_rustfmt_autosave_because_of_config',
\ 'ftplugin_rust_source_path',
\ 'loaded_syntastic_rust_cargo_checker',
\ 'loaded_syntastic_rust_filetype',
@@ -32,7 +33,6 @@ let s:global_variable_list = [
\ 'rustc_makeprg_no_percent',
\ 'rustc_path',
\ 'rustfmt_autosave',
- \ 'rustfmt_autosave_because_of_config',
\ 'rustfmt_autosave_if_config_present',
\ 'rustfmt_command',
\ 'rustfmt_emit_files',
@@ -48,7 +48,9 @@ endfunction
function! s:EchoGlobalVariables() abort
for l:key in s:global_variable_list
- call s:Echo('let g:' . l:key . ' = ' . string(get(g:, l:key, v:null)))
+ if l:key !~# '^_'
+ call s:Echo('let g:' . l:key . ' = ' . string(get(g:, l:key, v:null)))
+ endif
if has_key(b:, l:key)
call s:Echo('let b:' . l:key . ' = ' . string(b:[l:key]))
diff --git a/autoload/rust/tags.vim b/autoload/rust/tags.vim
new file mode 100644
index 00000000..74e2f9f0
--- /dev/null
+++ b/autoload/rust/tags.vim
@@ -0,0 +1,21 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'rust') != -1
+ finish
+endif
+
+" Tagbar support code, for the sake of not automatically overriding its
+" configuration in case Universal Ctags is detected.
+
+let s:ctags_is_uctags = 0
+let s:checked_ctags = 0
+
+function! rust#tags#IsUCtags() abort
+ if s:checked_ctags == 0
+ if system('ctags --version') =~? 'universal ctags'
+ let s:ctags_is_uctags = 1
+ endif
+ let s:checked_ctags = 1
+ endif
+ return s:ctags_is_uctags
+endfunction
+
+" vim: set et sw=4 sts=4 ts=8:
diff --git a/autoload/rustfmt.vim b/autoload/rustfmt.vim
index 908eb325..f469ac13 100644
--- a/autoload/rustfmt.vim
+++ b/autoload/rustfmt.vim
@@ -246,7 +246,12 @@ function! rustfmt#PreWrite()
if rust#GetConfigVar('rustfmt_autosave_if_config_present', 0)
if findfile('rustfmt.toml', '.;') !=# '' || findfile('.rustfmt.toml', '.;') !=# ''
let b:rustfmt_autosave = 1
- let b:rustfmt_autosave_because_of_config = 1
+ let b:_rustfmt_autosave_because_of_config = 1
+ endif
+ else
+ if has_key(b:, '_rustfmt_autosave_because_of_config')
+ unlet b:_rustfmt_autosave_because_of_config
+ unlet b:rustfmt_autosave
endif
endif
diff --git a/autoload/terraform.vim b/autoload/terraform.vim
index db1e3934..8554022e 100644
--- a/autoload/terraform.vim
+++ b/autoload/terraform.vim
@@ -2,56 +2,23 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'terraform') != -
finish
endif
-" Adapted from vim-hclfmt:
-" https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim
function! terraform#fmt()
if !filereadable(expand('%:p'))
return
endif
let l:curw = winsaveview()
- let l:tmpfile = tempname() . '.tf'
- call writefile(getline(1, '$'), l:tmpfile)
- let output = system('terraform fmt -write ' . l:tmpfile)
- if v:shell_error == 0
- try | silent undojoin | catch | endtry
- call rename(l:tmpfile, resolve(expand('%')))
- silent edit!
- let &syntax = &syntax
- else
- echo output
- call delete(l:tmpfile)
+ " Make a fake change so that the undo point is right.
+ normal! ix
+ normal! "_x
+ silent execute '%!terraform fmt -no-color -'
+ if v:shell_error != 0
+ let output = getline(1, '$')
+ silent undo
+ echo join(output, "\n")
endif
call winrestview(l:curw)
endfunction
-function! terraform#folds()
- let thisline = getline(v:lnum)
- if match(thisline, '^resource') >= 0
- return '>1'
- elseif match(thisline, '^provider') >= 0
- return '>1'
- elseif match(thisline, '^module') >= 0
- return '>1'
- elseif match(thisline, '^variable') >= 0
- return '>1'
- elseif match(thisline, '^output') >= 0
- return '>1'
- elseif match(thisline, '^data') >= 0
- return '>1'
- elseif match(thisline, '^terraform') >= 0
- return '>1'
- elseif match(thisline, '^locals') >= 0
- return '>1'
- else
- return '='
- endif
-endfunction
-
-function! terraform#foldText()
- let foldsize = (v:foldend-v:foldstart)
- return getline(v:foldstart).' ('.foldsize.' lines)'
-endfunction
-
function! terraform#align()
let p = '^.*=[^>]*$'
if exists(':Tabularize') && getline('.') =~# '^.*=' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
@@ -77,7 +44,6 @@ function! terraform#commands(A, L, P)
\ 'output',
\ 'plan',
\ 'providers',
- \ 'push',
\ 'refresh',
\ 'show',
\ 'taint',
@@ -85,9 +51,10 @@ function! terraform#commands(A, L, P)
\ 'validate',
\ 'version',
\ 'workspace',
- \ '0.12checklist',
+ \ '0.12upgrade',
\ 'debug',
\ 'force-unlock',
+ \ 'push',
\ 'state'
\ ]
endfunction