Skip to content

Commit 13fac90

Browse files
committed
Fix textEdit
The p comand append empty line. So when replacing text block with "\n", it need to remove with dd. Fixes #483
1 parent 96579bd commit 13fac90

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

autoload/lsp/utils/text_edit.vim

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ function! s:generate_sub_cmd_replace(text_edit) abort
181181
let l:start_character = a:text_edit['range']['start']['character']
182182
let l:end_line = a:text_edit['range']['end']['line']
183183
let l:end_character = a:text_edit['range']['end']['character']
184-
let l:new_text = substitute(a:text_edit['newText'], '\n$', '', '')
184+
let l:new_text = a:text_edit['newText']
185185

186186
let l:sub_cmd = s:preprocess_cmd(a:text_edit['range'])
187187
let l:sub_cmd .= s:generate_move_start_cmd(l:start_line, l:start_character) " move to the first position
@@ -202,6 +202,9 @@ function! s:generate_sub_cmd_replace(text_edit) abort
202202
else
203203
let l:sub_cmd .= "\"=l:merged_text_edit['merged']['newText']\<CR>p"
204204
endif
205+
if l:new_text =~ '\n$'
206+
let l:sub_cmd .= 'dd'
207+
endif
205208

206209
return l:sub_cmd
207210
endfunction

0 commit comments

Comments
 (0)