diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index 5008658..1a0ede2 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -19,8 +19,9 @@ (require 'siren-packages) ;; Completion -(require 'siren-company) (require 'siren-cape) +(require 'siren-company) +(require 'siren-copilot) ;; Documentation (require 'siren-dash-at-point) diff --git a/modules/completion/siren-cape.el b/modules/completion/siren-cape.el index 34403a9..ba05808 100644 --- a/modules/completion/siren-cape.el +++ b/modules/completion/siren-cape.el @@ -9,6 +9,7 @@ (require 'siren-company) (use-package cape + :after company :hook (lsp-completion-mode . siren-cape-capf-lsp-mode-setup) diff --git a/modules/completion/siren-copilot.el b/modules/completion/siren-copilot.el new file mode 100644 index 0000000..94fc9ec --- /dev/null +++ b/modules/completion/siren-copilot.el @@ -0,0 +1,28 @@ +;;; siren-copilot.el --- jimeh's Emacs Siren: copilot configuration. + +;;; Commentary: + +;; Basic configuration for copilot. Auto completion on steroids. + +;;; Code: + +(use-package copilot + :straight (:host github :repo "zerolfx/copilot.el" + :files ("dist" "copilot.el")) + :hook + (prog-mode . copilot-mode) + + :general + ("C-" 'copilot-accept-completion) + ("" 'copilot-accept-completion) + (:keymaps 'company-active-map + "C-" 'copilot-accept-completion + "C-TAB" 'copilot-accept-completion + "" 'copilot-accept-completion) + + :config + (with-eval-after-load 'company + (delq 'company-preview-if-just-one-frontend company-frontends))) + +(provide 'siren-copilot) +;;; siren-copilot.el ends here