|
270 | 270 | (call-interactively 'fancy-narrow-to-region)))) |
271 | 271 |
|
272 | 272 | (use-package eglot |
| 273 | + :demand |
273 | 274 | :bind (("C-c C-l s" . eglot) |
274 | 275 | (:map eglot-mode-map |
275 | 276 | ("C-c C-l f" . eglot-format) |
|
319 | 320 | (go-ts-mode . eglot-ensure))) |
320 | 321 |
|
321 | 322 | (use-package eglot-booster |
| 323 | + :ensure t |
322 | 324 | :after eglot |
323 | 325 | :config (eglot-booster-mode)) |
324 | 326 |
|
325 | | -(use-package claude-code |
| 327 | +(use-package claude-code-ide |
326 | 328 | :ensure t |
327 | | - :after (:all envrc inheritenv vterm transient) |
| 329 | + :after (:all transient envrc inheritenv vterm) |
| 330 | + :bind ("C-c c" . claude-code-transient) |
328 | 331 | :config |
329 | | - (claude-code-mode) |
330 | | - (defun claude-code--vterm-no-window-delete (backend buffer-name program &optional switches) |
331 | | - "vterm backend without window deletion issues." |
332 | | - (claude-code--ensure-vterm) |
333 | | - (let* ((vterm-shell (if switches |
334 | | - (concat program " " (mapconcat #'identity switches " ")) |
335 | | - program)) |
336 | | - (vterm-environment (append (list "TERM_PROGRAM=emacs" "FORCE_CODE_TERMINAL=true") |
337 | | - vterm-environment)) |
338 | | - (buffer (get-buffer-create buffer-name))) |
339 | | - (with-current-buffer buffer |
340 | | - (pop-to-buffer buffer) |
341 | | - (vterm-mode) |
342 | | - ;; Remove the delete-window call that causes the error |
343 | | - buffer))) |
344 | | - |
345 | | - (advice-add 'claude-code--term-make :override #'claude-code--vterm-no-window-delete) |
346 | | - (setq claude-code-terminal-backend 'vterm) |
347 | | - (setq claude-code-enable-notifications t) |
348 | | - (setq claude-code-notification-function #'peel/claude-notify) |
349 | | - :bind-keymap ("C-c c" . claude-code-command-map)) |
350 | | - |
351 | | -(use-package eat :ensure t) |
352 | | -(use-package transient :ensure t) |
| 332 | + (transient-define-prefix claude-code-transient () |
| 333 | + "Claude Code IDE Commands" |
| 334 | + :transient-suffix 'transient--do-stay |
| 335 | + :transient-non-suffix 'transient--do-exit |
| 336 | + [ |
| 337 | + ["Session Management" |
| 338 | + ("s" "Start Claude Code" claude-code-ide) |
| 339 | + ("r" "Resume session" claude-code-ide-resume) |
| 340 | + ("S" "Stop Claude Code" claude-code-ide-stop) |
| 341 | + ("b" "Switch to buffer" claude-code-ide-switch-to-buffer) |
| 342 | + ("l" "List sessions" claude-code-ide-list-sessions)] |
| 343 | + |
| 344 | + ["Interaction" |
| 345 | + ("i" "Insert at mentioned" claude-code-ide-insert-at-mentioned) |
| 346 | + ("e" "Send escape" claude-code-ide-send-escape) |
| 347 | + ("n" "Insert newline" claude-code-ide-insert-newline)] |
| 348 | + |
| 349 | + ["Debug & Status" |
| 350 | + ("c" "Check status" claude-code-ide-check-status) |
| 351 | + ("d" "Show debug" claude-code-ide-show-debug) |
| 352 | + ("D" "Clear debug" claude-code-ide-clear-debug)] |
| 353 | + |
| 354 | + ["Quit" |
| 355 | + ("q" "Quit" transient-quit-one)]])) |
| 356 | + |
| 357 | +(use-package transient |
| 358 | + :demand |
| 359 | + :ensure t) |
353 | 360 |
|
354 | 361 | ;; ..................................................................... Haskell |
355 | 362 | (use-package haskell-mode |
|
390 | 397 | :demand |
391 | 398 | :ensure t |
392 | 399 | :diminish |
393 | | - :config |
394 | | - ;; Apply inheritenv to key commands that start processes |
| 400 | + :init |
395 | 401 | (inheritenv-add-advice 'shell-command) |
396 | 402 | (inheritenv-add-advice 'shell-command-to-string) |
397 | 403 | (inheritenv-add-advice 'async-shell-command) |
398 | 404 | (inheritenv-add-advice 'compile) |
399 | 405 | (inheritenv-add-advice 'project-compile) |
400 | 406 | (inheritenv-add-advice 'claude-code--term-make) |
401 | | - (inheritenv-add-advice 'claude-code-vterm)) |
| 407 | + (inheritenv-add-advice 'claude-code-vterm) |
| 408 | + (inheritenv-add-advice 'claude-code-ide--create-vterm-session)) |
402 | 409 |
|
403 | 410 | ;; ....................................................................... dhall |
404 | 411 | (use-package dhall-mode |
|
597 | 604 | :ensure t |
598 | 605 | :custom |
599 | 606 | (auth-source-1password-vault "Private") |
600 | | - (auth-source-1password-executable "op") |
601 | | - :init |
602 | | - (auth-source-1password-enable)) |
| 607 | + (auth-source-1password-executable "op")) |
| 608 | + ;; :init |
| 609 | + ;; (auth-source-1password-enable)) |
603 | 610 |
|
604 | 611 | (use-package gnuplot |
605 | 612 | :ensure t |
|
0 commit comments