Compare commits

..
2 Commits
2 changed files with 71 additions and 24 deletions
+34 -12
View File
@@ -21,6 +21,20 @@
;; Optional: Start the Emacs server if not already running
(unless (server-running-p) (server-start)))
(setq claude-code-terminal-backend 'vterm)
(setq claude-code-optimize-window-resize t)
(setq claude-code-no-delete-other-windows t)
(setq claude-code-toggle-auto-select t)
(with-eval-after-load 'claude-code
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
(window-width . 0.4))))
(use-package company
:defer 2
:diminish
@@ -301,6 +315,13 @@
"b S" '(save-some-buffers :wk "Save multiple buffers")
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
(dt/leader-keys
"c" '(:ignore t :wk "Claude")
"c c" '(claude-code :wk "Start claude in a vterm")
"c k" '(claude-code-kill :wk "Kill claude process and its window")
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
"c t" '(claude-code-transient :wk "Claude command menu"))
(dt/leader-keys
"d" '(:ignore t :wk "Dired")
"d d" '(dired :wk "Open dired")
@@ -762,6 +783,8 @@
(setq shell-file-name "/bin/sh"
vterm-max-scrollback 5000))
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
(use-package vterm-toggle
:ensure t
:after vterm
@@ -770,20 +793,19 @@
;; kills the program as it would in most standard terminal programs.
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(setq vterm-toggle-scope 'project))
(with-eval-after-load 'vterm
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.4))))
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(reusable-frames . visible)
(window-width . 0.4))))
(use-package sudo-edit)
+37 -12
View File
@@ -100,6 +100,8 @@ By default, Emacs creates automatic backups of files in their original directori
#+end_src
* CLAUDE-CODE
[[https://github.com/stevemolitor/claude-code.el][Claude-code.el]] is an Emacs interface for Claude Code CLI, providing integration between Emacs and Claude AI for coding assistance.
#+begin_src emacs-lisp
(use-package claude-code
:ensure (claude-code :host github :repo "stevemolitor/claude-code.el")
@@ -108,6 +110,20 @@ By default, Emacs creates automatic backups of files in their original directori
;; Optional: Start the Emacs server if not already running
(unless (server-running-p) (server-start)))
(setq claude-code-terminal-backend 'vterm)
(setq claude-code-optimize-window-resize t)
(setq claude-code-no-delete-other-windows t)
(setq claude-code-toggle-auto-select t)
(with-eval-after-load 'claude-code
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(string-prefix-p "*claude:" (buffer-name (get-buffer buffer-or-name))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(slot . 1) ;; Optional: keeps it separate from vterm if both are open
(window-width . 0.4))))
#+end_src
* COMPANY
@@ -471,6 +487,13 @@ mouse wheel for zooming in/out.
"b S" '(save-some-buffers :wk "Save multiple buffers")
"b w" '(bookmark-save :wk "Save current bookmarks to bookmark file"))
(dt/leader-keys
"c" '(:ignore t :wk "Claude")
"c c" '(claude-code :wk "Start claude in a vterm")
"c k" '(claude-code-kill :wk "Kill claude process and its window")
"c K" '(claude-code-kill-all :wk "Kill all claude processes across all directories")
"c t" '(claude-code-transient :wk "Claude command menu"))
(dt/leader-keys
"d" '(:ignore t :wk "Dired")
"d d" '(dired :wk "Open dired")
@@ -1088,6 +1111,9 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
:config
(setq shell-file-name "/bin/sh"
vterm-max-scrollback 5000))
(add-hook 'vterm-mode-hook (lambda () (display-line-numbers-mode -1)))
#+end_src
** Vterm-Toggle
@@ -1102,20 +1128,19 @@ Vterm is a terminal emulator within Emacs. The 'shell-file-name' setting sets t
;; kills the program as it would in most standard terminal programs.
(evil-define-key 'normal vterm-mode-map (kbd "<escape>") 'vterm--self-insert)
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(setq vterm-toggle-scope 'project))
(with-eval-after-load 'vterm
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.4))))
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(reusable-frames . visible)
(window-width . 0.4))))
#+end_src