diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2019-05-07 16:17:30 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2019-05-07 16:17:56 +0200 | 
| commit | aebef2c2e76b88384b1121c237c965e8cf8b3bcb (patch) | |
| tree | 98c685630547630cfadffb487a0cf90b7abbb710 /autoload | |
| parent | e8245dbf1746aa59774124de1c77ffc4d8b5b52f (diff) | |
| download | vim-polyglot-aebef2c2e76b88384b1121c237c965e8cf8b3bcb.tar.gz vim-polyglot-aebef2c2e76b88384b1121c237c965e8cf8b3bcb.zip | |
Update
Diffstat (limited to 'autoload')
| -rw-r--r-- | autoload/dart.vim | 52 | ||||
| -rw-r--r-- | autoload/go/config.vim | 4 | 
2 files changed, 37 insertions, 19 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 | 
