FittenTech / fittencode.vim

Fitten Code AI Programming Assistant for Vim
63 stars 5 forks source link

没有补全提示 #26

Closed mazhongguang closed 3 days ago

mazhongguang commented 2 weeks ago

截图 2024-06-15 16-57-31

行前有“tab"时补全建议没有显示出来,但是点击确认还是可以上屏的。

截图 2024-06-15 16-56-57

行首顶格时,补全建议显示正常,确认上屏也正常。

行前使用4个空格代替“tab“时,补全建议显示也是正常的。

luozhiya commented 2 weeks ago

@mazhongguang

因为 prop_add 会把 Tab 自动转换为 Space 以方便文本大小的计算。

您试一下如下 patch,看是否解决问题了。

diff --git a/plugin/fittencode.vim b/plugin/fittencode.vim
index 83f2e99..1d1610e 100644
--- a/plugin/fittencode.vim
+++ b/plugin/fittencode.vim
@@ -86,11 +86,7 @@ function! CodeCompletion()

     let l:file_content = join(getline(1, '$'), "\n")
     let l:line_num = line('.')
-    if getcurpos()[2] == getcurpos()[4]
-        let l:col_num = getcurpos()[2]
-    else
-        let l:col_num = getcurpos()[2] + 1
-    endif
+    let l:col_num = getcurpos()[2]

     let l:prefix = join(getline(1, l:line_num - 1), '\n')
     if !empty(l:prefix)
@@ -146,6 +142,7 @@ function! CodeCompletion()
     if empty(l:text[-1])
         call remove(l:text, -1)
     endif
+    let l:text = map(l:text, 'substitute(v:val, "\t", repeat(" ", &ts), "g")')

     let l:is_first_line = v:true
     for line in text

引用

mazhongguang commented 2 weeks ago

现在已经正常了,谢谢!