]> git.earman.xyz Git - emacsinit.git/commitdiff
Add geiser, new org agenda option
authorrearman <rearman@r717.net>
Thu, 24 Apr 2025 14:26:53 +0000 (10:26 -0400)
committerrearman <rearman@r717.net>
Thu, 24 Apr 2025 14:26:53 +0000 (10:26 -0400)
Geiser repl and scheme get their own ) and ] bindings
Defun and binding to open org agenda in a new named frame

init.el
re/re-bindings.el
re/re-org-defuns.el
re/re-packages.el

diff --git a/init.el b/init.el
index 3a470af005b4cc3503ad3b37207cd1b0e9fb1fd0..3e343addb373723822a00fb31d2e591c67e2bf3a 100644 (file)
--- a/init.el
+++ b/init.el
 (add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
 
 ;; DraftwieldiƋ
-
 (setq vc-make-backup-files t
       backup-by-copying t
       backup-directory-alist `((".*" . "~/emacs-backups/")))
index f00e6563eb881ba9a18a9be5455ac912bba5945a..bf748f1fa12a3eb06acb394a418a16f6deb0e07c 100644 (file)
 (keymap-global-set "C-z" #'zap-up-to-char)
 (keymap-global-set "C-c s" #'sort-lines)
 (keymap-global-set "M-;" #'re/comment-dwim)
-(keymap-global-set "<remap> <capitalize-word>" #'capitalize-dwim)
-(keymap-global-set "<remap> <downcase-word>" #'downcase-dwim)
-(keymap-global-set "<remap> <upcase-word>" #'upcase-dwim)
-(keymap-global-set "M-'" #'universal-argument)
+(keymap-global-set "<remap> <capitalize-word>" #'capitalize-dwim) ; M-c
+(keymap-global-set "<remap> <downcase-word>" #'downcase-dwim) ; M-l
+(keymap-global-set "<remap> <upcase-word>" #'upcase-dwim) ; M-u
+(keymap-global-set "M-'" #'universal-argument) ; C-u used above
 
 ;; WayfindiƋ
 (keymap-global-set "<home>" #'beginning-of-buffer)
 
 ;; (E)Lisp
 (keymap-global-set "C-M-z" #'eval-region)
-(keymap-global-set "C-M-S-q"
-                  (lambda () (interactive) (sedit-auto-prettify-sexp)))
+(keymap-global-set "C-M-S-q" #'sedit-auto-prettify-sexp)
 
 (defvar *re/lisp-mode-hooks*
-  '(emacs-lisp-mode-hook lisp-mode-hook slime-mode-hook scheme-mode-hook))
+  '(emacs-lisp-mode-hook lisp-mode-hook slime-mode-hook))
 
 (dolist (hook *re/lisp-mode-hooks*)
   (add-hook hook
                        "]"
                        (re/balance-and-eval-sexp #'eval-print-last-sexp))))
 
+;; Scheme
+(defvar *re/scheme-mode-hooks* '(scheme-mode-hook geiser-mode-hook))
+(defvar *re/scheme-mode-maps* '(scheme-mode-map geiser-mode-map))
+
+(dolist (hook *re/scheme-mode-hooks*)
+  (add-hook hook
+           (lambda ()
+             (dolist (maps *re/scheme-mode-maps*)
+               (keymap-set maps
+                           "]"
+                           (re/balance-and-eval-sexp #'sedit-auto-prettify-sexp))))))
+
 ;; IELM
 (keymap-global-set "C-c i" #'ielm)
 
 ;; SLIME REPL
 (add-hook 'slime-repl-mode-hook
          (lambda ()
-           (let ((eval-function #'slime-repl-return))
-             (keymap-set slime-repl-mode-map
-                         ")"
-                         (re/send-on-close-paren eval-function))
-             (keymap-set slime-repl-mode-map
-                         "]"
-                         (re/balance-and-eval-sexp eval-function)))))
+           (keymap-set slime-repl-mode-map
+                       ")"
+                       (re/send-on-close-paren #'slime-repl-return))
+           (keymap-set slime-repl-mode-map
+                       "]"
+                       (re/balance-and-eval-sexp #'slime-repl-return))))
+;; GEISER REPL
+(add-hook 'geiser-repl-mode-hook
+         (lambda ()
+           (keymap-set geiser-repl-mode-map
+                       ")"
+                       (re/send-on-close-paren #'geiser-repl-maybe-send))
+           (keymap-set geiser-repl-mode-map
+                       "]"
+                       (re/balance-and-eval-sexp #'geiser-repl-maybe-send))))
 
 ;; Org Starters
 (keymap-global-set "C-c l" #'org-store-link)
 (keymap-global-set "C-c a" #'org-agenda)
 (keymap-global-set "C-c c" #'org-capture)
 (keymap-global-set "C-c b" #'org-switchb)
-(keymap-global-set "<f8>" #'re/org-agenda-show-custom)
 (keymap-global-set "<f6>" #'re/org-show-agenda)
+(keymap-global-set "<f7>" #'re/org-agenda-new-frame)
+(keymap-global-set "<f8>" #'re/org-agenda-show-custom)
 
 (provide 're-bindings)
 ;;; re-bindings.el ends here
index b428baa57d361b16ad08256b6729b3f5205cc17b..fc3b5527a099d208775e067ab7ab04d528a82567 100644 (file)
   (interactive "P")
   (org-agenda arg "a"))
 
+(defun re/org-agenda-new-frame (&optional arg)
+  "Show my custom agenda in a new frame"
+  (interactive "P")
+  (select-frame (make-frame '((name . "Org"))))
+  (funcall #'re/org-agenda-show-custom))
+
 (defun re/org-auto-generate-ids-in-file ()
   "Add ID properties to all headlines in the current
  file which do not already have one."
index da299f24fe164cb1928b1193e8197e8a4a861496..9169ecc5d0805ef7481d113dd67f8766aec6fe0e 100644 (file)
 
 (use-package paredit :ensure t :bind (("C-c p" quote paredit-mode)))
 
+(use-package geiser
+  :ensure
+  t
+  :config
+  (setq geiser-active-implementations '(chicken)))
+
 (use-package csv-mode :ensure t :defer t)
 
 (add-hook 'csv-mode-hook 'csv-align-mode)