Idea征集:改进lsp-ui-doc

照搬的 Solarized 吧 :stuck_out_tongue_winking_eye:

几年前 看到一句话 意思是

人们用把人类送上太空的电脑切水果 应该是当时切水果游戏比较盛行

在这里不是切水果 而是 配颜色

@fuxialexander

  • eldoc 和 popup 结合, 且在括号里依然有效, 甚至可以根据光标下的argument更改显示出的documentation。 这点现在lsp-ui-doc做的很搞笑,因为用了symbol-at-point,输入括号之后popup就没了- -

是不是指textDocument/signatureHelp? 我在https://github.com/emacs-lsp/lsp-mode/pull/422裏也提到了:

BTW, (defun lsp--text-document-signature-help () ...) only takes effect when (symbol-at-point) is not nil. This does not work well for foo(arg0, ` (when there is no symbol in the argument position)

還是要稍微考慮下性能問題,不要稍微移動一下就往server發textDocument/signatureHelp

我一般用counsel-rg或者counsel-ag,然后C-c C-o搭配wgrep操作。当然,纯用ag或者rg也能实现,而且能分组显示。强烈推荐rg.el,不是ripgrep。个人感觉这是目前效率最高的。感兴趣可以参考Centaur Emacs的配置。上图

一直在用ag.el, 与wgrep配合完美. 试用了一下rg.el, 感觉差别不大. 之前发现ag有点bug一直没解决, 就把ag.el改造了一下, 内部调用rg命令. 等于在用ag.el+rg的组合.

欢迎使用我的 Commits · manateelazycat/color-rg · GitHub , 超多贴心功能

rg.elag功能还是多不少,看看顶部的几个toggles,运行时可以随时切换,不必全部从来一次。 几个比较好用的命令:rg, rg-dwim, rg-project, rg-literal。 默认键绑定c-c s

color-rg优势在哪儿,能介绍下么?如果这些包能上 melpa 会更好呀

感觉这是个人口味问题,就像flycheck作者不愿意加入elpa一样

pao ti le ya

这不是一回事吧,flycheck作者是因为不喜欢emacs维护团队文化拒绝加入elpa,cat和melpa团队也有冲突?

没有冲突。至于为什么不喜欢melpa,我不想把话放cat嘴里,就不乱说了。

我自己写的插件太多, 自己太懒, 不想那么多人骚扰我.

我不觉得 emacs 的插件代码一定要放到 melpa 和 elpa 才是唯一分享的方式.

我只说差异吧:

  1. rg.el 一旦改成分组模式显示分组, wgrep 就废了, color-rg.el 自己就包含了 rg.el 和 wgrep.el 功能, 不需要额外安装 wgrep.el
  2. 默认尽量少问问题, 快速搜索, 搜索后觉得需要缩小范围再动态过滤不想看的文件类型
  3. 默认智能的抓取当前光标处的单词, 而不仅仅是 symbol , 比如 CSS 的 class name, .foo 和 #foo 自动回转换成 foo 再搜索 (当然搜索之前都可以调), 避免大部分情况, 要各种删除 . 或者 # 才能搜索
  4. 如果正则表达式搜索错误以后, 会智能探测, 并用 literal 模式重新刷一遍 (这个 rg.el 没有)
  5. 如果搜索出来的东西需要全部从文件中删除, 直接 C-c C-D 行了, 具体的更多贴心命令看上面的 keymap 吧.

我自己可能有点强迫症,现在对可靠性和鲁棒性比较看重,经过群众检验的才愿意放心使用,对于用的人不多的,小众的,就需要仔细看一遍理解了代码甚至深度定制才行,因为很多次在欢快写代码的时候,突然遇到emacs某个插件的bug,被打断思路,这种体验比较不爽

赞同,有时间的话我还会自己改一遍

我都没遇见过…

color-rg有這四個組合就方便了:

  • project or cwd
  • symbol or input

我用的最多的是+ivy/project-search (project+input)和+ivy/project-search-from-cwd(cwd+input)。然後在ivy裏M-n輸入當前symbol (這步操作有點繁瑣)

color-rg-mode啓動時應該直接預覽第一個後選項。

f F在搜索結果裏進一步filter很有用。如果能unfilter就好了。

我現在的工作流:

ivy裏C-c C-o (ivy-occur)後c (ivy-occur-toggle-calling)也能達到j k上下預覽的效果,不過這些鍵有些繁瑣。

recorded

有时候搜索关键字不一定正确, 直接预览反而会干扰焦点.

color-rg 内置了 color-rg-search-project 和 color-rg-search-project-rails