在本地字典的自然语言完成方面,我经常使用公司模式。我想知道是否有一种方法可以在完成时自动添加空格。
例如,当前,当我键入abili
并选择第一个候选词ability
时,我的插入点就在y|
之后。公司模式是否可以添加空格,使我的插入点位于y |
之后?
我找不到与此相关的任何信息,但是this issue提到在Eshell模式下完成后会添加一个空格。显然这正是我想要的。
问题提到了功能completion-at-point
。有什么方法可以更改或具有可以覆盖当前完成机制的功能?
谢谢!我真的很感谢任何建议。
答案 0 :(得分:0)
您可以在company-after-completion-hook
上添加一个钩子,该钩子将在您使用任何公司后端完成之后被调用,例如。
(defun my-company-after-completion-hook (&rest _ignored)
;; this would be called with the completion candidate, so you could
;; modify it to insert spaces based on the candidate
(just-one-space))
;; or setq-local in a mode hook, eg. for text-mode/org-mode or wherever you are
;; completing with dictionary words
(setq company-after-completion-hook #'my-company-after-completion-hook)
如果您只想在完成特定的后端后添加空间,则可以查看后端是否已经实现了post-completion
操作,否则您可能会建议这样做。