lsp-bridge -- 速度最快的语法补全插件

Windows 下 (file-name-as-directory "~/.TabNine") 返回的是啥?

“~/.TabNine”

windows 中

  1. 如果设置了环境变量 HOME ,那么就用它的值作为 HOME 目录
  2. 如果存在注册表键值 HKCU\SOFTWARE\GNU\Emacs\HOME ,就用它的值作为HOME目录
  3. 如果存在注册表键值 HKLM\SOFTWARE\GNU\Emacs\HOME ,就用它的值作为HOME目录(和2的区别是,2只是针对当前用户的注册表路径,3则是针对所有用户)。如果存在 C:\.emacs ,就用 C:\ 作为HOME目录~
  4. 如果以上都不存在的话,就使用 C:\Users\<user name>\AppData\Roaming 作为HOME目录

command 里面的环境变量不会自动展开,我目前在LspServer那边给omnisharp特殊处理了。不过有点怪怪的,有什么更好的办法吗。

就这样做吧,以后有好方法再提升。

目前看没有太好的办法。

代码写到 lsp-bridge/lspserver.py at 6c5f30e58f1bc9c8cbfbc5dfe5aeaf0bb3cb3c48 · manateelazycat/lsp-bridge · GitHub 这附近吧

send_initialize_request 应该在服务器启动之后吧?这个时候再改启动参数应该没用了吧。

你先按照你的补丁来写吧,写好我再改一下。

好,紫薯布丁

布丁已发,大佬查收

已经合并了。

语法检查可以用的,只不过有点慢 :rofl: 刚多等了一下,他就出来了。

懒猫你有在用 lsp bridge 的 code format 吗?最近用起来,发现一个问题,我仿佛记得 lsp bridge 的 code format 是会对 buffer 和文件都有操作,tree-sitter 有一个 tree-sitter-hl-mode 用来高亮 buffer 的,配合着使用,就会出现下面这样的上色问题:

image

我在 Emacs -Q 试过了,用下面这个配置,打开 tree-sitter-hl-modelsp-bridge-mode,在一个 Go 文件里,进行一些操作后,不保存等 lsp bridge code format 几次就会出现。

 (use-package lsp-bridge
   :commands lsp-bridge-mode
   :load-path ""
   :ensure nil
   :init
   (use-package yasnippet)
   (use-package markdown-mode)
   (use-package posframe)

   :config
   (setq lsp-bridge-enable-auto-format-code t)

   (yas-global-mode)
   (global-lsp-bridge-mode))

 (use-package tree-sitter
   :init
   (use-package tree-sitter-langs)
   :config
   (global-tree-sitter-mode)
   (add-hook 'prog-mode-hook #'tree-sitter-hl-mode))

是tree sitter那个插件的问题,对buffer进行大量行改动操作就会这样。

那还treesitter的bug,有时候编辑范围比较大,颜色也会没有。

我感觉也是 tree sitter 的问题,一直等不到 tree sitter 更新🤣,看来只能先把 tree sitter 关了

elisp treesitter还并不成熟。而且似乎有另外的人在做将 treesitter 写入 core 的工作了。如果这个被 merge 了,感觉elisp treesitter 的维护动力可能就更弱了。 另外一点就是 elisp treesitter 因为很多syntax 的关键词都使用了自己的关键词,而不是常见的关键词,导致 treesitter 的 parser很多都要自己写,导致没办法直接用很多成熟的工作。比如neovim对treesitter的整合度就很高,有大量现成的parser,helix(另一个模态编辑器)甚至直接把neovim的treesitter parser直接拿过来就用,都没有任何问题

2 个赞

这个很好解决的,用下面的代码可以刷新:

(defun tree-sitter-force-update()
    (setq tree-sitter-tree nil)
    (tree-sitter--do-parse))
2 个赞

大佬,谁知道怎么配置选择候选词吗,上下移动选择,或者默认快捷键是啥

感谢大佬回复,但是我按了没有效果