请问如何解决 popup 上屏导致 lsp-bridge/eglot 获取错误的文件改变信息的问题

最近在用 tui 的 emacs ,所以把输入法的弹窗设置成了 popup,然后在写 c 时经常出现下面的错误:

error: -32602: trying to get preamble for non-added document

在排查后发现是 popup 的问题,稳定复现步骤:

  1. 把 emacs-rime 的显示方式设置成 popup
  2. 新建一个 python 文件
  3. 激活 rime 输入两个英文,然后回车上屏,这时 lsp-bridge 就会报错了 popup 问题

看message 的输出,会有一些超过文件行号的改变:

[LSP-Bridge] Active project ’Test’, enjoy hacking!
change_file: ’0’ ’(:line 0 :character 1)’ ’(:line 0 :character 1)’ ’(:line 0 :character 2)’ ’ ’ ’# ’

change_file: ’0’ ’(:line 0 :character 1)’ ’(:line 0 :character 1)’ ’(:line 0 :character 2)’ ’ ’ ’# ’
change_file: ’0’ ’(:line 0 :character 2)’ ’(:line 0 :character 2)’ ’(:line 0 :character 4)’ ’ff’ ’# ff’
change_file: ’1’ ’(:line 15 :character 0)’ ’(:line 16 :character 0)’ ’(:line 15 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 14 :character 0)’ ’(:line 15 :character 0)’ ’(:line 14 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 13 :character 0)’ ’(:line 14 :character 0)’ ’(:line 13 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 12 :character 0)’ ’(:line 13 :character 0)’ ’(:line 12 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 11 :character 0)’ ’(:line 12 :character 0)’ ’(:line 11 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 10 :character 0)’ ’(:line 11 :character 0)’ ’(:line 10 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 9 :character 0)’ ’(:line 10 :character 0)’ ’(:line 9 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 8 :character 0)’ ’(:line 9 :character 0)’ ’(:line 8 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 7 :character 0)’ ’(:line 8 :character 0)’ ’(:line 7 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 6 :character 0)’ ’(:line 7 :character 0)’ ’(:line 6 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 5 :character 0)’ ’(:line 6 :character 0)’ ’(:line 5 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 4 :character 0)’ ’(:line 5 :character 0)’ ’(:line 4 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 3 :character 0)’ ’(:line 4 :character 0)’ ’(:line 3 :character 0)’ ’’ ’’
change_file: ’1’ ’(:line 2 :character 0)’ ’(:line 3 :character 0)’ ’(:line 2 :character 0)’ ’’ ’’
deferred error : (error "\"IndexError('list index out of range')\"") [13 times]

deferred error : (error "\"IndexError('list index out of range')\"")

求助这种问题有没有比较好的办法解决

lsp-bridge不支持tui

原来是这个原因吗?我在 MacOS 的 Emacs 上也经常碰到 IndexError,以后全写英文了