新的补全框下面会有一条空白,不知道为啥,之前是没有的。
然后就是要是python没装six 的话,会报错哈。pip3 install six 后就好了
有空白是因为我把font-lock-keyword-face 的字体调大了,才会这样的。应该属于我的配置的问题了。
(acm-backend-yas-trigger-keyword-face ((t (:inherit font-lock-keyword-face :height ,(face-attribute 'default :height) :bold t))))
在use-package 的:custom-face 下加这一行就完美解决字体问题了哈哈哈哈
我刚刚推送了几个补丁, 把LSP的排序代码全部弄到 Python 那边, Elisp 这边直接用, 所有二次排序的代码都删除了。
最新版我测试, LSP的性能继续提升, 同时手速太快候选词颠倒顺序的现象基本上没有了。
讲真,原来elisp的补全就已经很快了,刚拉了下代码试了一下,又快了很多很多。可感知了属于是
原来的 Elisp 补全是在 Emacs 这边过滤的, 我今天把Elisp符号搜索弄到 Python 线程里面, 同时还加了模糊匹配, Python端的补全性能最少是 Elisp 端的2倍以上。
你现在体会到的 Elisp 符号补全性能是 Emacs 目前最快的实现了, 特别是你直接和 company/corfu 对比一下, 性能差距明显。
今晚我在写公司项目的时候,就感觉快了一些了。
最少更新到 We need filter empty keyword for better performance even you set `acm… · manateelazycat/lsp-bridge@9fffa23 · GitHub 这个版本以上吧。
现在 LSP 的性能要比昨天之前的版本快很多, 同时 Elisp 的补全性能和LSP一样丝滑了。
gopls 太慢了,我一直觉得elisp的补全要比gopls的快一些
你没事试一下lsp-bridge补全 Python/Rust 的代码, 就是丝滑的感觉。
确实,之前用python 给我老大写运维工具的时候,就感觉python的补全要顺畅很多。
而且gopls这东西,动不动就吃掉我10几个G的内存。
今天把 Elisp Symbol 的搜索弄到 Python 线程中, 性能提升非常明显。
基于 lsp-bridge 的架构重新做一个 helm 的补全架构, 功能复杂度不减的情况下应该会比 ivy 还要快很多。
等过段时间我基于 lsp-bridge 的原理重新做一个最快的搜索框架出来。
哈哈哈,那很棒。不过写运维工具的时候,不太会python。还是看了你lsp-bridge.py的代码才知道python的面相对象是咋写的
Python就看 《Python核心编程》 这本书吧, 看完这一本就可以解决 90% 的问题, 其他书都不用看。
(defun wk/select-winum-or-acm-complete-1()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 0)
(winum-select-window-1) ))
(defun wk/select-winum-or-acm-complete-2()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 1)
(winum-select-window-2) ))
(defun wk/select-winum-or-acm-complete-3()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 2)
(winum-select-window-3) ))
(defun wk/select-winum-or-acm-complete-4()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 3)
(winum-select-window-4) ))
(defun wk/select-winum-or-acm-complete-5()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 4)
(winum-select-window-5) ))
(defun wk/select-winum-or-acm-complete-6()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 5)
(winum-select-window-6) ))
(defun wk/select-winum-or-acm-complete-7()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 6)
(winum-select-window-7) ))
(defun wk/select-winum-or-acm-complete-8()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 7)
(winum-select-window-8) ))
(defun wk/select-winum-or-acm-complete-9()
"select-winum-or-acm-complete"
(interactive)
(if (lsp-bridge-completion-ui-visible-p)
(acm-complete-quick-access 8)
(winum-select-window-9) ))
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-1)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-2)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-3)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-4)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-5)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-6)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-7)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-8)
(add-to-list 'acm-continue-commands 'wk/select-winum-or-acm-complete-9)
(define-key global-map (kbd "M-1") 'wk/select-winum-or-acm-complete-1)
(define-key global-map (kbd "M-2") 'wk/select-winum-or-acm-complete-2)
(define-key global-map (kbd "M-3") 'wk/select-winum-or-acm-complete-3)
(define-key global-map (kbd "M-4") 'wk/select-winum-or-acm-complete-4)
(define-key global-map (kbd "M-5") 'wk/select-winum-or-acm-complete-5)
(define-key global-map (kbd "M-6") 'wk/select-winum-or-acm-complete-6)
(define-key global-map (kbd "M-7") 'wk/select-winum-or-acm-complete-7)
(define-key global-map (kbd "M-8") 'wk/select-winum-or-acm-complete-8)
(define-key global-map (kbd "M-9") 'wk/select-winum-or-acm-complete-9)
成功了,虽然有点粗暴把,不知道快捷键怎么传参哈哈
谢谢大佬 @manateelazycat ,升级了下,performance 提升不少。
有个疑惑请教下: 在 org-mode 下,输入所出现的选项包含两个部分。
一部分是来自 “Search Word”, 但是存在打开文件中的部分单词,却不出现,比如 “Something” (等了一段时间再测也是一样的,去掉之前的引号也是不出现) 如下:
确认了下,Dabbrev: 继续输入,文件中的单词出现在第二个部分 Tabnine 中:我的之前理解是 “Search Words” 有与 Dabbrev 相关联,补全的是能够 search 到本机子上的补全。TabNine 中的选项与外部的数据关联实现智能补全。
现在的情况是,“Search Words” 中不能搜索到当前文件的所有单词 (去掉Something之前的引号也不行),而会接着出现在 TabNine 中。
逻辑是这样的吗?谢谢大佬们!
Dabbrev 我的到现在也不能用,tabnine的补全覆盖了Dabbrev的功能而且更多,所以我没管直接用tabnine了,
(set-frame-parameter (selected-frame) 'alpha (list a ab))
吵了一个spacemacs的透明度函数过来,然后这里设置透明度时候,补全的小窗口的透明度会跟着变低
,但是设置透明度更低的时候会变低,设置透明度到更高的时候不会回到更高。所以我改透明度到很低再改回来,补全窗口酒还是很低的透明底,这个有啥设置么? 或者我宁愿补全窗口的透明度不变化
估计是这一段代码的问题, 你可以发送一下你的测试文本给我吗?
好的,谢谢大佬!晚些时候,发到你的邮箱 ~