更新 lsp-bridge 后重启一下 emacs 吧, 我没有你说的问题。
我用起来好像没啥问题 我的org版本是9.6.6 lsp-bridge的配置在这里.doom.d/init-lsp-bridge.el at main · kongds/.doom.d · GitHub
我重启了,连 .session 我都尝试删除了。可还是我图片中的那个效果。大佬是完整添加了下列的代码吗? 还是只添加了 C_FUNCTION
TwoArgCommands = {
"push": "C_PUSH",
"pop": "C_POP",
"function": "C_FUNCTION",
"call": "C_CALL",
}
我这边的结果是如果 C_
开头的词过多,则 C_FUNCTION
就不会出现,否则就会出现。
不出现:
出现:
嗯, 我知道了, 我一会推送一下补丁。
更新吧
增加了一个选项
acm-backend-search-file-words-max-number
: Search Words 补全候选词限制, 默认是 10
阿,只有 elisp 才会生效。 我写的是 emacs-lisp 就不会生效。
那大佬的 Python 生效吗?我写 python, py, python3 都不生效
还有一个问题就是 lsp-bridge-enable-org-babel
似乎会改变 org-protocol 原有的行为
生效了,谢谢大佬
没有 这个是根据org-src-lang-modes
里lang 对应的mode来的,如果要用emacs-lisp或者可以其他名字的可以往这个list里加
(defcustom org-src-lang-modes
'(("C" . c)
("C++" . c++)
("asymptote" . asy)
("bash" . sh)
("beamer" . latex)
("calc" . fundamental)
("cpp" . c++)
("ditaa" . artist)
("desktop" . conf-desktop)
("dot" . fundamental)
("elisp" . emacs-lisp)
("ocaml" . tuareg)
("screen" . shell-script)
("shell" . sh)
("sqlite" . sql)
("toml" . conf-toml))
"Alist mapping languages to their major mode.
The key is the language name. The value is the mode name, as
a string or a symbol, without the \"-mode\" suffix.
For many languages this is simple, but for language where this is
not the case, this variable provides a way to simplify things on
the user side. For example, there is no `ocaml-mode' in Emacs,
but the mode to use is `tuareg-mode'."
:group 'org-edit-structure
:package-version '(Org . "9.6")
:type '(repeat
(cons
(string "Language name")
(symbol "Major mode"))))
另外一个问题可能是得禁用org 临时buffer中的lsp-bridge mode 可以参考这个.doom.d/init-lsp-bridge.el at 59e32636c7b1dae5090bf66f4212bdb59a188340 · kongds/.doom.d · GitHub
应该是今天最后一个问题了 。。
开了 sdcv-helper
是不是就只有单词选项,而禁用掉其它的选项了。我觉得是不是把字典中的单词放在最后面效果会好一点?
sdcv单词会返回很多, 混用会导致单词大量干扰别的后端, 别的后端根本就没法选择。
现在设计是, 英文补全临时开关。
明白了,谢谢大佬。 怪不得只有这个选项专门设置了一个 toggle.
我补全不了应该也是这个原因, 我在README加了对 org-src-lang-modes 的备注, 避免坑到下一个人。
重新用 text diff 序列算法替代 buffer-string 的方法, 这样可以实时搜索Emacs所有打开Buffer的单词, 又不会因为像前一版那样, 实时发送 buffer-string 增加Emacs的性能负担。
现在不管Emacs打开多大的文件, 文件的单词都是实时搜索的, 不会再有任何延迟, 也不会对Emacs性能有任何影响。
具体哪个命令,把出问题得命令粘贴一下吧,我大概知道啥问题。
在org的临时buffer开启lsp-bridge-mode (buffer-file-name)
返回的是nil 会导致 file-exists-p的wrong-type-argument
不过好像还会有另外的一些问题
大佬, jdtls 启动时提示 java 版本过低。
--- [06:02:52.991631] Send initialize request (33052) to 'jdtls' for project java
Traceback (most recent call last):
File "/usr/bin/jdtls", line 17, in <module>
jdtls.main(sys.argv[1:])
File "/usr/share/java/jdtls/bin/jdtls.py", line 82, in main
java_executable = get_java_executable(known_args.validate_java_version)
File "/usr/share/java/jdtls/bin/jdtls.py", line 40, in get_java_executable
raise Exception("jdtls requires at least Java 17")
Exception: jdtls requires at least Java 17
--- [06:02:53.088613] LSP server 'jdtls' exited with code 1
b''
可是我 java 版本如下:
❯ java -version ─╯
openjdk version "20" 2023-03-21
OpenJDK Runtime Environment (build 20+36-2344)
OpenJDK 64-Bit Server VM (build 20+36-2344, mixed mode, sharing)
是不是 emacs 用的 java 的版本与我的终端的不同?
自己看源代码, 看看是不是你设置 JAVA_HOME 有问题?
README 中有写 请确保导出
org.eclipse.jdt.ls.product/target/repository/bin 到你系统的 PATH 路径
遇到问题,先看一下 README 。