@@ -50,12 +50,12 @@ function! s:on_complete_done() abort
5050
5151 let s: context [' done_line' ] = getline (' .' )
5252 let s: context [' done_line_nr' ] = line (' .' )
53- let s: context [' completed_item' ] = copy (v: completed_item )
5453 let s: context [' done_position' ] = lsp#utils#position#vim_to_lsp (' %' , getpos (' .' )[1 : 2 ])
5554 let s: context [' complete_position' ] = l: managed_user_data [' complete_position' ]
5655 let s: context [' server_name' ] = l: managed_user_data [' server_name' ]
5756 let s: context [' completion_item' ] = l: managed_user_data [' completion_item' ]
5857 let s: context [' start_character' ] = l: managed_user_data [' start_character' ]
58+ let s: context [' complete_word' ] = l: managed_user_data [' complete_word' ]
5959 call feedkeys (printf (" \<C-r> =<SNR>%d_on_complete_done_after()\<CR> " , s: SID ()), ' n' )
6060endfunction
6161
@@ -73,12 +73,12 @@ function! s:on_complete_done_after() abort
7373
7474 let l: done_line = s: context [' done_line' ]
7575 let l: done_line_nr = s: context [' done_line_nr' ]
76- let l: completed_item = s: context [' completed_item' ]
7776 let l: done_position = s: context [' done_position' ]
7877 let l: complete_position = s: context [' complete_position' ]
7978 let l: server_name = s: context [' server_name' ]
8079 let l: completion_item = s: context [' completion_item' ]
8180 let l: start_character = s: context [' start_character' ]
81+ let l: complete_word = s: context [' complete_word' ]
8282
8383 " check the commit characters are <BS> or <C-w>.
8484 if line (' .' ) == # l: done_line_nr && strlen (getline (' .' )) < strlen (l: done_line )
@@ -95,7 +95,7 @@ function! s:on_complete_done_after() abort
9595 let l: completion_item = s: resolve_completion_item (l: completion_item , l: server_name )
9696
9797 " clear completed string if need.
98- let l: is_expandable = s: is_expandable (l: done_line , l: done_position , l: complete_position , l: completion_item , l: completed_item )
98+ let l: is_expandable = s: is_expandable (l: done_line , l: done_position , l: complete_position , l: completion_item , l: complete_word )
9999 if l: is_expandable
100100 call s: clear_auto_inserted_text (l: done_line , l: done_position , l: complete_position )
101101 endif
@@ -162,7 +162,7 @@ endfunction
162162"
163163" is_expandable
164164"
165- function ! s: is_expandable (done_line, done_position, complete_position, completion_item, completed_item ) abort
165+ function ! s: is_expandable (done_line, done_position, complete_position, completion_item, complete_word ) abort
166166 if get (a: completion_item , ' textEdit' , v: null ) isnot # v: null
167167 let l: range = lsp#utils#text_edit#get_range (a: completion_item [' textEdit' ])
168168 if l: range [' start' ][' line' ] != l: range [' end' ][' line' ]
@@ -177,7 +177,7 @@ function! s:is_expandable(done_line, done_position, complete_position, completio
177177 let l: text_edit_after = strcharpart (l: completed_line , l: range [' end' ][' character' ], strchars (l: completed_line ) - l: range [' end' ][' character' ])
178178 return a: done_line !=# l: text_edit_before . s: trim_unmeaning_tabstop (a: completion_item [' textEdit' ][' newText' ]) . l: text_edit_after
179179 endif
180- return s: get_completion_text (a: completion_item ) !=# s: trim_unmeaning_tabstop (a: completed_item [ ' word ' ] )
180+ return s: get_completion_text (a: completion_item ) !=# s: trim_unmeaning_tabstop (a: complete_word )
181181endfunction
182182
183183"
@@ -246,7 +246,7 @@ endfunction
246246function ! s: clear_auto_inserted_text (done_line, done_position, complete_position) abort
247247 let l: before = strcharpart (a: done_line , 0 , a: complete_position [' character' ])
248248 let l: after = strcharpart (a: done_line , a: done_position [' character' ], (strchars (a: done_line ) - a: done_position [' character' ]))
249- call setline (' . ' , l: before . l: after )
249+ call setline (a: done_position [ ' line ' ] + 1 , l: before . l: after )
250250 call cursor ([a: done_position [' line' ] + 1 , strlen (l: before ) + 1 ])
251251endfunction
252252
0 commit comments