diff options
| author | mitermayer <mitermayer.reis@gmail.com> | 2018-11-05 10:04:37 -0800 |
|---|---|---|
| committer | mitermayer <mitermayer.reis@gmail.com> | 2018-11-05 12:22:31 -0800 |
| commit | 5c55270f015acc803f1adcd12b5715005b34abe8 (patch) | |
| tree | 44efdf95fd6376ede21c1b47c69cb809224c4cb8 | |
| parent | df6dae7300ac0602f473859b8fb221e427750b3a (diff) | |
| parent | 4413265fab012dcb8dd6bafbd700d99f34f0e792 (diff) | |
| download | vim-prettier-5c55270f015acc803f1adcd12b5715005b34abe8.tar.xz | |
Merge branch 'master' into release/1.x
| -rw-r--r-- | autoload/prettier.vim | 2 | ||||
| -rw-r--r-- | autoload/prettier/job/async/vim.vim | 19 | ||||
| -rw-r--r-- | autoload/prettier/resolver/config.vim | 1 | ||||
| -rw-r--r-- | autoload/prettier/utils/buffer.vim | 11 | ||||
| -rw-r--r-- | doc/prettier.txt | 2 | ||||
| -rw-r--r-- | package.json | 2 | ||||
| -rw-r--r-- | plugin/prettier.vim | 4 |
7 files changed, 25 insertions, 16 deletions
diff --git a/autoload/prettier.vim b/autoload/prettier.vim index 0e8ade3..e2ba919 100644 --- a/autoload/prettier.vim +++ b/autoload/prettier.vim @@ -5,7 +5,7 @@ " Name Of File: prettier.vim " Description: A vim plugin wrapper for prettier, pre-configured with custom default prettier settings. " Maintainer: Mitermayer Reis <mitermayer.reis at gmail.com> -" Version: 0.2.6 +" Version: 0.2.7 " Usage: Use :help vim-prettier-usage, or visit https://github.com/prettier/vim-prettier " "========================================================================================================== diff --git a/autoload/prettier/job/async/vim.vim b/autoload/prettier/job/async/vim.vim index ab0fbef..29774b9 100644 --- a/autoload/prettier/job/async/vim.vim +++ b/autoload/prettier/job/async/vim.vim @@ -8,13 +8,15 @@ function! prettier#job#async#vim#run(cmd, startSelection, endSelection) abort let l:bufferName = bufname('%') - call job_start([&shell, &shellcmdflag, a:cmd], { - \ 'in_io': 'buffer', - \ 'in_top': a:startSelection, - \ 'in_bot': a:endSelection, - \ 'in_name': l:bufferName, + let l:job = job_start([&shell, &shellcmdflag, a:cmd], { + \ 'out_io': 'buffer', \ 'err_cb': {channel, msg -> s:onError(msg)}, \ 'close_cb': {channel -> s:onClose(channel, a:startSelection, a:endSelection, l:bufferName)}}) + + let l:stdin = job_getchannel(l:job) + + call ch_sendraw(l:stdin, join(getbufline(bufnr(l:bufferName), a:startSelection, a:endSelection), "\n")) + call ch_close_in(l:stdin) endfunction function! s:onError(msg) abort @@ -27,9 +29,9 @@ function! s:onClose(channel, startSelection, endSelection, bufferName) abort 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 " we have no prettier output so lets exit if len(l:out) == 0 | return | endif @@ -37,6 +39,7 @@ function! s:onClose(channel, startSelection, endSelection, bufferName) abort " nothing to update if (prettier#utils#buffer#willUpdatedLinesChangeBuffer(l:out, a:startSelection, a:endSelection) == 0) let s:prettier_job_running = 0 + redraw! return endif diff --git a/autoload/prettier/resolver/config.vim b/autoload/prettier/resolver/config.vim index eae6725..3a1caf9 100644 --- a/autoload/prettier/resolver/config.vim +++ b/autoload/prettier/resolver/config.vim @@ -27,7 +27,6 @@ function! prettier#resolver#config#resolve(config, hasSelection, start, end) abo \ get(a:config, 'proseWrap', g:prettier#config#prose_wrap) . \ ' --stdin-filepath=' . \ simplify(expand('%:p')) . - \ ' --no-editorconfig '. \ ' --loglevel error '. \ ' --stdin ' " TODO diff --git a/autoload/prettier/utils/buffer.vim b/autoload/prettier/utils/buffer.vim index 258c615..c22fec7 100644 --- a/autoload/prettier/utils/buffer.vim +++ b/autoload/prettier/utils/buffer.vim @@ -9,10 +9,17 @@ function! prettier#utils#buffer#replace(lines, startSelection, endSelection) abo endif " delete all lines on the current buffer - silent! execute len(l:newBuffer) . ',' . line('$') . 'delete _' + silent! execute '%delete _' " replace all lines from the current buffer with output from prettier - call setline(1, l:newBuffer) + let l:idx = 0 + for l:line in l:newBuffer + silent! call append(l:idx, l:line) + let l:idx += 1 + endfor + + " delete trailing newline introduced by the above append procedure + silent! execute '$delete _' " Restore view call winrestview(l:winview) diff --git a/doc/prettier.txt b/doc/prettier.txt index 208cf22..db4223d 100644 --- a/doc/prettier.txt +++ b/doc/prettier.txt @@ -8,7 +8,7 @@ Author: Mitermayer Reis <mitermayer.reis@gmail.com> WebSite: https://prettier.io/ Repository: https://github.com/prettier/vim-prettier License: MIT style license -Version: 0.2.6 +Version: 0.2.7 ============================================================================== CONTENTS *vim-prettier-contents* diff --git a/package.json b/package.json index 78811d6..901597e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vim-prettier", "author": "Mitermayer Reis <mitermayer.reis@gmail.com>", - "version": "0.2.6", + "version": "0.2.7", "description": "Vim plugin for prettier", "license": "MIT", "repository": { diff --git a/plugin/prettier.vim b/plugin/prettier.vim index 4a3db64..4bb0773 100644 --- a/plugin/prettier.vim +++ b/plugin/prettier.vim @@ -5,7 +5,7 @@ " Name Of File: prettier.vim " Description: A vim plugin wrapper for prettier, pre-configured with custom default prettier settings. " Maintainer: Mitermayer Reis <mitermayer.reis at gmail.com> -" Version: 0.2.6 +" Version: 0.2.7 " Usage: Use :help vim-prettier-usage, or visit https://github.com/prettier/vim-prettier " "========================================================================================================== @@ -100,7 +100,7 @@ command! -nargs=? -range=% Prettier call prettier#Prettier(g:prettier#exec_cmd_a command! -nargs=? -range=% PrettierAsync call prettier#Prettier(1, <line1>, <line2>, g:prettier#partial_format) " prints vim-prettier version -command! -nargs=? -range=% PrettierVersion echom '0.2.6' +command! -nargs=? -range=% PrettierVersion echom '0.2.7' " call prettier cli command! -nargs=? -range=% PrettierCli call prettier#PrettierCli(<q-args>) |
