56 lines
1.4 KiB
EmacsLisp
56 lines
1.4 KiB
EmacsLisp
;;; priime-ai.el --- AI completion -*- lexical-binding: t -*-
|
|
|
|
;;; Commentary:
|
|
|
|
;; Contains configuration for AI completion.
|
|
|
|
;;; Code:
|
|
|
|
(defun gptel-context-delete ()
|
|
"Wrapper over `gptel-context-remove'."
|
|
(interactive)
|
|
(gptel-context-remove))
|
|
|
|
(defvar-keymap gptel-context-keymap
|
|
"a" #'gptel-add
|
|
"d" #'gptel-context-delete
|
|
"k" #'gptel-context-remove-all
|
|
"n" #'gptel-context-next
|
|
"p" #'gptel-context-previous
|
|
"v" #'gptel-context-visit
|
|
"RET" #'gptel-context-confirm
|
|
"f" #'gptel-add-file)
|
|
|
|
(defvar-keymap gptel-keymap
|
|
"c" gptel-context-keymap
|
|
"a" #'gptel
|
|
"e" #'gptel-send
|
|
"r" #'gptel-rewrite-menu
|
|
"o" #'gptel-menu)
|
|
|
|
(use-package gptel :straight t
|
|
:config
|
|
(keymap-global-set "C-c a" gptel-keymap)
|
|
(setq gptel-model 'claude-sonnet-4-2025051)
|
|
(setq gptel-backend
|
|
(gptel-make-anthropic "Claude"
|
|
:stream t
|
|
:key #'gptel-api-key-from-auth-source)))
|
|
|
|
(defun window-static (&rest r)
|
|
"Make the current window width static."
|
|
(interactive)
|
|
(message "Setting window static.")
|
|
(setq window-size-fixed 'width))
|
|
|
|
(use-package claude-code-ide
|
|
:straight (:type git :host github :repo "manzaltu/claude-code-ide.el")
|
|
:bind ("C-c c" . claude-code-ide-menu)
|
|
:config
|
|
(claude-code-ide-emacs-tools-setup)
|
|
(advice-add 'claude-code-ide--display-buffer-in-side-window :after #'window-static)
|
|
(advice-add 'claude-code-ide-switch-to-buffer :after #'window-static))
|
|
|
|
(provide 'priime-ai)
|
|
|
|
;;; priime-ai.el ends here
|