55 lines
1.8 KiB
EmacsLisp
55 lines
1.8 KiB
EmacsLisp
;;; icejam-complete-at-point.el -- summary -*- lexical-binding: t; -*-
|
|
;;; Commentary:
|
|
;;; Company completion framework configuration
|
|
;;; Code:
|
|
(require 'icejam-blocking)
|
|
|
|
(use-package yasnippet :ensure t :defer t
|
|
:hook ((elpaca-after-init . yas-global-mode))
|
|
:config
|
|
(unbind-key "C-c & C-n" yas-minor-mode-map)
|
|
(unbind-key "C-c & C-s" yas-minor-mode-map)
|
|
(unbind-key "C-c & C-v" yas-minor-mode-map))
|
|
|
|
(use-package yasnippet-snippets :ensure t :after (yasnippet))
|
|
|
|
(use-package corfu :ensure t :defer t
|
|
:hook ((elpaca-after-init . global-corfu-mode)
|
|
(global-corfu-mode . corfu-popupinfo-mode))
|
|
:config
|
|
(setopt corfu-auto-delay 0.2)
|
|
(setopt corfu-popupinfo-delay '(0.4 . 0.2))
|
|
(setopt corfu-auto t)
|
|
(setopt corfu-quit-no-match 'separator))
|
|
|
|
(use-package corfu-terminal :ensure t :defer t
|
|
:unless (display-graphic-p)
|
|
:hook ((elpaca-after-init . corfu-terminal-mode)))
|
|
|
|
(use-package cape :ensure t :after corfu
|
|
:commands (cape-dabbrev cape-file cape-elisp-symbol)
|
|
:init
|
|
(add-hook 'prog-mode-hook
|
|
(lambda ()
|
|
(progn
|
|
(add-hook 'completion-at-point-functions #'cape-dabbrev)
|
|
(add-hook 'completion-at-point-functions #'cape-file)
|
|
(add-hook 'completion-at-point-functions #'cape-elisp-symbol)))))
|
|
|
|
(use-package yasnippet-capf :ensure t
|
|
:after corfu
|
|
:commands (yasnippet-capf)
|
|
:config (setopt yasnippet-capf-lookup-by 'name)
|
|
:init
|
|
(add-hook 'prog-mode-hook
|
|
(lambda () (add-hook 'completion-at-point-functions #'yasnippet-capf))))
|
|
|
|
(use-package kind-icon
|
|
:ensure t
|
|
:after corfu
|
|
:config
|
|
(declare-function kind-icon-margin-formatter kind-icon)
|
|
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
|
|
|
(provide 'icejam-complete-at-point)
|
|
;;; icejam-complete-at-point.el ends here
|