我试着把这个函数注释成了空函数,可以在字符串弹出补全窗口了,可是不知道是不是还需要其它设置,弹出的窗口中只有 Yas-snippet 的补全,并没有达到我之前使用 Company 时的效果。
我的预期是,比如下面这样的代码
TwoArgCommands = {
"push": "C_PUSH",
"pop": "C_POP",
"function": "C_FUNCTION",
"call": "C_CALL",
}
我想以后在输入字符串的时候,输入 C
就能弹出相应的 C_PUSH
, C_POP
, C_FUNCTION
和 C_CALL
。
不知道是不是我其它地方的设置出了问题,请大佬指教0-0
acm 有可能支持多行的补全吗?类似 copilot 的场景,能够提供多行的提示,如果 acm 能支持多行补全,是不是也可以通过某种方式接进来
已经支持codeium了呀,codeium就是多行。
没注意,那我研究一下,看看能不能接个 copilot
谢谢大佬提示.
我现在能锁定问题是由于 current_word
带了 "
,所以没有办法搜索出结果,我如果手动去除掉 current_word
中的 "
,就会出现相应的搜索结果。
这里的两行代码被我修改成了
(unless (or (null current-word))
(if (lsp-bridge-is-remote-file)
(lsp-bridge-remote-send-func-request "search_file_words_search" (list (my-remove-quotes current-word)))
(lsp-bridge-call-async "search_file_words_search" (my-remove-quotes current-word)))))))
其中 my-remove-quotes
函数如下:
(defun my-remove-quotes (str)
(when (string-prefix-p "\"" str)
(setq str (substring str 1)))
(when (string-suffix-p "\"" str)
(setq str (substring str 0 -1)))
str)
但是现在我这样改,选择候选项时,会替换掉左边的 "
比如我输入的 "C_"
然后候选框中会有 C_GO
, 我选择了 C_GO
以后,就会被补全成 C_GO"
少掉了左边的 "
尝试看己看了一下代码,但是水平不足,实在定位不到最后补全生成的位置以及相应的优雅的解决方案 。希望大佬能指点一二。
大佬,我将 lsp-bridge-enable-org-babel
设置成 t
了,可是在 org 文件的代码块中,还是只能弹出 search-word 和 yasnippet 的补全。
代码的是按照下面的格式定义的:
#+begin_src emacs-lisp
#+end_src
请问是还需要进行其它设置吗?
另外一个问题是,我启用了 lsp-bridge-enable-org-babel
后,我通过 org-protocl
截取 html 的插件就失效了,提示 No server buffers remain to edit.
,把 lsp-bridge-enable-org-babel
设为 nil
后,就一切正常了,不知道是否是这个选项背后对 org-protocol
进行了特殊的操作?
截取 html 的插件如下:
最新版已经修复了
committed 12:33AM - 03 Jun 23 UTC
现在你只需要 (setq lsp-bridge-enable-completion-in-string t) 设置一下, 就可以在字符串里补全 buffer 单词了。
1 个赞
emacs -Q 启动了,org-babel 补全还是不生效
就只运行了下面的代码
(add-to-list 'load-path "~/.emacs.d/lisp/")
(add-to-list 'load-path "~/.emacs.d/site-lisp/")
(package-initialize)
;; Bootstrap `use-package'
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(add-to-list 'load-path "~/.emacs.d/site-lisp/lsp-bridge")
(require 'yasnippet)
(yas-global-mode 1)
(require 'lsp-bridge)
(global-lsp-bridge-mode)
(lsp-bridge-mode t)
(setq lsp-bridge-enable-hover-diagnostic t)
(setq lsp-bridge-enable-org-babel t)
没有函数的补全
请问大佬,是还需要有其它的设置吗。
还没有试我自己的 capture-html 失效的原因
search-word 的词好像是会随着输入慢慢补全。不知道有没有设置让其可以全部补全。
比如下图的输入状态中,我想让 C_FUNCTION
也出现在候选框中。
emacs-lisp.
就是想在 org 里面写一些配置。
也试了 Python,一样的没有效果。
没有错误,在 .el 文件和 .py 文件里面,补全都是有效的。但到了 org-babel 块里面,就只有 org mode 下的补全了。
大佬有什么排查问题的指导吗?这个原理是不是在 org-babel 创建了一个独立的 Mode? 如果是的话,我要如何确定这个 mode 确实创建了呢?
或者说是不是 org-babel 还需要有什么特殊的设置或者语法来触发这个 mode?
因为要实时把Buffer内容实时发送到 Python 那边, 我担心性能问题, 加了1秒延时。
committed 03:45AM - 03 Jun 23 UTC
上面这个补丁把延时去掉了, 你先尝试一下吧, 可以实时补全单词了, 如果以后有性能问题, 我再想办法按照文件大小加延时。
我帮你 @kongds 大佬吧, org-babel 是这位大佬开发的, 我刚刚试了一下, 确实坏掉了。
大佬,应该不是延迟的问题,我感觉是我问题没有描述清楚。
这个不是我等待一会儿后 C_FUNCTION
就会出现在候选框里面,而是我必须再输入一个 F
, C_FUNCTION
才会出现。
感觉像是哪里限制了输出或者限制了显示的字符串的长度?
TwoArgCommands = {
"push": "C_PUSH",
"pop": "C_POP",
"function": "C_FUNCTION",
"call": "C_CALL",
}