1;;; package --- 补全配置2;;; Commentary:3;;; Code:45(use-package emacs6 :init7 (setq completion-cycle-threshold 3)8 (setq tab-always-indent 'complete))910(use-package eglot11 :config12 (add-to-list 'display-buffer-alist '("*eldoc*"13 (display-buffer-in-side-window)14 (side . bottom)15 (window-height . 0.16)16 (slot . 0)))17 (setq eglot-autoshutdown t18 eglot-ignored-server-capabilities '(:inlayHintProvider))19 :hook20 ((eglot-managed-mode . (lambda()(add-hook 'before-save-hook #'eglot-format-buffer -10 t)))))2122(use-package vertico23 :init24 (vertico-mode +1))2526(use-package orderless27 :init28 (setq completion-styles '(orderless)29 completion-category-defaults nil30 completion-category-overrides '((file (styles . (partial-completion))))))3132(use-package consult33 :init34 :bind35 ("C-s" . consult-line)36 ("M-g g" . consult-goto-line)37 ("C-c h" . consult-history)38 ("C-x b" . consult-buffer)39 ("C-x C-b" . consult-buffer)40 ("C-x p b" . consult-project-buffer)41 ("C-x r j" . consult-register)42 ("M-'" . consult-register-load)43 ("M-\"" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)44 ("M-y" . consult-yank-pop)45 ("C-c j" . consult-git-grep)46 ("C-c f" . magit-find-file)47 ("M-g i" . consult-imenu-multi)48 ("M-g M-i" . imenu)49 (:map org-mode-map50 ("C-c s" . consult-org-heading)))5152(use-package marginalia53 :bind (:map minibuffer-local-map54 ("M-A" . marginalia-cycle))55 :init56 (marginalia-mode))5758(setq completion-in-region-function59 (lambda (&rest args)60 (apply (if vertico-mode61 #'consult-completion-in-region62 #'completion--in-region)63 args)))6465(provide 'init-completion)66;;; init-completion.el ends here