dotfiles

Alpine Linux dotfiles

git clone git://git.lin.moe/dotfiles.git

 1;;; package --- 补全配置
 2;;; Commentary:
 3;;; Code:
 4
 5(use-package emacs
 6  :init
 7  (setq completion-cycle-threshold 3)
 8  (setq tab-always-indent 'complete))
 9
10(use-package eglot
11  :config
12  (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 t
18        eglot-ignored-server-capabilities '(:inlayHintProvider))
19  :hook
20  ((eglot-managed-mode . (lambda()(add-hook 'before-save-hook #'eglot-format-buffer -10 t)))))
21
22(use-package vertico
23  :init
24  (vertico-mode +1))
25
26(use-package orderless
27  :init
28  (setq completion-styles '(orderless)
29        completion-category-defaults nil
30        completion-category-overrides '((file (styles . (partial-completion))))))
31
32(use-package consult
33  :init
34  :bind
35  ("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-map
50        ("C-c s" . consult-org-heading)))
51
52(use-package marginalia
53  :bind (:map minibuffer-local-map
54         ("M-A" . marginalia-cycle))
55  :init
56  (marginalia-mode))
57
58(setq completion-in-region-function
59      (lambda (&rest args)
60        (apply (if vertico-mode
61                   #'consult-completion-in-region
62                 #'completion--in-region)
63               args)))
64    
65(provide 'init-completion)
66;;; init-completion.el ends here