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

目前自己的 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)))

1 个赞