阻止company-complete-selection在rust代码中吃掉以下单词?

von4xj4u  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(230)

假设我有一段类似foo.bar()的代码,但我意识到需要将其更改为foo.unwrap().bar()。如果我首先移动到点之后的位置,并开始键入unwrap,我将达到类似foo.unw^bar()的状态(其中^表示光标位置)。此时,如果我使用company-complete-selection来完成unwrap,它将变成foo.unwrap(),即bar被吃掉了
请注意,这个“吃”被标点符号阻止,例如。如果我有foo..bar(),并将自己定位在两个点之间,键入unw,然后完成,我得到foo.unwrap^.bar(),这就是我想要的(^也是光标位置)。
我使用doom emacs,用lsp模式和rustic-mode(以及company-mode)编写rust代码。实际上,我不知道这是否是公司的问题,或者它是否是特定的。也许rust语言服务器(rust-analyzer)正在为公司提供“完成”,包括吃掉下面的单词?
我还没有测试这种类型的问题是否适用

  • 在防 rust 缓冲器中
  • 在其他编辑器中使用LSP与rust-analyzer
vsikbqxv

vsikbqxv1#

变量lsp-completion-default-behaviour控制这个。您可以将其更改为:insert而不是:replace以获得该行为。

相关问题