summaryrefslogtreecommitdiff
path: root/config/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'config/emacs')
-rw-r--r--config/emacs/init.el174
-rw-r--r--config/emacs/site-lisp/my-builtins.el2
-rw-r--r--config/emacs/site-lisp/my-defines.el24
-rw-r--r--config/emacs/site-lisp/my-packages.el29
4 files changed, 145 insertions, 84 deletions
diff --git a/config/emacs/init.el b/config/emacs/init.el
index 461f7d2..1130f72 100644
--- a/config/emacs/init.el
+++ b/config/emacs/init.el
@@ -49,13 +49,13 @@
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
- '(comment-style 'extra-line)
+ '(comment-style 'indent)
'(connection-local-criteria-alist
'(((:application eshell :protocol "ssh" :user "tmu" :machine
- "cnoserver")
+ "cnoserver")
autogenerated-connection-local-profile/\(:application\ eshell\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\))
((:application vc-git :protocol "ssh" :user "tmu" :machine
- "cnoserver")
+ "cnoserver")
autogenerated-connection-local-profile/\(:application\ vc-git\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\))
((:application vc-git) vc-git-connection-default-profile)
((:application tramp :protocol "kubernetes")
@@ -70,109 +70,110 @@
'(connection-local-profile-alist
'((autogenerated-connection-local-profile/\(:application\ eshell\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\)
(eshell-path-env-list "/bin" "/usr/bin" "/sbin" "/usr/sbin"
- "/usr/local/bin" "/usr/local/sbin"))
+ "/usr/local/bin" "/usr/local/sbin"))
(autogenerated-connection-local-profile/\(:application\ vc-git\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\)
(vc-git--program-version . "2.48.1"))
(vc-git-connection-default-profile (vc-git--program-version))
(tramp-flatpak-connection-local-default-profile
(tramp-remote-path "/app/bin" tramp-default-remote-path "/bin"
- "/usr/bin" "/sbin" "/usr/sbin"
- "/usr/local/bin" "/usr/local/sbin"
- "/local/bin" "/local/freeware/bin"
- "/local/gnu/bin" "/usr/freeware/bin"
- "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin"
- "/opt/sbin" "/opt/local/bin"))
+ "/usr/bin" "/sbin" "/usr/sbin"
+ "/usr/local/bin" "/usr/local/sbin"
+ "/local/bin" "/local/freeware/bin"
+ "/local/gnu/bin" "/usr/freeware/bin"
+ "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin"
+ "/opt/sbin" "/opt/local/bin"))
(tramp-kubernetes-connection-local-default-profile
(tramp-config-check . tramp-kubernetes--current-context-data)
(tramp-extra-expand-args 97
- (tramp-kubernetes--container
- (car tramp-current-connection))
- 104
- (tramp-kubernetes--pod
- (car tramp-current-connection))
- 120
- (tramp-kubernetes--context-namespace
- (car tramp-current-connection))))
+ (tramp-kubernetes--container
+ (car tramp-current-connection))
+ 104
+ (tramp-kubernetes--pod
+ (car tramp-current-connection))
+ 120
+ (tramp-kubernetes--context-namespace
+ (car tramp-current-connection))))
(tramp-container-connection-local-default-flatpak-profile
(tramp-remote-path "/app/bin" tramp-default-remote-path "/bin"
- "/usr/bin" "/sbin" "/usr/sbin"
- "/usr/local/bin" "/usr/local/sbin"
- "/local/bin" "/local/freeware/bin"
- "/local/gnu/bin" "/usr/freeware/bin"
- "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin"
- "/opt/sbin" "/opt/local/bin"))
+ "/usr/bin" "/sbin" "/usr/sbin"
+ "/usr/local/bin" "/usr/local/sbin"
+ "/local/bin" "/local/freeware/bin"
+ "/local/gnu/bin" "/usr/freeware/bin"
+ "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin"
+ "/opt/sbin" "/opt/local/bin"))
(tramp-connection-local-darwin-ps-profile
(tramp-process-attributes-ps-args "-acxww" "-o"
- "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "-o" "state=abcde" "-o"
- "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args")
+ "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "-o" "state=abcde" "-o"
+ "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args")
(tramp-process-attributes-ps-format (pid . number)
- (euid . number)
- (user . string)
- (egid . number) (comm . 52)
- (state . 5) (ppid . number)
- (pgrp . number)
- (sess . number)
- (ttname . string)
- (tpgid . number)
- (minflt . number)
- (majflt . number)
- (time . tramp-ps-time)
- (pri . number)
- (nice . number)
- (vsize . number)
- (rss . number)
- (etime . tramp-ps-time)
- (pcpu . number)
- (pmem . number) (args)))
+ (euid . number)
+ (user . string)
+ (egid . number) (comm . 52)
+ (state . 5) (ppid . number)
+ (pgrp . number)
+ (sess . number)
+ (ttname . string)
+ (tpgid . number)
+ (minflt . number)
+ (majflt . number)
+ (time . tramp-ps-time)
+ (pri . number)
+ (nice . number)
+ (vsize . number)
+ (rss . number)
+ (etime . tramp-ps-time)
+ (pcpu . number)
+ (pmem . number) (args)))
(tramp-connection-local-busybox-ps-profile
(tramp-process-attributes-ps-args "-o"
- "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "-o" "stat=abcde" "-o"
- "ppid,pgid,tty,time,nice,etime,args")
+ "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "-o" "stat=abcde" "-o"
+ "ppid,pgid,tty,time,nice,etime,args")
(tramp-process-attributes-ps-format (pid . number)
- (user . string)
- (group . string) (comm . 52)
- (state . 5) (ppid . number)
- (pgrp . number)
- (ttname . string)
- (time . tramp-ps-time)
- (nice . number)
- (etime . tramp-ps-time)
- (args)))
+ (user . string)
+ (group . string) (comm . 52)
+ (state . 5) (ppid . number)
+ (pgrp . number)
+ (ttname . string)
+ (time . tramp-ps-time)
+ (nice . number)
+ (etime . tramp-ps-time)
+ (args)))
(tramp-connection-local-bsd-ps-profile
(tramp-process-attributes-ps-args "-acxww" "-o"
- "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "-o"
- "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args")
+ "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "-o"
+ "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args")
(tramp-process-attributes-ps-format (pid . number)
- (euid . number)
- (user . string)
- (egid . number)
- (group . string) (comm . 52)
- (state . string)
- (ppid . number)
- (pgrp . number)
- (sess . number)
- (ttname . string)
- (tpgid . number)
- (minflt . number)
- (majflt . number)
- (time . tramp-ps-time)
- (pri . number)
- (nice . number)
- (vsize . number)
- (rss . number)
- (etime . number)
- (pcpu . number)
- (pmem . number) (args)))
+ (euid . number)
+ (user . string)
+ (egid . number)
+ (group . string) (comm . 52)
+ (state . string)
+ (ppid . number)
+ (pgrp . number)
+ (sess . number)
+ (ttname . string)
+ (tpgid . number)
+ (minflt . number)
+ (majflt . number)
+ (time . tramp-ps-time)
+ (pri . number)
+ (nice . number)
+ (vsize . number)
+ (rss . number)
+ (etime . number)
+ (pcpu . number)
+ (pmem . number) (args)))
(tramp-connection-local-default-shell-profile
(shell-file-name . "/bin/sh") (shell-command-switch . "-c"))
(tramp-connection-local-default-system-profile
(path-separator . ":") (null-device . "/dev/null"))
(eshell-connection-default-profile (eshell-path-env-list))))
'(custom-safe-themes
- '("aee99e2118e960b53016623dc2345d88227d1236d28c6c34858e1d55575cf7c3"
+ '("d79ca37c254ceca44ddca3c422f35418d402b3a059cdf960f2f5d91c9685cd9a"
+ "aee99e2118e960b53016623dc2345d88227d1236d28c6c34858e1d55575cf7c3"
"6f5e3fd2b4245ffe660da69ea5c13ab392337e94776dfb23cc1d8d0f80e3baa2"
"1b8c2fd98bf6777d8b95f8cf98fdaede88feee3419ec3e5008f94b56618ac6ca"
"0cc5046b7981609166c28b64f6185fa5f73bcb00d21e037f304794c6aaa1f340"
@@ -192,7 +193,14 @@
'(gdb-non-stop-setting nil)
'(helm-minibuffer-history-key "M-p")
'(menu-bar-mode nil)
- '(package-selected-packages nil)
+ '(package-selected-packages
+ '(avy balanced-windows bash-completion benchmark-init cape
+ clang-format corfu diff-hl eat ednc eglot-tempel eldoc-box
+ embark esh-help flycheck fold-this free-keys haskell-mode
+ hl-todo ibuffer-vc marginalia merlin minions mmm-mode
+ ocp-indent olivetti opam-switch-mode orderless pass pinentry
+ projectile pyvenv racket-mode rust-mode sdcv
+ tempel-collection tuareg vertico visible-mark winum))
'(pyim-assistant-scheme 'cangjie)
'(safe-local-variable-values '((LEXICAL-binding . t)))
'(scroll-bar-mode nil)
@@ -201,7 +209,7 @@
'(transient-mark-mode nil)
'(whitespace-style
'(face trailing tabs lines-tail missing-newline-at-eof indentation
- space-after-tab space-before-tab tab-mark) t))
+ space-after-tab space-before-tab tab-mark) t))
(custom-set-faces
;; custom-set-faces was added by Custom.
diff --git a/config/emacs/site-lisp/my-builtins.el b/config/emacs/site-lisp/my-builtins.el
index 94e82c1..bc29beb 100644
--- a/config/emacs/site-lisp/my-builtins.el
+++ b/config/emacs/site-lisp/my-builtins.el
@@ -30,6 +30,7 @@
(use-package ibuffer ; give a nice list of buffers with extra info
:commands (ibuffer)
:custom
+ (ibuffer-expert t)
(ibuffer-formats
'((mark modified read-only " "
(name 50 50 :left :elide) ; was originally 18
@@ -182,6 +183,7 @@
(progn ; vc and related binds
(setq vc-follow-symlinks t)
+ (setq vc-dir-allow-mass-mark-changes t)
(vc-auto-revert-mode 1)
(add-hook 'prog-mode-hook 'smerge-mode))
diff --git a/config/emacs/site-lisp/my-defines.el b/config/emacs/site-lisp/my-defines.el
index 425a23e..5931149 100644
--- a/config/emacs/site-lisp/my-defines.el
+++ b/config/emacs/site-lisp/my-defines.el
@@ -148,6 +148,15 @@ If no such window exists, switch to BUFFER in the current window."
(select-window win)
(switch-to-buffer buffer))))
+(defun my/new-text ()
+ "Produce a new text buffer to write a scrap of text in."
+ (interactive)
+ (let ((buf (generate-new-buffer "text")))
+ (switch-to-buffer buf)
+ (text-mode)
+ (olivetti-mode 1)
+ buf))
+
(defun my/shorten-path (path)
"Shorten string PATH. Initialize all but the last path component."
(let* ((components (split-string path "/"))
@@ -282,6 +291,18 @@ With ARG, don't save the current layout."
(setq my/layout-pair (cons right left)))
(t (message "Quick layout swap only works with same frame!")))))
+(defun my/unfill-paragraph ()
+ "Inverse of `fill-paragraph'."
+ (interactive)
+ (let ((fill-column most-positive-fixnum))
+ (call-interactively 'fill-paragraph)))
+
+(defun my/unfill-region (start end)
+ "Inverse of `fill-region'."
+ (interactive "r")
+ (let ((fill-column most-positive-fixnum))
+ (fill-region start end)))
+
(defun my/display-lines-advice (func &rest r)
"Around advice that temporarily shows line numbers."
(let ((want-quit inhibit-quit))
@@ -347,7 +368,8 @@ With ARG, don't save the current layout."
(keymap-set my/keys-mode-map "M-N" 'man)
(keymap-set my/keys-mode-map "M-*" 'my/shell-at-root)
(keymap-set my/keys-mode-map "M-S" 'surround-prefix)
- (keymap-set my/keys-mode-map "M-J" 'my/activate-mark)
+ (keymap-set my/keys-mode-map "M-H" 'my/activate-mark)
+ (keymap-set my/keys-mode-map "M-J" 'delete-indentation)
(my/keys-mode 1))
diff --git a/config/emacs/site-lisp/my-packages.el b/config/emacs/site-lisp/my-packages.el
index c625252..65572b2 100644
--- a/config/emacs/site-lisp/my-packages.el
+++ b/config/emacs/site-lisp/my-packages.el
@@ -302,6 +302,35 @@
(use-package rust-mode ; rust lang syntax
)
+(use-package mmm-mode
+ :after haskell-mode
+ :custom
+ (mmm-submode-decoration-level 0)
+ :hook
+ ('haskell-literate-mode . 'my/mmm-mode)
+ (haskell-literate-mode . 'mmm-ify-by-class)
+ :init
+ (defun my/mmm-mode ()
+ ;; go into mmm minor mode when class is given
+ (make-local-variable 'mmm-global-mode)
+ (setq mmm-global-mode 'true))
+ (mmm-add-classes
+ '((literate-haskell-bird
+ :submode text-mode
+ :front "^[^>]"
+ :include-front true
+ :back "^>\\|$"
+ )
+ (literate-haskell-latex
+ :submode literate-haskell-mode
+ :front "^\\\\begin{code}"
+ :front-offset (end-of-line 1)
+ :back "^\\\\end{code}"
+ :include-back nil
+ :back-offset (beginning-of-line -1)
+ ))))
+
+
(use-package haskell-mode ; haskell + cabal integrations
:custom
(haskell-tags-on-save t)