Commit Diff


commit - c59d8012518beaa2179e5cff8cc4d58ffd01769d
commit + 04cd916c2526a071bfb8373940f5ae8265b08c98
blob - 95c48ebb07f42533fea8fb9c7d36b7762bd27c75
blob + 7de7cb89f85847fa471752a797ad6130600ed011
--- init.el
+++ init.el
@@ -123,6 +123,7 @@
  (elpaca ef-themes)
  (elpaca fontaine)
  (elpaca pilish)
+ (elpaca eziam-themes)
  (elpaca (tramp-rpc :host github :repo "ArthurHeymans/emacs-tramp-rpc"
                     :files ("lisp/*.el")))
  (elpaca (janet-ts-mode :host github :repo "sogaiu/janet-ts-mode"))
@@ -133,7 +134,7 @@
 (defconst mine-modules
   '(setup-core setup-ui setup-evil setup-cmp setup-search setup-treesitter setup-prog
                setup-eglot setup-git setup-shell setup-term-sessions setup-tramp-rpc
-               setup-notes setup-remind setup-gptel setup-keys)
+               setup-notes setup-remind setup-gptel setup-pilish setup-keys)
   "Configuration libraries loaded during startup.")
 
 (dolist (module mine-modules)
blob - 3da5a34fb06322e538db574586321b9632f878f5
blob + 0223230f8d277d7d39d4b7256b3ecd4d331ab8fe
--- lisp/setup-evil.el
+++ lisp/setup-evil.el
@@ -37,7 +37,7 @@
   :bind (:map evil-insert-state-map
               ("C-g" . evil-normal-state))
   :config
-  (evil-mode)
+  (evil-mode 1)
   (add-hook 'git-commit-setup-hook #'evil-insert-state)
   (evil-set-initial-state 'eat-mode 'emacs)
 
blob - /dev/null
blob + 3b460187a61b651da4b920512cea2367e6c4d6d8 (mode 644)
--- /dev/null
+++ lisp/setup-pilish.el
@@ -0,0 +1,17 @@
+;;; setup-pilish.el --- Pi coding agent frontend  -*- lexical-binding: t; -*-
+
+;;; Commentary:
+
+;; Configure Pilish (Emacs frontend for the pi coding agent):
+;; custom backend executable and Evil integration.
+
+;;; Code:
+
+(use-package pilish
+  :custom
+  (pilish-executable '("pisol" "pi" "--offline"))
+  :config
+  (require 'pilish-evil nil t))
+
+(provide 'setup-pilish)
+;;; setup-pilish.el ends here
blob - 1da24af77aa526d7ce665936e257de3455ea2508
blob + ea6b506d34dad26289ce774f40653c1cfc68b81c
--- lisp/setup-ui.el
+++ lisp/setup-ui.el
@@ -77,19 +77,15 @@
   ;; Move underlines to the descent line to reduce glyph clipping.
   (setopt x-underline-at-descent-line t))
 
-(defvar ef-themes-items)
-(defvar doric-themes-collection)
-
-(defun mine-theme--record ()
+(defun mine-theme--record (&rest _)
   "Persist selected theme on restart."
   (when (display-graphic-p)
-    (catch 'found
-      (dolist (theme custom-enabled-themes)
-        (when (or (memq theme ef-themes-items)
-                  (memq theme doric-themes-collection))
-          (setq mine-last-theme theme)
-          (throw 'found t))))))
+    (when custom-enabled-themes
+      (setq mine-last-theme (car custom-enabled-themes)))))
 
+(advice-add 'load-theme :after #'mine-theme--record)
+
+(add-hook 'enable-theme-functions #'mine-theme--record)
 (add-hook 'doric-themes-after-load-theme-hook #'mine-theme--record)
 
 (use-package doric-themes
@@ -107,10 +103,11 @@
   :demand t
   :config
   (add-hook 'ef-themes-after-load-theme-hook #'mine-theme--record)
-  (load-theme (or (and mine-last-theme
-                       (require-theme mine-last-theme 'noerror))
-                  'ef-winter)
-              t))
+  (condition-case nil
+      (load-theme (or (and (symbolp mine-last-theme) mine-last-theme)
+                      'ef-winter)
+                  t)
+    (error (load-theme 'ef-winter t))))
 
 (setopt display-line-numbers-width 3)
 
@@ -139,5 +136,11 @@
 
 (which-key-mode)
 
+(when (boundp 'mode-line-collapse-minor-modes)
+  (setopt mode-line-collapse-minor-modes
+          '(evil-collection-unimpaired-mode
+            which-key-mode
+            compile-angel-on-load-mode)))
+
 (provide 'setup-ui)
 ;;; setup-ui.el ends here