目前自己的 lsp-bridge 配置。
;;; ========== require ==========
;;; all-the-icons has been loaded
;;; orderless has been loaded
(use-package posframe)
(use-package yasnippet)
(use-package markdown-mode)
(use-package corfu
:custom
(corfu-cycle t)
(corfu-preselect-first nil)
:bind
(:map corfu-map
("TAB" . corfu-next)
([tab] . corfu-next)
("S-TAB" . corfu-previous)
([backtab] . corfu-previous)
)
:init
(global-corfu-mode))
;;; for c/c++ #include
(advice-add 'corfu-insert
:after (lambda()
(when (or
(string-equal (file-name-extension buffer-file-name) "c")
(string-equal (file-name-extension buffer-file-name) "cpp")
(string-equal (file-name-extension buffer-file-name) "h")
)
(if (and
(string-equal (char-to-string (char-after)) ">")
(string-equal (char-to-string (char-before)) ">")
)
(delete-char -1)
)
)
)
)
;;; ========== lsp-bridge settings ==========
(add-to-list 'load-path (expand-file-name "lisp/blove-extra/lsp-bridge" user-emacs-directory))
(require 'lsp-bridge)
(yas-global-mode 1)
;;; corfu setting:
(setq lsp-bridge-completion-provider 'corfu)
(require 'corfu-info)
(require 'corfu-history)
(require 'lsp-bridge-icon)
(require 'lsp-bridge-orderless)
(corfu-history-mode t)
(global-lsp-bridge-mode)
(when (> (frame-pixel-width) 3000) (custom-set-faces '(corfu-default ((t (:height 1.3)))))) ;; 让corfu适应高分屏
;;; For Xref support
(add-hook 'lsp-bridge-mode-hook (lambda ()
(add-hook 'xref-backend-functions #'lsp-bridge-xref-backend nil t)))