From 8de915079f143729dad857273fb8fdd5753657ee Mon Sep 17 00:00:00 2001 From: Sam Howie Date: Fri, 15 Jun 2018 01:08:36 -0700 Subject: [PATCH 1/2] Fix PrettierAsync ignored file contents mangling --- autoload/prettier.vim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/autoload/prettier.vim b/autoload/prettier.vim index f322545..b94ea4a 100644 --- a/autoload/prettier.vim +++ b/autoload/prettier.vim @@ -169,6 +169,7 @@ function! s:Prettier_Exec_Async(cmd, startSelection, endSelection) abort if s:prettier_job_running != 1 let s:prettier_job_running = 1 let l:job = job_start([&shell, &shellcmdflag, l:async_cmd], { + \ 'out_io': 'buffer', \ 'err_cb': {channel, msg -> s:Prettier_Job_Error(msg)}, \ 'close_cb': {channel -> s:Prettier_Job_Close(channel, a:startSelection, a:endSelection, l:bufferName)}}) let l:stdin = job_getchannel(l:job) @@ -182,9 +183,9 @@ function! s:Prettier_Job_Close(channel, startSelection, endSelection, bufferName let l:currentBufferName = bufname('%') let l:isInsideAnotherBuffer = a:bufferName != l:currentBufferName ? 1 : 0 - while ch_status(a:channel) ==# 'buffered' - call add(l:out, ch_read(a:channel)) - endwhile + let l:buff = ch_getbufnr(a:channel, 'out') + let l:out = getbufline(l:buff, 2, '$') + execute 'bd!' . l:buff " nothing to update if (s:Has_Content_Changed(l:out, a:startSelection, a:endSelection) == 0) From 578561873cb4772baee2c6d0e7e3ab9cd60d2995 Mon Sep 17 00:00:00 2001 From: Sam Howie Date: Fri, 15 Jun 2018 01:09:36 -0700 Subject: [PATCH 2/2] Fix PrettierAsync unchanged buffer rendering issue --- autoload/prettier.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/autoload/prettier.vim b/autoload/prettier.vim index b94ea4a..7b20b25 100644 --- a/autoload/prettier.vim +++ b/autoload/prettier.vim @@ -190,6 +190,7 @@ function! s:Prettier_Job_Close(channel, startSelection, endSelection, bufferName " nothing to update if (s:Has_Content_Changed(l:out, a:startSelection, a:endSelection) == 0) let s:prettier_job_running = 0 + redraw! return endif