From 989171268461a0069ecd53a49e6098ce08638102 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Fri, 5 May 2023 09:58:21 -0500 Subject: changes --- init.el | 617 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 302 insertions(+), 315 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index d6363ea..707125e 100644 --- a/init.el +++ b/init.el @@ -21,52 +21,52 @@ (use-package emacs ; Misc. config :config - (setopt recenter-positions '(top middle bottom) - initial-major-mode 'lisp-interaction-mode - initial-scratch-message ";; Emacs!\n\n" - ;; (format "%s\n\n" - ;; (mapconcat (lambda (s) (format ";; %s" s)) - ;; (process-lines "fortune" "-s") - ;; "\n")) - eval-expression-print-level nil - eval-expression-print-length nil - x-select-enable-clipboard-manager nil) + (setq recenter-positions '(top middle bottom) + initial-major-mode 'lisp-interaction-mode + initial-scratch-message ";; Emacs!\n\n" + ;; (format "%s\n\n" + ;; (mapconcat (lambda (s) (format ";; %s" s)) + ;; (process-lines "fortune" "-s") + ;; "\n")) + eval-expression-print-level nil + eval-expression-print-length nil + x-select-enable-clipboard-manager nil) ;; TODO: move this ... elsewhere - (setopt mode-line-format - '("%e" - mode-line-front-space - ;; (:propertize ("" mode-line-mule-info - ;; mode-line-client - ;; mode-line-modified - ;; mode-line-remote) - ;; display (min-width (5.0))) - ("" mode-line-mule-info - mode-line-client - mode-line-modified - mode-line-remote) - mode-line-frame-identification - mode-line-buffer-identification - " " - mode-line-position - (vc-mode vc-mode) - " " - minions-mode-line-modes - mode-line-misc-info - mode-line-end-spaces)) + (setq mode-line-format + '("%e" + mode-line-front-space + ;; (:propertize ("" mode-line-mule-info + ;; mode-line-client + ;; mode-line-modified + ;; mode-line-remote) + ;; display (min-width (5.0))) + ("" mode-line-mule-info + mode-line-client + mode-line-modified + mode-line-remote) + mode-line-frame-identification + mode-line-buffer-identification + " " + mode-line-position + (vc-mode vc-mode) + " " + minions-mode-line-modes + mode-line-misc-info + mode-line-end-spaces)) (keymap-global-unset "C-\\") (keymap-global-unset "") (setf (alist-get "\\*Compile-Log\\*" display-buffer-alist nil nil #'equal) '(display-buffer-no-window)) - (add-hook 'after-init-hook - (defun global-mode-string@setup () - (defvar jabber-activity-mode-string) - (defvar org-mode-line-string) - (defvar display-time-mode) - (defvar display-time-string) - (setf global-mode-string - '((t jabber-activity-mode-string) - org-mode-line-string - (display-time-mode display-time-string))))) + ;; (add-hook 'after-init-hook + ;; (defun global-mode-string@setup () + ;; (defvar jabber-activity-mode-string) + ;; (defvar org-mode-line-string) + ;; (defvar display-time-mode) + ;; (defvar display-time-string) + ;; (setf global-mode-string + ;; '((t jabber-activity-mode-string) + ;; org-mode-line-string + ;; (display-time-mode display-time-string))))) (keymap-global-set "C-c t" (define-keymap :prefix 'toggle-map @@ -87,23 +87,22 @@ "Recursive Mono Casual Static" "Comic Code" "DejaVu Sans Mono") - :height 100))) + :height 110))) (face-spec-set 'fixed-pitch `((t :family ,(find-font - "Recursive Mono Casual Static" + "Recursive Mono Linear Static" "Comic Code" "DejaVu Sans Mono") :height 1.0))) (face-spec-set 'variable-pitch `((t :family ,(find-font - "Recursive Sans Linear Static" + "Recursive Sans Casual Static" "Atkinson Hyperlegible" "DejaVu Serif") :height 1.0))) (face-spec-set 'font-lock-comment-face - `((t :inherit variable-pitch))) - (face-spec-set 'font-lock-string-face - `((t :inherit variable-pitch))) + `((t :slant italic + :inherit variable-pitch))) ;; Emojis (cl-loop with ffl = (font-family-list) for font in '("Noto Emoji" "Noto Color Emoji" @@ -147,8 +146,11 @@ (use-package prog-mode :config - (setopt tab-width 8 - sh-indentation tab-width) + ;;; TABS + (setq tab-width 8 + sh-indentation tab-width + ) + ;;; Hooks (add-hook 'prog-mode-hook #'auto-fill-mode) (add-hook 'prog-mode-hook (defun prog@indent-tabs-maybe () @@ -158,11 +160,12 @@ 'scheme-mode 'python-mode 'haskell-mode) - -1 1))))) + -1 1)))) + (global-prettify-symbols-mode)) (use-package auth-source :config - (setopt auth-sources '(default "secrets:passwords")) + (setq auth-sources '(default "secrets:passwords")) (add-hook 'auth-info-hook #'truncate-lines-local-mode)) (use-package fringe @@ -171,7 +174,7 @@ (use-package ispell :config - (setopt ispell-program-name (choose-executable "aspell" "ispell")) + (setq ispell-program-name (choose-executable "aspell" "ispell")) ;; (add-hook 'before-save-hook ;; #'+ispell-move-buffer-words-to-dir-locals-hook) (put 'ispell-buffer-session-localwords 'safe-local-variable @@ -185,23 +188,23 @@ ("" . dired-up-directory)) :config (require 'dired-x) - (setopt dired-recursive-copies 'always - dired-recursive-deletes 'always - dired-create-destination-dirs 'always - dired-do-revert-buffer t - dired-hide-details-hide-symlink-targets nil - dired-isearch-filenames 'dwim - delete-by-moving-to-trash t - dired-auto-revert-buffer t - dired-listing-switches "-AlFhv --group-directories-first" - ls-lisp-dirs-first t - dired-ls-F-marks-symlinks t - dired-clean-confirm-killing-deleted-buffers nil - dired-no-confirm '(byte-compile - load chgrp chmod chown - copy move hardlink symlink - shell touch) - dired-dwim-target t) + (setq dired-recursive-copies 'always + dired-recursive-deletes 'always + dired-create-destination-dirs 'always + dired-do-revert-buffer t + dired-hide-details-hide-symlink-targets nil + dired-isearch-filenames 'dwim + delete-by-moving-to-trash t + dired-auto-revert-buffer t + dired-listing-switches "-AlFhv --group-directories-first" + ls-lisp-dirs-first t + dired-ls-F-marks-symlinks t + dired-clean-confirm-killing-deleted-buffers nil + dired-no-confirm '(byte-compile + load chgrp chmod chown + copy move hardlink symlink + shell touch) + dired-dwim-target t) (add-hook 'dired-mode-hook #'dired-hide-details-mode) (add-hook 'dired-mode-hook #'hl-line-mode) (add-hook 'dired-mode-hook #'truncate-lines-local-mode)) @@ -226,43 +229,68 @@ (use-package mouse :config - (setopt context-menu-functions '(context-menu-undo - context-menu-region - context-menu-middle-separator - context-menu-local - context-menu-minor)) + (setq context-menu-functions '(context-menu-undo + context-menu-region + context-menu-middle-separator + context-menu-local + context-menu-minor)) (context-menu-mode)) (use-package password-cache :config - (setopt password-cache t - password-cache-expiry 3600)) + (setq password-cache t + password-cache-expiry 3600)) (use-package time :config - (setopt display-time-format " %H:%M" - display-time-interval 60 - display-time-use-mail-icon t - display-time-mail-function - (defun +notmuch-new-mail-p () - (plist-get (cl-find "inbox+unread" - (ignore-errors - (notmuch-hello-query-counts notmuch-saved-searches)) - :key (lambda (l) (plist-get l :name)) - :test #'equal) - :count)) - display-time-default-load-average nil) + (setq display-time-format " %H:%M" + display-time-interval 60 + display-time-use-mail-icon t + display-time-mail-function + (defun +notmuch-new-mail-p () + (plist-get (cl-find "inbox+unread" + (ignore-errors + (notmuch-hello-query-counts notmuch-saved-searches)) + :key (lambda (l) (plist-get l :name)) + :test #'equal) + :count)) + display-time-default-load-average nil) (with-eval-after-load 'notmuch (add-hook 'notmuch-after-tag-hook #'display-time-update)) - (display-time-mode)) + ;; (display-time-mode) + ) (use-package tab-bar :config - (setopt tab-bar-show t - tab-bar-close-button-show t) - ;; (add-to-list 'tab-bar-format 'tab-bar-format-menu-bar) - (add-to-list 'tab-bar-format 'tab-bar-format-align-right :append) - (add-to-list 'tab-bar-format 'tab-bar-format-global :append) + (setq tab-bar-show t + tab-bar-close-button-show t) + (setopt tab-bar-format + `(tab-bar-format-history + tab-bar-format-tabs + tab-bar-separator + tab-bar-format-add-tab + tab-bar-format-align-right + ,(defun tab-bar-extra-info () + `((global menu-item + ,(format-mode-line + '((jabber-activity-mode jabber-activity-mode-string) + (:eval (when (and (fboundp 'org-clocking-p) + (org-clocking-p)) + (format " %s" + (truncate-string-to-width + org-mode-line-string + 16 + nil + nil + (truncate-string-ellipsis))))) + (:eval (tmr-mode-line)) + (display-time-mode + (:eval (format " %s" (string-trim display-time-string)))) + ("" " "))) + ignore)))) + mode-line-misc-info (cl-delete-if (lambda (x) + (eq (car x) 'global-mode-string)) + mode-line-misc-info)) (if (daemonp) (add-hook 'server-after-make-frame-hook (defun after-frame@tab-bar () @@ -306,7 +334,7 @@ (use-package eldoc :config - (setopt eldoc-documentation-strategy #'eldoc-documentation-compose-eagerly) + (setq eldoc-documentation-strategy #'eldoc-documentation-compose-eagerly) (setf (alist-get "^\\*eldoc for" display-buffer-alist nil nil #'equal) '(display-buffer-at-bottom (window-height . 4))) @@ -314,15 +342,15 @@ (use-package pulse :config - (setopt pulse-flag nil - pulse-delay 1 - pulse-iterations 1)) + (setq pulse-flag nil + pulse-delay 1 + pulse-iterations 1)) (use-package flyspell :hook (org-mode-hook)) -(use-package display-fill-column-indicator - :hook (prog-mode-hook)) +;; (use-package display-fill-column-indicator +;; :hook (prog-mode-hook)) (use-package package :config @@ -382,6 +410,23 @@ See `inferior-emacs-lisp-mode' for details." (add-hook 'ielm-mode-hook #'+ielm-init-history) (advice-add 'ielm-send-input :after #'+ielm-write-history)) +(use-package elec-pair + :config + (setopt electric-pair-skip-whitespace 'chomp) + (electric-pair-mode)) + +(use-package bookmark + :config + (setopt bookmark-save-flag 1)) + +(use-package sh-script + :config + (sh-electric-here-document-mode -1)) + +(use-package cc-mode + :config + (setopt c-basic-offset 8)) + ;;; Applications @@ -413,7 +458,7 @@ See `inferior-emacs-lisp-mode' for details." (use-package +scratch :load-path "lisp/" :config - (setopt +scratch-save-dir (sync/ "emacs/scratch.d/" t)) + (setq +scratch-save-dir (sync/ "emacs/scratch.d/" t)) (add-hook 'kill-buffer-query-functions #'+scratch@immortal) (add-hook 'kill-emacs-hook #'+scratch-save-on-exit) (with-current-buffer (get-scratch-buffer-create) @@ -424,21 +469,14 @@ See `inferior-emacs-lisp-mode' for details." (run-at-time t (* 60 60 24) #'+scratch-clean)) (use-package pulse-location - :load-path "~/src/emacs/pulse-location/" + :load-path "~/src/pulse-location.el/" :config (pulse-location-mode)) -(use-package dawn - :load-path "~/src/emacs/dawn/" - :after custom-allowed +(use-package emacs ; `modus-themes' isn't a package ... :config - (add-hook 'custom-allowed-after-load-hook - (defun dawn-modus () - (dawn-schedule-themes 'modus-operandi - 'modus-vivendi))) (setopt modus-themes-mixed-fonts t) - (load-theme 'modus-vivendi t) - (add-hook 'dawn-after-load-theme-hook + (add-hook 'modus-themes-after-load-theme-hook (defun +reset-faces () (dolist (face '(font-lock-regexp-face font-lock-variable-name-face @@ -469,23 +507,28 @@ See `inferior-emacs-lisp-mode' for details." :weight bold))) (face-spec-set 'font-lock-doc-face '((t :slant italic))))) - (+reset-faces)) + (add-hook 'after-init-hook + (defun modus@load () + (+reset-faces) + (pcase (string-trim (shell-command-to-string "darkman get")) + ("light" (load-theme 'modus-operandi t)) + ("dark" (load-theme 'modus-vivendi t)))))) (use-package electric-cursor - :load-path "~/src/emacs/electric-cursor/" + :load-path "~/src/electric-cursor.el/" :config - (setopt electric-cursor-alist '((overwrite-mode . box) - (t . bar))) + (setq electric-cursor-alist '((overwrite-mode . box) + (t . bar))) (electric-cursor-mode)) (use-package mode-line-bell - :load-path "~/src/emacs/mode-line-bell/" + :load-path "~/src/mode-line-bell.el/" :config - (setopt mode-line-bell-flash-time 0.25) + (setq mode-line-bell-flash-time 0.25) (mode-line-bell-mode)) (use-package titlecase - :load-path "~/src/emacs/titlecase.el/" + :load-path "~/src/titlecase.el/" :preface (defun +titlecase-sentence-style-dwim (&optional arg) "Titlecase a sentence. @@ -515,7 +558,7 @@ With prefix ARG, toggle the value of (keymap-set scule-map "M-t" #'titlecase-dwim))) (use-package scule - :load-path "~/src/emacs/scule/" + :load-path "~/src/scule.el/" :bind-keymap ("M-c" . scule-map) :init ;; Use M-u for prefix keys @@ -523,23 +566,23 @@ With prefix ARG, toggle the value of (keymap-set universal-argument-map "M-u" #'universal-argument-more)) (use-package filldent - :load-path "~/src/emacs/filldent/" + :load-path "~/src/filldent.el/" :bind ("M-q" . filldent-dwim) :config - (setopt filldent-fill-modes '(web-mode))) + (setq filldent-fill-modes '(web-mode))) (use-package frowny - :load-path "~/src/emacs/frowny/" + :load-path "~/src/frowny.el/" :config (global-frowny-mode)) (use-package keepassxc-shim - :load-path "~/src/emacs/keepassxc-shim/" + :load-path "~/src/keepassxc-shim.el/" :config (keepassxc-shim-activate)) (use-package hippie-completing-read - :load-path "~/src/emacs/hippie-completing-read/" + :load-path "~/src/hippie-completing-read.el/" :bind (("M-/" . hippie-completing-read))) @@ -549,7 +592,7 @@ With prefix ARG, toggle the value of :ensure t :config ;; https://github.com/jwiegley/emacs-async/issues/64 - ;; (setopt message-send-mail-function #'async-smtpmail-send-it) + ;; (setq message-send-mail-function #'async-smtpmail-send-it) (dired-async-mode) (async-bytecomp-package-mode)) @@ -560,11 +603,11 @@ With prefix ARG, toggle the value of :ensure t :hook (prog-mode-hook)) -(use-package clean-kill-ring - :vc (:url "https://github.com/NicholasBHubbard/clean-kill-ring.el") - :config - (setopt clean-kill-ring-prevent-duplicates t) - (clean-kill-ring-mode)) +;; (use-package clean-kill-ring +;; :vc (:url "https://github.com/NicholasBHubbard/clean-kill-ring.el") +;; :config +;; (setq clean-kill-ring-prevent-duplicates t) +;; (clean-kill-ring-mode)) (use-package minions :ensure t @@ -641,7 +684,7 @@ The prefix argument is as in `visual-fill-column-widen' but negated." (use-package wgrep :ensure t :config - (setopt wgrep-enable-key (kbd "C-x C-q")) + (setq wgrep-enable-key (kbd "C-x C-q")) :bind (:map grep-mode-map ("C-x C-q" . wgrep-change-to-wgrep-mode))) @@ -651,8 +694,8 @@ The prefix argument is as in `visual-fill-column-widen' but negated." :map isearch-mode-map ("M-j" . avy-isearch)) :config - (setopt avy-background t - avy-keys (string-to-list "asdfghjklqwertyuiopzxcvbnm"))) + (setq avy-background t + avy-keys (string-to-list "asdfghjklqwertyuiopzxcvbnm"))) (use-package zzz-to-char :ensure t @@ -666,11 +709,11 @@ The prefix argument is as in `visual-fill-column-widen' but negated." (use-package isearch-mb :ensure t :config - (setopt isearch-lazy-count t - isearch-regexp-lax-whitespace t - search-whitespace-regexp "\\W+" - search-default-mode t ; Search regexp by default - isearch-wrap-pause 'no) + (setq isearch-lazy-count t + isearch-regexp-lax-whitespace t + search-whitespace-regexp "\\W+" + search-default-mode t ; Search regexp by default + isearch-wrap-pause 'no) (define-advice isearch-cancel (:before (&rest _) add-search-to-history) "Add search string to history when canceling." (unless (equal "" isearch-string) @@ -702,46 +745,46 @@ The prefix argument is as in `visual-fill-column-widen' but negated." "C-M-%" #'anzu-isearch-query-replace) (isearch-mb-mode)) -(use-package paredit - :ensure t - :hook ( emacs-lisp-mode-hook ielm-mode-hook - eval-expression-minibuffer-setup-hook - lisp-interaction-mode-hook - lisp-mode-hook scheme-mode-hook - fennel-mode-hook fennel-repl-mode-hook - geiser-mode-hook geiser-repl-mode-hook) - :config - (keymap-set paredit-mode-map "C-j" - (defun +paredit-newline () - (interactive) - (call-interactively - (if (derived-mode-p 'lisp-interaction-mode) - #'eval-print-last-sexp #'paredit-newline)))) - (keymap-unset paredit-mode-map "RET" t) - (keymap-unset paredit-mode-map "M-s" t) - (keymap-unset paredit-mode-map "M-r" t) - (add-to-list 'paredit-space-for-delimiter-predicates - (defun paredit@dont-space-@ (endp delimiter) - "Don't add a space after @ in `paredit-mode'." - (let ((point (point))) - (or endp - (seq-every-p - (lambda (prefix) - (and (> point (length prefix)) - (let ((start (- point (length prefix))) - (end point)) - (not (string= (buffer-substring start end) - prefix))))) - ;; Add strings to this list to inhibit adding a space - ;; after them. - '(",@"))))))) +;; (use-package paredit +;; :ensure t +;; :hook ( emacs-lisp-mode-hook ielm-mode-hook +;; eval-expression-minibuffer-setup-hook +;; lisp-interaction-mode-hook +;; lisp-mode-hook scheme-mode-hook +;; fennel-mode-hook fennel-repl-mode-hook +;; geiser-mode-hook geiser-repl-mode-hook) +;; :config +;; (keymap-set paredit-mode-map "C-j" +;; (defun +paredit-newline () +;; (interactive) +;; (call-interactively +;; (if (derived-mode-p 'lisp-interaction-mode) +;; #'eval-print-last-sexp #'paredit-newline)))) +;; (keymap-unset paredit-mode-map "RET" t) +;; (keymap-unset paredit-mode-map "M-s" t) +;; (keymap-unset paredit-mode-map "M-r" t) +;; (add-to-list 'paredit-space-for-delimiter-predicates +;; (defun paredit@dont-space-@ (endp delimiter) +;; "Don't add a space after @ in `paredit-mode'." +;; (let ((point (point))) +;; (or endp +;; (seq-every-p +;; (lambda (prefix) +;; (and (> point (length prefix)) +;; (let ((start (- point (length prefix))) +;; (end point)) +;; (not (string= (buffer-substring start end) +;; prefix))))) +;; ;; Add strings to this list to inhibit adding a space +;; ;; after them. +;; '(",@"))))))) (use-package hungry-delete :ensure t :config - (setopt hungry-delete-chars-to-skip " \t" - hungry-delete-skip-regexp (format "[%s]" hungry-delete-chars-to-skip) - hungry-delete-join-reluctantly nil) + (setq hungry-delete-chars-to-skip " \t" + hungry-delete-skip-regexp (format "[%s]" hungry-delete-chars-to-skip) + hungry-delete-join-reluctantly nil) (add-to-list 'hungry-delete-except-modes 'eshell-mode) (add-to-list 'hungry-delete-except-modes 'nim-mode) (add-to-list 'hungry-delete-except-modes 'python-mode) @@ -758,9 +801,9 @@ The prefix argument is as in `visual-fill-column-widen' but negated." (interactive "*p") (if (looking-at hungry-delete-skip-regexp) (hungry-delete-forward (or arg 1)) - (paredit-forward-delete arg)))) - ;; Mode - (global-hungry-delete-mode))) + (paredit-forward-delete arg))))) + ;; Mode + (global-hungry-delete-mode)) (use-package macrostep :ensure t @@ -777,7 +820,7 @@ The prefix argument is as in `visual-fill-column-widen' but negated." :ensure t :when inferior-lisp-program :preface - (setopt inferior-lisp-program (choose-executable "sbcl")) + (setq inferior-lisp-program (choose-executable "sbcl")) (defun +sly-start-or-mrepl () (interactive) (if (ignore-errors (sly-connection)) @@ -787,7 +830,7 @@ The prefix argument is as in `visual-fill-column-widen' but negated." :config (autoload 'sly-mrepl "sly-mrepl" nil t) (keymap-set sly-mode-map "C-c C-z" #'+sly-start-or-mrepl) - (setopt sly-net-coding-system 'utf-8-unix) + (setq sly-net-coding-system 'utf-8-unix) (sly-symbol-completion-mode -1)) (use-package pdf-tools @@ -825,9 +868,9 @@ The prefix argument is as in `visual-fill-column-widen' but negated." :ensure t :mode "\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" :config - (setopt markdown-command (choose-executable - '("pandoc" "--from=markdown" "--to=html5") - "markdown")) + (setq markdown-command (choose-executable + '("pandoc" "--from=markdown" "--to=html5") + "markdown")) (add-hook 'markdown-mode-hook #'visual-fill-column-mode)) (use-package pandoc-mode @@ -864,31 +907,44 @@ The prefix argument is as in `visual-fill-column-widen' but negated." :bind (("C-c r p" . eradio-toggle|play) ("C-c r s" . eradio-stop)) :config - (setopt eradio-player '("mpv" "--no-video" "--no-terminal") - eradio-channels - ;; At some point I should actually ... write this in to this file or - ;; something. But until I decide to quit using radish altogether, this - ;; what I got. - (with-current-buffer (find-file-noselect "~/etc/radish/stations") - (let (chans) - (dolist (line (string-split (buffer-substring-no-properties - (point-min) (point-max)) - "\n") - chans) - (unless (string-match-p "^#" line) - (let* ((ll (string-split line "\t")) - (url (cl-first ll)) - (name (cl-second ll)) - (tags (cl-third ll))) - (when (and name - (string-match-p "[^ \n\t]*://[^ \n\t]*" url)) - (push (cons (format "%s - %s" name tags) url) chans))))))))) + (setq eradio-player '("mpv" "--no-video" "--no-terminal") + eradio-channels + ;; (name . url) + '(("Nightwave Plaza" . "http://radio.plaza.one/ogg") + ("Radio Paradise - Main Mix" . + "http://stream.radioparadise.com/rp_192m.ogg") + ("Radio Paradise - Mellow Mix" . + "http://stream.radioparadise.com/mellow-96m.ogg") + ("Radio Paradise - Rock Mix" . + "http://stream.radioparadise.com/rock-96m.ogg") + ("Radio Paradise - Global Mix" . + "http://stream.radioparadise.com/global-96m.ogg") + ("KLSU" . "http://130.39.238.143:8010/stream.mp3")) + ;; At some point I should actually ... write this in to this file or + ;; something. But until I decide to quit using radish altogether, this + ;; what I got. + ;; (with-current-buffer (find-file-noselect "~/etc/radish/stations") + ;; (let (chans) + ;; (dolist (line (string-split (buffer-substring-no-properties + ;; (point-min) (point-max)) + ;; "\n") + ;; chans) + ;; (unless (string-match-p "^#" line) + ;; (let* ((ll (string-split line "\t")) + ;; (url (cl-first ll)) + ;; (name (cl-second ll)) + ;; (tags (cl-third ll))) + ;; (when (and name + ;; (string-match-p "[^ \n\t]*://[^ \n\t]*" url)) + ;; (push (cons (format "%s - %s" name tags) url) + ;; chans))))))) + )) (use-package wiki-abbrev :after org ; Don't need abbrevs til I load org. - :load-path "~/src/emacs/wiki-abbrev.el/" + :load-path "~/src/wiki-abbrev.el/" :config - (setopt wiki-abbrev-file (etc/ "wiki-abbrevs")) + (setq wiki-abbrev-file (etc/ "wiki-abbrevs")) (wiki-abbrev-insinuate)) (use-package flyspell-correct @@ -931,7 +987,7 @@ With PREFIX, prompt to change the current dictionary." :bind (:map dired-mode-map (")" . dired-git-info-mode)) :config - (setopt dgi-auto-hide-details-p nil)) + (setq dgi-auto-hide-details-p nil)) (use-package expand-region ; needed for embrace anyway :ensure t @@ -963,7 +1019,7 @@ With PREFIX, prompt to change the current dictionary." (keymap-set org-mode-map "=" (org-insert-or-embrace "=")) (keymap-set org-mode-map "~" (org-insert-or-embrace "~")) (keymap-set org-mode-map "+" (org-insert-or-embrace "+"))) - :bind (("C-\"" . embrace-commander)) + :bind (("C-'" . embrace-commander)) :hook ((org-mode-hook . embrace-org-mode-hook) (ruby-mode-hook . embrace-ruby-mode-hook) (emacs-lisp-mode-hook . embrace-emacs-lisp-mode-hook) @@ -972,7 +1028,7 @@ With PREFIX, prompt to change the current dictionary." (use-package apheleia :ensure t :config - (setopt apheleia-hide-log-buffers t) + (setq apheleia-hide-log-buffers t) (setf (alist-get 'shfmt apheleia-formatters) '("shfmt" "--case-indent")) (global-set-key (kbd "M-C-\\") @@ -997,44 +1053,24 @@ With PREFIX, prompt to change the current dictionary." (use-package rec-mode :ensure t) -;; (use-package gauche-mode -;; :load-path "~/src/emacs/gauche-mode/" -;; :mode "\\.scm\\'" -;; :config -;; (setopt gauche-mode-info-language 'en -;; scheme-program-name "gosh -i" -;; scheme-compile-exp-command "%s") -;; (add-to-list 'scheme-source-modes 'gauche-mode) -;; (setf (alist-get "\\*scheme\\*" display-buffer-alist nil nil #'equal) -;; '((display-buffer-reuse-window -;; display-buffer-pop-up-window) -;; (inhibit-same-window . t))) -;; (add-hook 'gauche-mode-hook #'enable-gauche-paredit-mode) -;; (add-hook 'inferior-scheme-mode-hook #'enable-gauche-paredit-mode) -;; ;; Extras -;; (define-key gauche-mode-map (kbd "C-c C-k") -;; (defun +gauche-mode-send-buffer () -;; (interactive) -;; (save-mark-and-excursion -;; (let ((start (point-min)) -;; (end (point-max))) -;; (goto-char start) -;; (while (or (looking-at "#!") ; Shebang -;; (looking-at ":;") ; "shell trampoline" -;; ) -;; (forward-line 1) -;; (beginning-of-line) -;; (setq start (point))) -;; (scheme-send-region-and-go start end)))))) (use-package geiser :ensure t :config - (use-package geiser-guile :ensure t) - (use-package geiser-chicken :ensure t) - (use-package geiser-chez :ensure t) - (use-package geiser-gambit :ensure t) - (use-package geiser-chibi :ensure t) + (when (executable-find "guile") + (use-package geiser-guile :ensure t)) + (when (executable-find "chicken") + (use-package geiser-chicken :ensure t)) + (when (or (prog1 (executable-find "chez") + (setopt geiser-chez-binary + (executable-find "chez"))) + (executable-find "petite") + (executable-find "scheme")) + (use-package geiser-chez :ensure t)) + (when (executable-find "gambit") + (use-package geiser-gambit :ensure t)) + (when (executable-find "chibi-scheme") + (use-package geiser-chibi :ensure t)) (use-package macrostep-geiser :ensure t :config @@ -1047,21 +1083,6 @@ With PREFIX, prompt to change the current dictionary." (keymap-unset geiser-mode-map "C-." t) (keymap-unset scheme-mode-map "M-o" t))) -(use-package treesit-auto - ;; XXX: I don't really get the utility of this package, but I spent a ton of - ;; time figuring out how to properly build it ... so here it is. - :ensure t - :when (treesit-available-p) - :config - ;; (setopt treesit-extra-load-path - ;; ;; https://github.com/casouri/tree-sitter-module/ - ;; `(,(expand-file-name "~/misc/tree-sitter-module/dist/"))) - (setopt treesit-auto-install nil) ; javascript keeps failing - (global-treesit-auto-mode)) - -(use-package elpher - :ensure t) - (use-package detached :when (executable-find "dtach") :ensure t @@ -1078,33 +1099,33 @@ With PREFIX, prompt to change the current dictionary." (use-package lin :ensure t :config - (setopt lin-face 'lin-cyan - lin-mode-hooks - '(dired-mode-hook - ;; bongo-mode-hook - ;; elfeed-search-mode-hook - git-rebase-mode-hook - grep-mode-hook - ibuffer-mode-hook - ilist-mode-hook - ;; ledger-report-mode-hook - log-view-mode-hook - magit-log-mode-hook - ;; mu4e-headers-mode-hook - notmuch-search-mode-hook - notmuch-tree-mode-hook - occur-mode-hook - org-agenda-mode-hook - pdf-outline-buffer-mode-hook - proced-mode-hook - tabulated-list-mode-hook)) + (setq lin-face 'lin-cyan + lin-mode-hooks + '(dired-mode-hook + ;; bongo-mode-hook + ;; elfeed-search-mode-hook + git-rebase-mode-hook + grep-mode-hook + ibuffer-mode-hook + ilist-mode-hook + ;; ledger-report-mode-hook + log-view-mode-hook + magit-log-mode-hook + ;; mu4e-headers-mode-hook + notmuch-search-mode-hook + notmuch-tree-mode-hook + occur-mode-hook + org-agenda-mode-hook + pdf-outline-buffer-mode-hook + proced-mode-hook + tabulated-list-mode-hook)) (lin-global-mode)) (use-package gcmh :ensure t :config - (setopt gcmh-idle-delay 'auto - gcmh-verbose nil) + (setq gcmh-idle-delay 'auto + gcmh-verbose nil) (gcmh-mode)) (use-package tmr @@ -1116,44 +1137,10 @@ With PREFIX, prompt to change the current dictionary." tmr--timers) (propertize "⏲" 'face 'font-lock-warning-face) "")) - (add-to-list 'global-mode-string - '("" (:eval (tmr-mode-line))) - 'append)) - -;; (use-package elfeed -;; :ensure t -;; :preface -;; ;; https://karthinks.com/software/lazy-elfeed/ -;; (defun elfeed-scroll-up-command (&optional arg) -;; "Scroll up or go to next feed item in Elfeed" -;; (interactive "^P") -;; (let ((scroll-error-top-bottom nil)) -;; (condition-case-unless-debug nil -;; (scroll-up-command arg) -;; (error (elfeed-show-next))))) -;; (defun elfeed-scroll-down-command (&optional arg) -;; "Scroll up or go to next feed item in Elfeed" -;; (interactive "^P") -;; (let ((scroll-error-top-bottom nil)) -;; (condition-case-unless-debug nil -;; (scroll-down-command arg) -;; (error (elfeed-show-prev))))) -;; :bind (("C-c f" . elfeed)) -;; :config -;; (setopt elfeed-enclosure-default-dir "~/var/download/" -;; elfeed-db-directory (sync/ "emacs/elfeed/db" t) -;; elfeed-curl-max-connections 4) -;; (add-hook 'elfeed-search-update-hook #'truncate-lines-local-mode) -;; (keymap-set elfeed-show-mode-map "SPC" #'elfeed-scroll-up-command) -;; (keymap-set elfeed-show-mode-map "S-SPC" #'elfeed-scroll-down-command) -;; (keymap-set elfeed-search-mode-map "a" #'elfeed-search-untag-all-unread) -;; (setq elfeed-feeds nil) ; Always reload the feed list from feeds.opml -;; (elfeed-load-opml "~/var/feeds.opml")) - -(use-package iedit ; XXX: is this necessary? - :ensure t - :init - (customize-set-variable 'iedit-toggle-key-default (kbd "C-'"))) + ;; (add-to-list 'global-mode-string + ;; '("" (:eval (tmr-mode-line))) + ;; 'append) + ) (use-package dumb-jump :ensure t -- cgit 1.4.1-21-gabe81