git » emacs.d.git » commit 52a9936

redo

author Alan Dipert
2023-09-19 03:48:08 UTC
committer Alan Dipert
2023-09-19 03:48:08 UTC
parent d3cce06834f9873fe52f5ed20acd1255e7e2e57e

redo

.gitignore +3 -0
init.el +139 -119
straight/versions/default.el +27 -48

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0e0e923
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/auto-save-list/
+/recentf
+/transient/
diff --git a/init.el b/init.el
index b946921..83bf605 100644
--- a/init.el
+++ b/init.el
@@ -14,135 +14,144 @@
 (straight-use-package 'use-package)
 
 (use-package straight
-	:custom
-	(straight-use-package-by-default t))
+	     :custom
+	     (straight-use-package-by-default t))
 
 (use-package emacs
-	:custom
-	(auto-save-default t)
-	(auto-save-interval 200)
-	(auto-save-timeout 10)
-	(c-basic-offset 2)
-	(custom-file (expand-file-name "custom.el" user-emacs-directory))
-	(diff-switches "-u -w")
-	(indent-tabs-mode nil)
-	(inhibit-splash-screen t)
-	(initial-major-mode 'fundamental-mode)
-	(initial-scratch-message nil)
-	(ispell-program-name "aspell")
-	(js-indent-level 2)
-	(linum-format "%d ")
-	(lisp-indent-offset t)
-	(sh-basic-offset 2)
-	(tab-width 2)
-	(truncate-partial-width-windows nil)
-	(visual-bell t)
-	(whitespace-style '(trailing lines space-before-tab face indentation space-after))
-	(x-select-enable-clipboard t)
-	:config
-	(auto-compression-mode t)
-	(blink-cursor-mode 1)
-	(column-number-mode 1)
-	(delete-selection-mode t)
-	(electric-pair-mode 1)
-	(fset 'yes-or-no-p 'y-or-n-p)
-	(global-linum-mode 1)
-	(global-visual-line-mode 1)
+  :custom
+  (auto-save-default t)
+  (auto-save-interval 200)
+  (auto-save-timeout 10)
+  (c-basic-offset 2)
+  (completion-cycle-threshold 3)
+  (custom-file (expand-file-name "custom.el" user-emacs-directory))
+  (diff-switches "-u -w")
+  (global-display-line-numbers-mode t)
+  (indent-tabs-mode nil)
+  (inhibit-splash-screen t)
+  (initial-major-mode 'fundamental-mode)
+  (initial-scratch-message nil)
+  (ispell-program-name "aspell")
+  (js-indent-level 2)
+  (linum-format "%d ")
+  (lisp-indent-offset t)
+  (menu-bar-mode t)
+  (sh-basic-offset 2)
+  (tab-always-indent 'complete)
+  (tab-width 2)
+  (tool-bar-mode nil)
+  (truncate-partial-width-windows nil)
+  (visual-bell t)
+  (warning-minimum-level :emergency)
+  (whitespace-style '(trailing lines space-before-tab face indentation space-after))
+  (x-select-enable-clipboard t)
+  (x-select-enable-primary t)
+  :config
+  (auto-compression-mode t)
+  (blink-cursor-mode 1)
+  (column-number-mode 1)
+  (delete-selection-mode t)
+  (electric-pair-mode 1)
+  (fset 'yes-or-no-p 'y-or-n-p)
+  (global-visual-line-mode 1)
   (dolist (f '(try-expand-line try-expand-list))
     (delq f hippie-expand-try-functions-list))
-	(line-number-mode 1)
-	(menu-bar-mode -1)
-	(recentf-mode 1)
-	(show-paren-mode t)
-	(winner-mode 1)
-  (set-frame-font "Source Code Pro 12" nil t)
-  (tool-bar-mode -1)
-  (visual-line-mode 1))
+  (display-line-numbers-mode 1)
+  (recentf-mode 1)
+  (show-paren-mode t)
+  (winner-mode 1)
+  (visual-line-mode 1)
+  :bind (("M-/" . hippie-expand)))
 
-(use-package avy)
-(use-package cider)
-(use-package clojure-mode)
+(defvar local/leader "C-o" "Prefix to use for user commands.")
 
-(use-package color-theme-sanityinc-tomorrow
-  :config
-  (load-theme 'sanityinc-tomorrow-blue t)
-  (set-face-foreground 'region "white")
-  (set-face-background 'region "blue"))
+(defun local/set-key (keys command)
+  (when (functionp (lookup-key (current-global-map) (kbd local/leader)))
+    (global-unset-key (kbd local/leader)))
+  (global-set-key
+   (kbd (concat local/leader " " keys))
+   command))
 
-(use-package company
-  :config
-  (global-company-mode))
+(use-package consult)
 
-(use-package consult
-  :hook (completion-list-mode . consult-preview-at-point-mode)
-  :config
-  (autoload 'projectile-project-root "projectile")
-  (setq consult-project-function (lambda (_) (projectile-project-root))))
+(use-package embark)
 
-(use-package csv-mode)
-(use-package dockerfile-mode)
+(use-package orderless
+  :custom
+  (completion-styles '(orderless basic))
+  (completion-category-overrides '((file (styles basic partial-completion)))))
 
-(use-package embark
-  :ensure t
-  :bind
-  (("C-=" . embark-act))
-  :init
-  ;; Optionally replace the key help with a completing-read interface
-  (setq prefix-help-command #'embark-prefix-help-command)
-  :config
-  ;; Hide the mode line of the Embark live/completions buffers
-  (add-to-list 'display-buffer-alist
-               '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*"
-                 nil
-                 (window-parameters (mode-line-format . none)))))
+(use-package ace-window)
 
-(use-package embark-consult
-  :ensure t ; only need to install it, embark loads it after consult if found
-  :hook
-  (embark-collect-mode . consult-preview-at-point-mode))
+(use-package avy)
 
-(use-package consult-flycheck)
+(use-package csv-mode)
 
 (use-package flycheck)
-(use-package git-timemachine)
+
 (use-package js2-mode)
-(use-package lsp-treemacs)
+
 (use-package magit)
+
 (use-package markdown-mode)
-(use-package org)
-(use-package smartparens)
 
-(use-package projectile
-  :init (projectile-mode)
+(use-package projectile)
+
+(use-package dumb-jump
+  :init
+  (add-hook 'xref-backend-functions 'dumb-jump-xref-activate))
+
+(use-package idle-highlight-mode
+  :hook ((prog-mode . idle-highlight-mode))
   :custom
-  (projectile-completion-system 'default)
-  (projectile-enable-caching t)
-  (projectile-file-exists-remote-cache-expire (* 10 60))
-  (projectile-file-exists-local-cache-expire (* 10 60)))
+  (idle-highlight-idle-time 0.1))
+
+(use-package paredit)
 
-(use-package consult-projectile
-  :straight (consult-projectile :type git :host gitlab :repo "OlMon/consult-projectile" :branch "master"))
+(defvar local/sexp-keymap
+  (let ((keymap (make-keymap)))
+    (define-key keymap (kbd "(") 'paredit-wrap-round)
+    (define-key keymap (kbd "[") 'paredit-wrap-square)
+    (define-key keymap (kbd "{") 'paredit-wrap-curly)
+    (define-key keymap (kbd ">") 'paredit-forward-slurp-sexp)
+    (define-key keymap (kbd "<") 'paredit-backward-barf-sexp)
+    (define-key keymap (kbd "-") 'paredit-backward-slurp-sexp)
+    (define-key keymap (kbd "+") 'paredit-forward-barf-sexp)
+    (define-key keymap (kbd "|") 'paredit-split-sexp)
+    (define-key keymap (kbd "^") 'paredit-raise-sexp)
+    (define-key keymap (kbd "j") 'paredit-join-sexp)
+    (define-key keymap (kbd "?") 'paredit-convolute-sexp)
+    keymap))
+
+(defalias 'local/sexp-keymap local/sexp-keymap)
+
+(local/set-key "C-s" 'local/sexp-keymap)
+
+(defun local/save ()
+  (interactive)
+  (clipboard-kill-ring-save nil nil t)
+  (meow-save))
 
 (use-package meow
   :config
   (setq meow-cheatsheet-layout meow-cheatsheet-layout-colemak)
   (meow-motion-overwrite-define-key
-   ;; Use e to move up, n to move down.
-   ;; Since special modes usually use n to move down, we only overwrite e here.
    '("e" . meow-prev)
    '("<escape>" . ignore))
   (meow-leader-define-key
    '("SPC" . execute-extended-command)
+   '("a" . avy-goto-line)
    '("." . embark-act)
-   '("?" . meow-cheatsheet)
-   '("p" . meow-paren-mode)
-   '("P" . projectile-command-map)
-   '("a" . avy-goto-char-timer)
+   '("e" . meow-page-up)
+   '("F" . consult-find)
    '("G" . magit-status)
-   '("f" . meow-page-down)
-   '("b" . meow-page-up)
-   ;; To execute the originally e in MOTION state, use SPC e.
-   '("e" . "H-e")
+   '("o" . meow-keypad-start)
+   '("?" . meow-cheatsheet)
+   '("p" . meow-page-mode)
+   '("R" . consult-git-grep)
+   '("r" . consult-recent-file)
+   '("s" . meow-sexp-mode)
+   '("E" . "H-e")
    '("1" . meow-digit-argument)
    '("2" . meow-digit-argument)
    '("3" . meow-digit-argument)
@@ -209,28 +218,39 @@
    '("W" . meow-next-symbol)
    '("x" . meow-delete)
    '("X" . meow-backward-delete)
-   '("y" . meow-save)
+   '("y" . local-save)
    '("z" . meow-pop-selection)
    '("'" . repeat)
    '("<escape>" . ignore))
-  (setq meow-paren-keymap (make-keymap))
-  (meow-define-state paren
-    "meow state for interacting with smartparens"
-    :lighter " [P]"
-    :keymap meow-paren-keymap)
-  (setq meow-cursor-type-paren 'hollow)
-  (meow-define-keys 'paren
-    '("<escape>" . meow-normal-mode)
-    '("l" . sp-forward-sexp)
-    '("h" . sp-backward-sexp)
-    '("j" . sp-down-sexp)
-    '("k" . sp-up-sexp)
-    '("n" . sp-forward-slurp-sexp)
-    '("b" . sp-forward-barf-sexp)
-    '("v" . sp-backward-barf-sexp)
-    '("c" . sp-backward-slurp-sexp)
-    '("t" . sp-transpose-sexp)
-    '("S" . sp-splice-sexp)
-    '("u" . meow-undo))
+  (setq meow-page-keymap (make-keymap))
+  (meow-define-state page
+                     "meow state for paging up/down"
+                     :lighter " [P]"
+                     :keymap meow-page-keymap)
+  (meow-define-keys 'page
+                    '("<escape>" . meow-normal-mode)
+                    '("n" . meow-page-down)
+                    '("e" . meow-page-up))
+  (setq meow-sexp-keymap (make-keymap))
+  (meow-define-state sexp
+                     "meow state for sexp"
+                     :lighter " [S]"
+                     :keymap meow-sexp-keymap)
+  (setq meow-cursor-type-sexp 'hollow)
+  (meow-define-keys 'sexp
+                    '("<escape>" . meow-normal-mode)
+                    '("(" . paredit-wrap-round)
+                    '("[" . paredit-wrap-square)
+                    '("{" . paredit-wrap-curly)
+                    '(">" . paredit-forward-slurp-sexp)
+                    '("<" . paredit-forward-barf-sexp)
+                    '("-" . paredit-backward-slurp-sexp)
+                    '("+" . paredit-backward-barf-sexp)
+                    '("," . paredit-splice-sexp)
+                    '("|" . paredit-split-sexp)
+                    '("^" . paredit-raise-sexp)
+                    '("j" . paredit-join-sexps)
+                    '("?" . paredit-convolute-sexp)
+                    '("t" . meow-transpose-sexp)
+                    '("u" . meow-undo))
   (meow-global-mode 1))
-
diff --git a/straight/versions/default.el b/straight/versions/default.el
index 4c07c9e..6b07ee0 100644
--- a/straight/versions/default.el
+++ b/straight/versions/default.el
@@ -1,53 +1,32 @@
 (("ace-window" . "77115afc1b0b9f633084cf7479c767988106c196")
  ("avy" . "be612110cb116a38b8603df367942e2bb3d9bdbe")
- ("cfrs" . "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121")
- ("cider" . "14923cb8c3be94a40fe7ca213948d1137b1cb3dc")
- ("clojure-mode" . "3453cd229b412227aaffd1dc2870fa8fa213c5b1")
- ("color-theme-sanityinc-tomorrow" . "96dbaa43ff1326879e76a7943b8ae27265ae84e8")
- ("company-mode" . "8a78f320019574bc35b5727f95b052b27918da20")
- ("compat" . "9d2a293dca90e70a8bcd963682e8b7122371595b")
- ("consult" . "eff54e49e057e3c9527ae1119a929d24d315db78")
- ("consult-flycheck" . "fda630411ad9219f45136310f671b44eaefafcab")
- ("consult-projectile" . "5ef1ada3be767ea766255801050210f5d796deec")
- ("csv-mode" . "d190a479b4f36806b604da527e5d5a50909d3ceb")
- ("dash.el" . "c30c6bea49b79d966c92ce606fea53dea647b959")
- ("dockerfile-mode" . "52c6c00da1d31c0b6c29c74335b3af63ed6bf06c")
- ("el-get" . "837fcbb8d22274f6c684a5e24ce12ce1efa18d9f")
- ("eldoc" . "bf2e88dcf00e6554e24b517aa315527011042fae")
- ("emacsmirror-mirror" . "a2d65d0360ab541ff189dc7b8ba8a25ea7aeb6c2")
- ("embark" . "820c7c677387181dd5fc5333578e7438fb4d7a57")
+ ("compat" . "d1e893b02301a7321ca9879bc9a4da50e2fdf09f")
+ ("consult" . "4b8f8a55e875f705925b954822127bfbc7045c82")
+ ("csv-mode" . "ec958a8f92c41726f91f188d75e176eb1bdf4252")
+ ("dash.el" . "6db80c711ce947f6c6fa11e5c2257fff2c79d139")
+ ("dumb-jump" . "d9503c157ab88f0ed2fa1301aeb57e95ac564760")
+ ("el-get" . "05bb836e3dfac8ffe4b8a10ec332aa2f661523ce")
+ ("emacs-idle-highlight-mode" . "c8f0fa148bf748f9fa7b88a4892e3d494c040afe")
+ ("emacsmirror-mirror" . "f872ac8a235d4344c3b2498de505fce00991764b")
+ ("embark" . "60e3a02429f0187164878cf006172fa3f87f89ff")
  ("epl" . "78ab7a85c08222cd15582a298a364774e3282ce6")
- ("f.el" . "af7d37c619010b576fd22b50c62c71ff33093f3c")
- ("flycheck" . "5f2ef177cb21ae8b73714575802beef04abd0f5e")
- ("git-timemachine" . "13769fb603ae88c64566529eae4525ce88026e86")
- ("gnu-elpa-mirror" . "eb1199591ec3cb8a4d1f1a20bd14ca0e52eafdd0")
- ("ht.el" . "3c1677f1bf2ded2ab07edffb7d17def5d2b5b6f6")
- ("hydra" . "317e1de33086637579a7aeb60f77ed0405bf359b")
- ("js2-mode" . "a297ec2c2d9aa50ddc6c06959bb5a054e17b692a")
- ("let-alist" . "021fc10df2e44faba4728d849ee767cf890aa51a")
- ("lsp-mode" . "99b812ebd44da435bc593f016918415b6f6f051c")
- ("lsp-treemacs" . "fbd08a54d232bbae350632e3789f70d68ddcbc15")
- ("magit" . "152478b01f37e3aee1369e815985f184d8c864c5")
- ("map" . "a0e501aede34f183a8baa5d3d41610a3ffa1728e")
- ("markdown-mode" . "5d98592fe516748034d8baf92d7c0ba045e1f87a")
- ("melpa" . "cebfd6d6356a70955f518c785ec9258305de9415")
- ("meow" . "2a736d9b98fd67f6b2f28ec80ed64bb53de194cc")
- ("nongnu-elpa" . "0e54bf5f6d048bdb87ae648237dbadc2b2217b4b")
- ("org" . "6ab611720d29d069a1cb9b62614a873755bba243")
- ("parseclj" . "4d0e780e00f1828b00c43099e6eebc6582998f72")
- ("parseedn" . "a09686fbb9113b8b1b4f20c9e1dc0d6fea01a64f")
- ("pfuture" . "19b53aebbc0f2da31de6326c495038901bffb73c")
+ ("flycheck" . "e56e30d8c66ffc9776d07740658d3b542c1a8e21")
+ ("gnu-elpa-mirror" . "114d3a1b41a0327ca6c2bb461d54f7a2175af1cf")
+ ("js2-mode" . "79bc78d77db0d2e8e43dc0f9e0504ad90bcbc26d")
+ ("let-alist" . "e3a340188a05be9e147056ff60d82e4eb614525b")
+ ("magit" . "4f4ad9c091daf769f8a0a562f6d14a71aa6c3192")
+ ("markdown-mode" . "50e4452c95113df55953cfc310d7e18d8e6205de")
+ ("melpa" . "c36d467638bc9f3578b4699c7d1ae513fd23b782")
+ ("meow" . "ba0cf4d1607971374351a68e48581d3ff4184c0e")
+ ("nongnu-elpa" . "7be7879e3ea01401ff51a515da882e79148392ea")
+ ("orderless" . "6936fe46ef07df168a423f04efeda130b4e69753")
+ ("paredit" . "9a2c4b37fc8c1c7bdbb1f86fdec874c0d0652e64")
  ("pkg-info" . "76ba7415480687d05a4353b27fea2ae02b8d9d61")
- ("posframe" . "3b97dc180b03498103cfcc7f44e64150df440bf0")
- ("projectile" . "271007c6611fcb08ddd326d7de9727c2ad5ef265")
- ("queue" . "130c2d656cd5d7376552272fab9e50a7c37d0c4a")
- ("s.el" . "e957dcb0677da18b2bb60ad867db5df5c35b5616")
- ("sesman" . "e0f555f963c9f02f8e4a50e06fc353eb4c15ee77")
- ("smartparens" . "1d5cd5e8d46e182b935f8cd3cf29c8c4410aab0a")
- ("spinner" . "634529bb3173e09b37499f636de70abf29d9fa8a")
- ("straight.el" . "3eca39dfc6797243ec7d1c6a7d45142407f73f88")
- ("transient" . "75a5076def1e6f5265eb2346a951ba9d97502fc9")
- ("treemacs" . "983ea5a66801a5c1f6e32e3d515bd48761677ac6")
- ("use-package" . "bcf0984cf55b70fe6896c6a15f61df92b24f8ffd")
- ("with-editor" . "df74385b455cd7687232ad189acfea16cb44dd04"))
+ ("popup-el" . "2868885b2ba64fd469f0aa10a734ceeaf49a1baa")
+ ("projectile" . "971cd5c4f25ff1f84ab7e8337ffc7f89f67a1b52")
+ ("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d")
+ ("straight.el" . "9b11112b2e7aedd994feb2d8f95bd66dbc5749a5")
+ ("transient" . "b150b48b310d06db87e673f5aef672b341bd001e")
+ ("use-package" . "a6e856418d2ebd053b34e0ab2fda328abeba731c")
+ ("with-editor" . "fcd186d1e684c2dca6497c89af77b27b2b036c11"))
 :gamma