场景:
我在 xah-fly-keys 实现了一个 evil-escape 的功能, 但是当我按 kj 后 buffer 有了变化, 然后进入 command-mode 的时候
lsp-bridge 总是会弹出个提示… 效果如图:
此时我必须按一下左或者 esc 或者回车什么的才能关掉这个框, 这个框存在的时候是影响我的上下移动键的
所以我想在进入 command-mode 的时候关掉 lsp-bridge
但是代码执行 (global-lsp-bridge-mode) 或者 (lsp-bridge-mode) 或者 (lsp-bridge-mode nil/-1) 并没有用, M-x lsp-bridge-mode 却可以关掉…
然后看到 lsp-bridge-mode 的定义是个 minor-mode, 就比较奇怪, linum-mode 也是 minor-mode, 它就能直接用代码关掉啊
对了, 这个框可以被 C-g 关掉, C-g 调用的是 (keyboard-quit)
代码调用 (keyboard-quit) 是生效的, 但是不会触发关闭这个框的动作
哪个大佬给解释下这是怎么回事, interactive 的函数用键盘和代码触发不应该是一样的吗
难道是 (keyboard-quit) 是终止了动作但是不涉及 UI 变动?
大佬, 这个是不是要自己定义一个函数来返回当前是否是 command-mode, 然后把这个函数放到 lsp-bridge-completion-popup-predicates 列表(我看检测 evil 的那个好像是这么用的)
我定义了一个检测函数, 没有效果

你怎么自定义的 lsp-bridge-completion-popup-predicates
粘贴一下配置代码?
还是没用哈,我在想,有没有其他办法触发一下 UI 的函数
那就是你的条件函数写的有问题,按键的时候并没有触发你期望的条件
可是我用这两个 hooks 测试,在进入 insert-mode 和 command-mode 的时候都是会触发的啊
你要自己研究了,我没法用所有插件,也没法为所有插件提供支持,欢迎发补丁。