@Jousimies 我知道问题所在了, acm-mode 不是你这样用的, 你不能手动在任何模式去加载 acm-mode, acm-mode 是 lsp-bridge 根据是否有候选词, 弹出补全菜单以后, 由 acm-update 来自动控制的。
如果没有任何候选词, 你手动启用 acm-mode 就会导致补全菜单根本没有弹出, acm-menu-frame-popup-point (补全菜单弹出时的位置) 就是 nil, 而你强制启用 acm-mode 其实是会截获你当前 buffer 的按键的。
请按照 README 的操作去写配置, 任何时候都不应该手动开启 acm-mode.
请看楼上的回复, 你不应该手动加载 acm-mode
写了个临时补丁绕过去了。
根本原因应该是 org-todo 和 (thing-at-point 'symbol t)` 这个函数冲突了, 不是 lsp-bridge 或者 acm 本身的问题, 暂时没有时间看深层次的原因 (org-mode 的代码太多了), 等以后 org-mode 自己修复吧。
直接下载emacs git代码,安装了支持svg的emacs。现在可以看到图标了,更爽了。
./autogen.sh
./configure --with-imagemagick --with-jpeg --with-xft --with-tiff
make -j$(nproc)
make clean install
mv nextstep/Emacs.app /Applications/
2 个赞
liquid
2681
Process lsp-bridge exited abnormally with code 1 提示这个是什么原因
Jerry
2683
大佬,麻烦看一下这个问题
在开启lsp-bridge
的文件里进行输入,输入快了会出现补全框显示不完整的问题
给个稳定测试的文件吧, 我刚刚试了下, 没有重现。
你自己 emacs -Q 测试一下吧, 我没法重现。
Jerry
2691
是在最新版的deepin
桌面环境下的,是不是和这个有关系?
我不知道, 只有你知道两次变化的环境差异, 我只能告诉你我没有测试出来。
1 个赞
ginqi7
2694
麻烦问一下,code action 能否通过命令直接指定运行某个action ,而不是弹出选择框。
例如普通的工作流程为:
- 运行 lsp-bridge-code-action
- 会弹出4 个可能的action, 用户移动选择窗口,选择某个action
- 回车后运行该 action
但是,有些action 比较常用,例如为某个表达式创建某个变量赋值,我希望自定义一个命令:lsp-bridge-create-var
运行该命令后,调用 lsp-bridge-code-action, 然后自动选择运行第3个action.
ginqi7
2696
稍微试验了一下,实现了我的这个需求,把下列的流程包装为一个命令:
- 运行
lsp-bridge-code-action
命令;
- 等待 code action frame 弹出;
- 从
lsp-bridge-call-hierarchy--popup-response
变量中找到需要的那个action 所在的 index;
- 运行 n 次
lsp-bridge-call-hierarchy-next
, 选中对应的 code action.
- 运行
lsp-bridge-call-hierarchy-select
触发 code action
大体代码逻辑:
(defun jin/lsp-bridge-run-code-action (name)
"Run code action by NAME."
(lsp-bridge-code-action)
;; waiting for lsp code action frame pop.
(jin/wait-for-10s #'jin/lsp-bridge-get-code-action-frame)
(let ((index
(cl-position
name
(mapcar
(lambda (action) (car action))
lsp-bridge-call-hierarchy--popup-response )
:test #'equal)))
(dotimes (number index) (lsp-bridge-call-hierarchy-next)))
(lsp-bridge-call-hierarchy-select))