diff options
| -rw-r--r-- | autoload/dart.vim | 52 | ||||
| -rw-r--r-- | autoload/go/config.vim | 4 | ||||
| -rw-r--r-- | ftdetect/polyglot.vim | 3 | ||||
| -rw-r--r-- | indent/nim.vim | 2 | ||||
| -rw-r--r-- | syntax/elixir.vim | 4 | ||||
| -rw-r--r-- | syntax/typescript.vim | 4 | 
6 files changed, 44 insertions, 25 deletions
| diff --git a/autoload/dart.vim b/autoload/dart.vim index f524e09d..82859463 100644 --- a/autoload/dart.vim +++ b/autoload/dart.vim @@ -9,22 +9,35 @@ function! s:error(text) abort    echohl None  endfunction -function! s:cexpr(errorformat, joined_lines) abort -  let temp_errorfomat = &errorformat -  try -    let &errorformat = a:errorformat -    cexpr a:joined_lines -    copen -  finally -    let &errorformat = temp_errorfomat -  endtry +function! s:cexpr(errorformat, lines, reason) abort +  call setqflist([], ' ', { +      \ 'lines': a:lines, +      \ 'efm': a:errorformat, +      \ 'context': {'reason': a:reason}, +      \}) +  copen +endfunction + +" If the quickfix list has a context matching [reason], clear and close it. +function! s:clearQfList(reason) abort +  let context = get(getqflist({'context': 1}), 'context', {}) +  if type(context) == v:t_dict && +      \ has_key(context, 'reason') && +      \ context.reason == a:reason +    call setqflist([], 'r') +    cclose +  endif  endfunction  function! dart#fmt(q_args) abort    if executable('dartfmt')      let buffer_content = join(getline(1, '$'), "\n") -    let joined_lines = system(printf('dartfmt %s', a:q_args), buffer_content) -    if buffer_content ==# joined_lines[:-2] | return | endif +    let args = '--stdin-name '.expand('%').' '.a:q_args +    let joined_lines = system(printf('dartfmt %s', args), buffer_content) +    if buffer_content ==# joined_lines[:-2] +      call s:clearQfList('dartfmt') +      return +    endif      if 0 == v:shell_error        let win_view = winsaveview()        let lines = split(joined_lines, "\n") @@ -33,12 +46,11 @@ function! dart#fmt(q_args) abort          silent keepjumps execute string(len(lines)+1).',$ delete'        endif        call winrestview(win_view) +      call s:clearQfList('dartfmt')      else        let errors = split(joined_lines, "\n")[2:] -      let file_path = expand('%') -      call map(errors, 'file_path.":".v:val') -      let error_format = '%A%f:line %l\, column %c of stdin: %m,%C%.%#' -      call s:cexpr(error_format, join(errors, "\n")) +      let error_format = '%Aline %l\, column %c of %f: %m,%C%.%#' +      call s:cexpr(error_format, errors, 'dartfmt')      endif    else      call s:error('cannot execute binary file: dartfmt') @@ -49,8 +61,9 @@ function! dart#analyzer(q_args) abort    if executable('dartanalyzer')      let path = expand('%:p:gs:\:/:')      if filereadable(path) -      let joined_lines = system(printf('dartanalyzer %s %s', a:q_args, shellescape(path))) -      call s:cexpr('%m (%f\, line %l\, col %c)', joined_lines) +      let command = printf('dartanalyzer %s %s', a:q_args, shellescape(path)) +      let lines = systemlist(command) +      call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dartanalyzer')      else        call s:error(printf('cannot read a file: "%s"', path))      endif @@ -63,8 +76,9 @@ function! dart#tojs(q_args) abort    if executable('dart2js')      let path = expand('%:p:gs:\:/:')      if filereadable(path) -      let joined_lines = system(printf('dart2js %s %s', a:q_args, shellescape(path))) -      call s:cexpr('%m (%f\, line %l\, col %c)', joined_lines) +      let command = printf('dart2js %s %s', a:q_args, shellescape(path)) +      let lines = systemlist(command) +      call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dart2js')      else        call s:error(printf('cannot read a file: "%s"', path))      endif diff --git a/autoload/go/config.vim b/autoload/go/config.vim index 4a9c149a..7f243d09 100644 --- a/autoload/go/config.vim +++ b/autoload/go/config.vim @@ -470,6 +470,10 @@ function! go#config#EchoGoInfo() abort    return get(g:, "go_echo_go_info", 1)  endfunction +function! go#config#CodeCompletionEnabled() abort +  return get(g:, "go_code_completion_enabled", 1) +endfunction +  " Set the default value. A value of "1" is a shortcut for this, for  " compatibility reasons.  if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1 diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index abe0d305..d8ab62c4 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -291,8 +291,9 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') ==    augroup filetypedetect    " dockerfile, from Dockerfile.vim in ekalinin/Dockerfile.vim  " Dockerfile -autocmd BufRead,BufNewFile Dockerfile set ft=Dockerfile +autocmd BufRead,BufNewFile [Dd]ockerfile set ft=Dockerfile  autocmd BufRead,BufNewFile Dockerfile* set ft=Dockerfile +autocmd BufRead,BufNewFile [Dd]ockerfile.vim set ft=vim  autocmd BufRead,BufNewFile *.dock set ft=Dockerfile  autocmd BufRead,BufNewFile *.[Dd]ockerfile set ft=Dockerfile    augroup end diff --git a/indent/nim.vim b/indent/nim.vim index a6057962..94250b70 100644 --- a/indent/nim.vim +++ b/indent/nim.vim @@ -122,7 +122,7 @@ function! GetNimIndent(lnum)      return plindent + &sw    endif -  if pline =~ '\(type\|import\|const\|var\)\s*$' +  if pline =~ '\(type\|import\|const\|var\|let\)\s*$'      \ || pline =~ '=\s*\(object\|enum\|tuple\|concept\)'      return plindent + &sw    endif diff --git a/syntax/elixir.vim b/syntax/elixir.vim index 89440f7f..9ad39e4a 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -43,12 +43,12 @@ syn match   elixirOperator '\.\.\|\.'  syn match   elixirOperator "\^\^\^\|\^"  syn match   elixirOperator '\\\\\|::\|\*\|/\|\~\~\~\|@' +syn match   elixirAlias '\([a-z]\)\@<![A-Z]\w*\%(\.[A-Z]\w*\)*' +  syn match   elixirAtom '\(:\)\@<!:\%([a-zA-Z_]\w*\%([?!]\|=[>=]\@!\)\?\|<>\|===\?\|>=\?\|<=\?\)'  syn match   elixirAtom '\(:\)\@<!:\%(<=>\|&&\?\|%\(()\|\[\]\|{}\)\|++\?\|--\?\|||\?\|!\|//\|[%&`/|]\)'  syn match   elixirAtom "\%([a-zA-Z_]\w*[?!]\?\):\(:\)\@!" -syn match   elixirAlias '\([a-z]\)\@<![A-Z]\w*' -  syn keyword elixirBoolean true false nil  syn match elixirVariable '@[a-z]\w*' diff --git a/syntax/typescript.vim b/syntax/typescript.vim index ac2e3aeb..08f42383 100644 --- a/syntax/typescript.vim +++ b/syntax/typescript.vim @@ -128,7 +128,7 @@ syntax keyword typescriptBranch break continue yield await  syntax keyword typescriptLabel case default async readonly  syntax keyword typescriptStatement return with -syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity Math Number NaN Object Packages RegExp String Symbol netscape +syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity JSON Math Number NaN Object Packages RegExp String Symbol netscape  syntax keyword typescriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError @@ -210,7 +210,7 @@ syn match typescriptBraces "[{}\[\]]"  syn match typescriptParens "[()]"  syn match typescriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-="  syn match typescriptEndColons "[;,]" -syn match typescriptLogicSymbols "\(&&\)\|\(||\)" +syn match typescriptLogicSymbols "\(&&\)\|\(||\)\|\(!\)"  " typescriptFold Function {{{ | 
