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  :bind
26  (:map vertico-map
27        ("M-n" . #'vertico-next)
28        ("M-p" . #'vertico-previous)))
29
30(use-package orderless
31  :init
32  (setq completion-styles '(orderless)
33        completion-category-defaults nil
34        completion-category-overrides '((file (styles . (partial-completion))))))
35
36(use-package consult
37  :init
38  :bind
39  ("C-s" . consult-line)
40  ("M-g g" . consult-goto-line)
41  ("C-c h" . consult-history)
42  ("C-x b" . consult-buffer)
43  ("C-x C-b" . consult-buffer)
44  ("C-x p b" . consult-project-buffer)
45  ("C-x r j" . consult-register)
46  ("M-'" . consult-register-load)
47  ("M-\"" . consult-register-store)          ;; orig. abbrev-prefix-mark (unrelated)
48  ("M-y" . consult-yank-pop)
49  ("C-c j" . consult-git-grep)
50  ("C-c f" . magit-find-file)
51  ("M-g i" . consult-imenu-multi)
52  ("M-g M-i" . imenu))
53
54(use-package org
55  :after consult
56  :bind
57  (:map org-mode-map
58        ("C-c s" . consult-org-heading)))
59
60(use-package marginalia
61  :bind (:map minibuffer-local-map
62         ("M-A" . marginalia-cycle))
63  :init
64  (marginalia-mode))
65
66(setq completion-in-region-function
67      (lambda (&rest args)
68        (apply (if vertico-mode
69                   #'consult-completion-in-region
70                 #'completion--in-region)
71               args)))
72    
73(provide 'init-completion)
74;;; init-completion.el ends here