From 0c4a542a9da48f31457f2ce011d94b393129c7f4 Mon Sep 17 00:00:00 2001 From: rearman Date: Thu, 24 Apr 2025 10:26:53 -0400 Subject: [PATCH] Add geiser, new org agenda option Geiser repl and scheme get their own ) and ] bindings Defun and binding to open org agenda in a new named frame --- init.el | 1 - re/re-bindings.el | 50 +++++++++++++++++++++++++++++++-------------- re/re-org-defuns.el | 6 ++++++ re/re-packages.el | 6 ++++++ 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/init.el b/init.el index 3a470af..3e343ad 100644 --- a/init.el +++ b/init.el @@ -143,7 +143,6 @@ (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/"))) diff --git a/re/re-bindings.el b/re/re-bindings.el index f00e656..bf748f1 100644 --- a/re/re-bindings.el +++ b/re/re-bindings.el @@ -21,10 +21,10 @@ (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 " " #'capitalize-dwim) -(keymap-global-set " " #'downcase-dwim) -(keymap-global-set " " #'upcase-dwim) -(keymap-global-set "M-'" #'universal-argument) +(keymap-global-set " " #'capitalize-dwim) ; M-c +(keymap-global-set " " #'downcase-dwim) ; M-l +(keymap-global-set " " #'upcase-dwim) ; M-u +(keymap-global-set "M-'" #'universal-argument) ; C-u used above ;; Wayfindiŋ (keymap-global-set "" #'beginning-of-buffer) @@ -64,11 +64,10 @@ ;; (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 @@ -83,6 +82,18 @@ "]" (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) @@ -116,21 +127,30 @@ ;; 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 "" #'re/org-agenda-show-custom) (keymap-global-set "" #'re/org-show-agenda) +(keymap-global-set "" #'re/org-agenda-new-frame) +(keymap-global-set "" #'re/org-agenda-show-custom) (provide 're-bindings) ;;; re-bindings.el ends here diff --git a/re/re-org-defuns.el b/re/re-org-defuns.el index b428baa..fc3b552 100644 --- a/re/re-org-defuns.el +++ b/re/re-org-defuns.el @@ -13,6 +13,12 @@ (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." diff --git a/re/re-packages.el b/re/re-packages.el index da299f2..9169ecc 100644 --- a/re/re-packages.el +++ b/re/re-packages.el @@ -101,6 +101,12 @@ (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) -- 2.39.5