lsp-bridge怎么才能显示图标?

查了半天,别人好象显示图标不是个事儿啊,都能显示,就是打开一个选项 (acm-enable-icon t),装个all-the-icons就行了

我这么弄了一下,连点反应都没有,也不报错,就是不显示,dired里图标就没有问题。

btw: lsp-bridge 提示功能是正常的.

还要设别的什么东西吗?

你用哪個 Emacs 版本?哪個系統?lsp-bridge 哪個版本?

能把配置丟上來給大家看嗎?有沒有最短的配置能重現你的問題?

lsp-bridge就是用的master 我也是抄的别人的

(use-package lsp-bridge
  :after (markdown-mode)
  :custom
  ;; 不在 modeline 显示 lsp-bridge 信息。
  (lsp-bridge-enable-mode-line nil)
  (acm-enable-icon t)
  (acm-enable-capf t)
  :config
  ;; 调试模式。
  (setq lsp-bridge-signature-show-function 'lsp-bridge-signature-show-with-frame)
    (setq lsp-bridge-enable-log nil)
  (setq lsp-bridge-enable-hover-diagnostic t)
  (setq lsp-bridge-diagnostic-fetch-idle 1) ;; default 0.5
  (setq lsp-bridge-diagnostic-tooltip-border-width 0)
  (setq lsp-bridge-diagnostic-display-errors-delay 3)
  (setq lsp-bridge-diagnostic-hide-severities '(2 3 4))   ;; 过滤 warnning.
  ;; 关闭 code action 的 popup-menu。
  (setq lsp-bridge-code-action-enable-popup-menu nil)
  (setq lsp-bridge-enable-signature-help t)
  ;; 关闭 word 补全。
  (setq acm-enable-search-file-words nil)
  (setq lsp-bridge-enable-search-words nil)
  ;; 自动补全。
  (setq acm-backend-lsp-enable-auto-import t)
  (setq acm-backend-lsp-candidate-min-length 0)
  (setq acm-backend-lsp-candidate-max-length 100)
  ;; 使用 orderless flex 过滤。
  (setq acm-candidate-match-function 'orderless-flex)
  ;; 显示 incon。
  ;; (setq acm-enable-icon t)
  ;; 关闭不必要的配置。
  (setq acm-enable-doc nil)
  (setq acm-enable-telega nil)
  (setq acm-enable-tabnine nil)
  ;; 关闭 yas 补全。
  (setq acm-enable-yas nil)
  ;;开启 citre 集成。
  ;; (setq acm-enable-citre t)
  (add-to-list 'lsp-bridge-org-babel-lang-list "emacs-lisp")
  (add-to-list 'lsp-bridge-org-babel-lang-list "sh")
  (add-to-list 'lsp-bridge-org-babel-lang-list "shell")
  (add-to-list 'lsp-bridge-org-babel-lang-list "go")
  (global-lsp-bridge-mode)
  ;; M-j 被预留给 pyim 使用。
  (define-key acm-mode-map (kbd "M-j") nil)
  (define-key lsp-bridge-mode-map (kbd "M-.") #'lsp-bridge-find-def)
  (define-key lsp-bridge-mode-map (kbd "C-M-.") #'lsp-bridge-find-def-other-window)
  (define-key lsp-bridge-mode-map (kbd "M-,") #'lsp-bridge-find-def-return)
  (define-key lsp-bridge-mode-map (kbd "M-?") #'lsp-bridge-find-references)
  (define-key lsp-bridge-mode-map (kbd "M-d") #'lsp-bridge-popup-documentation)
  (define-key lsp-bridge-mode-map (kbd "C-c C-a") #'lsp-bridge-code-action)
  (define-key lsp-bridge-mode-map (kbd "C-c C-f") #'lsp-bridge-code-format)
  (define-key lsp-bridge-mode-map (kbd "C-s-l") #'lsp-bridge-diagnostic-list)
  (define-key lsp-bridge-mode-map (kbd "C-s-n") #'lsp-bridge-diagnostic-jump-next)
  (define-key lsp-bridge-mode-map (kbd "C-s-p") #'lsp-bridge-diagnostic-jump-prev)
  )

我試試看能不能重現

image

我用你的配置重現不了

看你要不要單獨弄個最小配置重現

Emacs 版本:29.4

系统:EndeavourOS

关闭了所有无关配置,只留了lsp-bridge,还这样 但手动打开all-the-icons-dired-mode, dired显示是ok的如下图

好象整明白了,是我emacs版本的事。apt了一个官源里的emacs 29,图标就出来了。

话说自巳编的话,要加啥config选项才能显示这个图标?

1 个赞

成了,加了一堆with-xxxxx就好了,不知道哪个起作用了

我记得当时哪里有说,要开svg支持,我就因为这个从纯净emacs(https://emacsformacosx.com,不开什么选项的编译版本)切到emacs-plus的

Mac下可以直接从git下的源代码编译. 可以不用 brew

官方 Emacs 29, macOS Ventura 以上可以直接用系统 API 渲染 SVG,在这之前需要打补丁或者用 librsvg

3 个赞

那不错啊,那现在更省心了。

我用brew装emacs-plus也是为了省心点,毕竟编译安装脚本别人都整好了,之前我还看加开什么选项,现在直接默认安装。emacs-plus感觉调教的很不错