最近在用 tui 的 emacs ,所以把输入法的弹窗设置成了 popup,然后在写 c 时经常出现下面的错误:
error: -32602: trying to get preamble for non-added document
在排查后发现是 popup 的问题,稳定复现步骤:
- 把 emacs-rime 的显示方式设置成 popup
- 新建一个 python 文件
- 激活 rime 输入两个英文,然后回车上屏,这时 lsp-bridge 就会报错了
看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')\"")
求助这种问题有没有比较好的办法解决