场景:
我在 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
的时候都是会触发的啊
你要自己研究了,我没法用所有插件,也没法为所有插件提供支持,欢迎发补丁。