diff --git a/lisp/icejam-company-yasnippet.el b/lisp/icejam-company-yasnippet.el index 3a4dada..36cc1e3 100644 --- a/lisp/icejam-company-yasnippet.el +++ b/lisp/icejam-company-yasnippet.el @@ -100,27 +100,5 @@ (define-key text-mode-map (kbd "") 'icejam/insert-space-and-complete) (define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common) -;;; Copilot and other GPT stuff -(use-package copilot - :straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")) - :ensure t) - -;; Do not enable copilot by default because it sorta sucks? -;; (add-hook 'prog-mode-hook 'copilot-mode) -(define-key copilot-completion-map (kbd "") 'copilot-accept-completion) -(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion) - -;; Enable Anthropic Claude LLM support for chat (it also sucks) -(use-package gptel :straight t :ensure t) - -(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key." - :type 'string - :group 'icejam - :initialize 'custom-initialize-set) - -(setq - gptel-model "claude-3-5-sonnet-20240620" - gptel-backend (gptel-make-anthropic "Claude" :stream t :key (lambda () anthropic-api-key))) - (provide 'icejam-company-yasnippet) ;;; icejam-company-yasnippet.el ends here diff --git a/lisp/icejam-copilot.el b/lisp/icejam-copilot.el new file mode 100644 index 0000000..29ea7db --- /dev/null +++ b/lisp/icejam-copilot.el @@ -0,0 +1,43 @@ +;;; icejam-copilot.el --- summary + +;; Author: Maciej Szlosarczyk +;; Maintainer: Maciej Szlosarczyk +;; Version: 0.1-snapshot + +;;; Commentary: + +;;; Copilot and other GPT stuff + +;;; Code: +(use-package copilot + :straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")) + :ensure t) + +;; Do not enable copilot by default because it sorta sucks? +;; (add-hook 'prog-mode-hook 'copilot-mode) +(define-key copilot-completion-map (kbd "") 'copilot-accept-completion) +(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion) + +;; Enable Anthropic Claude LLM support for chat (it also sucks) +(use-package gptel :straight t :ensure t) + +(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key." + :type 'string + :group 'icejam + :initialize 'custom-initialize-set) + +(setq + gptel-model "claude-3-5-sonnet-20240620" + gptel-backend (gptel-make-anthropic "Claude" :stream t :key (lambda () anthropic-api-key))) + +;; Pretend to be 'AI editor'. +(use-package elysium :straight t :ensure t + :custom (elysium-window-size 0.33) ; The elysium buffer will be 1/3 your screen + (elysium-window-style 'vertical)) ; Can be customized to horizontal + +;; Merging with SMerge +(require 'smerge-mode) +(add-hook 'prog-mode-hook 'smerge-mode) + +(provide 'icejam-copilot) +;;; icejam-copilot.el ends here diff --git a/lisp/icejam-custom-init.el b/lisp/icejam-custom-init.el index f2a426f..ea10f44 100644 --- a/lisp/icejam-custom-init.el +++ b/lisp/icejam-custom-init.el @@ -47,6 +47,7 @@ (require 'icejam-transient) (require 'icejam-prog-mode) (require 'icejam-company-yasnippet) +(require 'icejam-copilot) (require 'icejam-flycheck) (require 'icejam-ispell) (require 'icejam-deft)