)]}'
{"id":"depot~10999","triplet_id":"depot~canon~Icda840d798594f7e6b188dba044494597d5f6043","project":"depot","branch":"canon","hashtags":[],"change_id":"Icda840d798594f7e6b188dba044494597d5f6043","subject":"feat(aspen/emacs): Begin a complete emacs config revamp","status":"MERGED","created":"2024-02-20 21:33:07.000000000","updated":"2024-02-26 21:16:58.000000000","submitted":"2024-02-26 21:16:58.000000000","submitter":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"10999","meta_rev_id":"084c9c3f1ee80c98c5dcac905b17159b05728be5","_number":10999,"virtual_id_number":10999,"owner":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2024-02-26 21:16:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2024-02-26 21:16:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"all":[{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"all":[{"value":0,"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-02-20 21:33:10.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2024-02-20 21:35:57.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"3be99fb50283123762877d6ad9b4ec7786639fca","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2024-02-20 21:33:07.000000000","message":"Uploaded patch set 1: Autosubmit+1 Code-Review+2.","accounts_in_message":[],"_revision_number":1},{"id":"e79df056406f6c28cf62bdd1d7f5a866dcd08c9e","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-20 21:33:10.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/31746","accounts_in_message":[],"_revision_number":1},{"id":"105e7bdf8ff24f86c202d03f211a59047da445ee","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-20 21:35:57.000000000","message":"Patch Set 1: Verified+1\n\nBuild of patchset 1 passed: https://buildkite.com/tvl/depot/builds/31746","accounts_in_message":[],"_revision_number":1},{"id":"fdf7969cc97b813115fa3f30440e2a8488405626","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2024-02-20 21:36:18.000000000","message":"Patch Set 1: -Autosubmit","accounts_in_message":[],"_revision_number":1},{"id":"59594acac358bc288040429602d6feb9f7cbb1e0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2024-02-20 21:53:24.000000000","message":"Uploaded patch set 2.\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"110c1a41765723198cac93b19f50665000b9b986","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-20 21:53:26.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/tvl/depot/builds/31748","accounts_in_message":[],"_revision_number":2},{"id":"43ccf37f8b52b97766d8d0c516e01e18177e8f07","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2024-02-20 21:56:27.000000000","message":"Patch Set 2: Verified+1\n\nBuild of patchset 2 passed: https://buildkite.com/tvl/depot/builds/31748","accounts_in_message":[],"_revision_number":2},{"id":"084c9c3f1ee80c98c5dcac905b17159b05728be5","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"date":"2024-02-26 21:16:58.000000000","message":"Change has been successfully rebased and submitted as acc2433b659b10d92cff78baac1207e469d249d3\n\n1 is the latest approved patch-set.\nThe change was submitted with unreviewed changes in the following files:\n\n```\nThe name of the file: users/aspen/emacs/config.org\nInsertions: 140, Deletions: 48.\n\n@@ -8,13 +8,13 @@\n #+title: Emacs Config\n \n * Utils\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (use-package! dash)\n #+end_src\n \n ** Elisp extras\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defmacro comment (\u0026rest _body)\n   \"Comment out one or more s-expressions\"\n   nil)\n@@ -49,7 +49,7 @@\n \n ** Text editing utils\n *** Reading strings\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun get-char (\u0026optional point)\n   \"Get the character at the given `point\u0027 (defaulting to the current point),\n without properties\"\n@@ -110,7 +110,10 @@\n #+RESULTS:\n : 3\n *** Changing file contents\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n+(defmacro saving-excursion (\u0026rest body)\n+  `(λ! () (save-excursion ,@body)))\n+\n (defun delete-line ()\n   \"Remove the line at the current point\"\n   (delete-region (line-beginning-position)\n@@ -149,7 +152,7 @@\n : 2\n \n ** Evil utils\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defmacro define-move-and-insert\n     (name \u0026rest body)\n   `(defun ,name (count \u0026optional vcount skip-empty-lines)\n@@ -184,7 +187,7 @@\n : root@gws.fyi\n \n * Visual style\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (let ((font-family (pcase system-type\n                      (\u0027darwin \"MesloLGSDZ NF\")\n                      (\u0027gnu/linux \"Meslo LGSDZ Nerd Font\"))))\n@@ -205,7 +208,7 @@\n #+RESULTS:\n : 12\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (setq whitespace-style \u0027(face lines-tail))\n (global-whitespace-mode t)\n (add-hook \u0027org-mode-hook (lambda () (whitespace-mode -1)) t)\n@@ -218,8 +221,15 @@\n [[https://davidjohnstone.net/lch-lab-colour-gradient-picker][LAB colour gradient picker]] is a good tool for trying to find \"halfway points\" between two colours\n \n *** Variables\n+#+begin_src elisp :tangle no\n+(rainbow-mode)\n+#+end_src\n+\n+#+RESULTS:\n+: t\n+\n #+name: solarized-vars\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (setq +solarized-s-base03    \"#002b36\"\n       +solarized-s-base02    \"#073642\"\n       ;; emphasized content\n@@ -272,7 +282,7 @@\n *** Overrides\n \n #+name: overrides-for-solarized-light\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (custom-set-faces!\n   `(cursor :background ,+solarized-s-base00)\n   `(font-lock-doc-face :foreground ,+solarized-s-base1)\n@@ -311,20 +321,27 @@\n   `(magit-section-heading :foreground \"#b58900\")\n   `(magit-filename :foreground ,+solarized-s-base00)\n   `(magit-diff-context-highlight :background ,+solarized-halfway-highlight)\n+\n+  `(transient-delimiter :foreground ,+solarized-s-base1)\n+  `(transient-inapt-suffix :foreground ,+solarized-s-base1)\n+  `(transient-inactive-value :foreground ,+solarized-s-base1)\n+  `(transient-inactive-argument :foreground ,+solarized-s-base1)\n+  `(transient-key-exit :foreground ,+solarized-green :bold t)\n+  `(transient-key-stay :foreground ,+solarized-blue :bold t)\n   )\n   #+end_src\n \n #+RESULTS: overrides-for-solarized-light\n-| doom--customize-themes-h-30 | doom--customize-themes-h-31 | doom--customize-themes-h-32 | doom--customize-themes-h-43 |\n+| doom--customize-themes-h-91 | doom--customize-themes-h-92 | doom--customize-themes-h-93 | doom--customize-themes-h-94 | doom--customize-themes-h-95 | doom--customize-themes-h-96 | doom--customize-themes-h-97 | doom--customize-themes-h-98 |\n \n * Keybindings and navigation\n Get the hell out of here, snipe!\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (remove-hook \u0027doom-first-input-hook #\u0027evil-snipe-mode)\n #+end_src\n \n ** Flycheck\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (evil-set-command-property \u0027flycheck-next-error :repeat nil)\n (evil-set-command-property \u0027flycheck-prev-error :repeat nil)\n (evil-set-command-property \u0027flycheck-previous-error :repeat nil)\n@@ -338,16 +355,19 @@\n #+RESULTS:\n \n ** Smerge\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (evil-set-command-property \u0027smerge-next :repeat nil)\n (evil-set-command-property \u0027smerge-prev :repeat nil)\n \n (map!\n- (:desc \"smerge\" :prefix \"g m\"\n-  :desc \"Keep Current\" :n \"SPC\" #\u0027smerge-keep-current\n-  :desc \"Keep All\"     :n \"a\" #\u0027smerge-keep-all\n-  :desc \"Keep Upper\"   :n \"u\" #\u0027smerge-keep-upper\n-  :desc \"Keep Lower\"   :n \"l\" #\u0027smerge-keep-lower))\n+ :n \"] n\" #\u0027smerge-next\n+ :n \"[ n\" #\u0027smerge-prev\n+ (:leader\n+  (:desc \"smerge\" :prefix \"g m\"\n+   :desc \"Keep Current\" :n \"SPC\" #\u0027smerge-keep-current\n+   :desc \"Keep All\"     :n \"a\" #\u0027smerge-keep-all\n+   :desc \"Keep Upper\"   :n \"u\" #\u0027smerge-keep-upper\n+   :desc \"Keep Lower\"   :n \"l\" #\u0027smerge-keep-lower)))\n t\n  #+end_src\n \n@@ -355,7 +375,7 @@\n : t\n \n ** Vinegar-style dired\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun dired-mode-p () (eq \u0027dired-mode major-mode))\n \n (defun aspen/dired-minus ()\n@@ -377,7 +397,7 @@\n \n ** Lisp mappings\n *** Use paxedit\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (use-package! paxedit\n   :hook ((emacs-lisp-mode . paxedit-mode)\n          (clojure-mode . paxedit-mode)\n@@ -389,7 +409,7 @@\n \n *** Paxedit functions\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (define-move-and-insert aspen/insert-at-sexp-end\n   (when (not (equal (get-char) \"(\"))\n     (backward-up-list))\n@@ -423,7 +443,7 @@\n : aspen/paxedit-kill\n \n *** Paxedit mappings\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map!\n  (:after paxedit\n          (:map paxedit-mode-map\n@@ -464,7 +484,7 @@\n #+RESULTS:\n \n *** Eval functions\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (use-package! predd)\n \n (predd-defmulti eval-sexp (lambda (form) major-mode))\n@@ -568,7 +588,7 @@\n *** Eval bindings\n fireplace-esque eval binding\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (evil-define-operator fireplace-eval (beg end)\n   (eval-sexp-region beg end))\n \n@@ -635,9 +655,31 @@\n \n #+RESULTS:\n \n+** Coerce\n+\n+#+begin_src elisp :tangle yes\n+(use-package! string-inflection\n+  :config\n+  (nmap \"c\" (general-key-dispatch \u0027evil-change\n+              \"r c\" (saving-excursion (string-inflection-lower-camelcase))\n+              \"r C\" (saving-excursion (string-inflection-camelcase))\n+              \"r m\" (saving-excursion (string-inflection-camelcase))\n+              \"r s\" (saving-excursion (string-inflection-underscore))\n+              \"r u\" (saving-excursion (string-inflection-upcase))\n+              \"r -\" (saving-excursion (string-inflection-kebab-case))\n+              \"r k\" (saving-excursion (string-inflection-kebab-case))\n+              ;; \"r .\" (saving-excursion (string-inflection-dot-case))\n+              ;; \"r .\" (saving-excursion (string-inflection-space-case))\n+              ;; \"r .\" (saving-excursion (string-inflection-title-case))\n+              )))\n+#+end_src\n+\n+#+RESULTS:\n+: t\n+\n * Mode-specific config\n ** org-mode\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (after! org\n   (load! \"org-config\"))\n #+end_src\n@@ -646,7 +688,7 @@\n : t\n *** Theme overrides\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (custom-set-faces!\n   `(org-drawer :foreground ,+solarized-s-base1 :bold t)\n   `(org-block :foreground ,+solarized-s-base00)\n@@ -664,6 +706,7 @@\n   `(org-code :foreground ,+solarized-s-base1)\n   `(org-block-begin-line :foreground ,+solarized-s-base1 :italic t)\n   `(org-block-end-line :foreground ,+solarized-s-base1 :italic t)\n+  `(org-document-info-keyword :foreground ,+solarized-s-base1 :italic t)\n \n   `(org-level-1 :foreground ,+solarized-red)\n   `(org-level-2 :foreground ,+solarized-green)\n@@ -676,10 +719,10 @@\n #+end_src\n \n #+RESULTS:\n-| doom--customize-themes-h-30 | doom--customize-themes-h-31 | doom--customize-themes-h-32 | doom--customize-themes-h-36 | doom--customize-themes-h-37 | doom--customize-themes-h-38 | doom--customize-themes-h-39 | doom--customize-themes-h-40 | doom--customize-themes-h-41 |\n+| doom--customize-themes-h-91 | doom--customize-themes-h-92 | doom--customize-themes-h-93 | doom--customize-themes-h-94 | doom--customize-themes-h-95 | doom--customize-themes-h-96 | doom--customize-themes-h-97 | doom--customize-themes-h-98 | doom--customize-themes-h-99 |\n \n *** Commands\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun grfn/insert-new-src-block ()\n   (interactive)\n   (let* ((current-src-block (org-element-at-point))\n@@ -716,7 +759,7 @@\n (advice-add #\u0027+org--insert-item :around #\u0027grfn/+org-insert-item)\n #+end_src\n *** Bindings\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map!\n  (:after org\n   :n \"C-c C-x C-o\" #\u0027org-clock-out\n@@ -726,7 +769,7 @@\n    :n \"g \\\\\"  #\u0027org-captue-refile)))\n #+end_src\n ** magit\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (after! magit\n   (map! :map magit-mode-map\n         ;; :n \"] ]\" #\u0027magit-section-forward\n@@ -766,7 +809,7 @@\n *** Org config mode\n The minor-mode for *this file*!\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (after! smartparens\n   (sp-local-pair \u0027org-config-mode \"\u0027\" \"\u0027\" :actions nil)\n   (sp-local-pair \u0027org-config-mode \"`\" \"`\" :actions nil))\n@@ -783,7 +826,7 @@\n | keymap |\n \n *** Bindings\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map!\n  (:map emacs-lisp-mode-map\n   :n \"g SPC\" #\u0027eval-buffer\n@@ -795,7 +838,7 @@\n ** tuareg\n *** Config\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n \n (defun aspen/tuareg-setup ()\n   (setq-local sp-max-pair-length (-\u003e\u003e \u0027(\"begin\" \"sig\" \"struct\")\n@@ -828,7 +871,7 @@\n \n #+RESULTS:\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (after! dune-mode\n   (add-hook \u0027dune-mode-hook \u0027paxedit-mode))\n #+end_src\n@@ -836,7 +879,7 @@\n #+RESULTS:\n \n *** Bindings\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map!\n  (:map tuareg-mode-map\n   :n \"g RET\" (λ! () (compile \"dune build @@runtest\"))\n@@ -849,7 +892,7 @@\n #+RESULTS:\n \n *** Theme overrides\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (custom-set-faces!\n   `(tuareg-font-lock-governing-face :foreground ,+solarized-s-base01 :bold t)\n   `(tuareg-font-lock-label-face :foreground ,+solarized-blue)\n@@ -870,7 +913,7 @@\n \n *** Setup\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun clojure-thing-at-point-setup ()\n   (interactive)\n   ;; Used by cider-find-dwim to parse the symbol at point\n@@ -922,11 +965,14 @@\n    \u0027(\"s\" . \"clojure.spec.alpha\")))\n \n (set-popup-rule! \"^\\\\*cider-test-report\" :size 0.4)\n+nil\n #+end_src\n \n+#+RESULTS:\n+\n *** Commands\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun grfn/run-clj-or-cljs-test ()\n   (interactive)\n   (message \"Running tests...\")\n@@ -969,7 +1015,7 @@\n *** Bindings\n \n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map!\n  (:after\n   clojure-mode\n@@ -1034,21 +1080,67 @@\n #+RESULTS:\n | doom--customize-themes-h-30 | doom--customize-themes-h-31 | doom--customize-themes-h-32 | doom--customize-themes-h-33 | doom--customize-themes-h-54 |\n \n-* Tramp\n+* Email\n+#+begin_src elisp :tangle yes\n+(after! notmuch\n+  (setq notmuch-saved-searches\n+        \u0027((:name \"inbox\" :query \"tag:inbox tag:important not tag:trash\" :key \"i\")\n+          (:name \"flagged\" :query \"tag:flagged\" :key \"f\")\n+          (:name \"sent\" :query \"tag:sent\" :key \"s\")\n+          (:name \"drafts\" :query \"tag:draft\" :key \"d\")\n+\n+          (:name \"work\" :query \"tag:inbox and tag:important and path:work/**\"\n+                 :key \"w\")\n+          (:name \"personal\" :query \"tag:inbox and tag:important and path:personal/**\"\n+                 :key \"p\"))\n+        message-send-mail-function \u0027message-send-mail-with-sendmail\n+        message-sendmail-f-is-evil \u0027t\n+        message-sendmail-envelope-from \u0027header\n+        message-sendmail-extra-arguments \u0027(\"--read-envelope-from\")))\n+#+end_src\n+\n+#+RESULTS:\n+| --read-envelope-from |\n+\n+** Bindings\n+#+begin_src emacs-lisp :tangle yes\n+(map!\n+ (:leader\n+  :desc \"Email\" :n \"o m\" #\u0027notmuch-jump-search\n+  :desc \"Search email\" \"s M\" #\u0027consult-notmuch))\n+#+end_src\n+\n+#+RESULTS:\n+: notmuch-jump-search\n+\n+\n+** Theme\n+\n+#+begin_src emacs-lisp :tangle yes\n+(custom-set-faces!\n+  `(notmuch-message-summary-face\n+    :background ,+solarized-halfway-highlight))\n+#+end_src\n+\n+#+RESULTS:\n+| doom--customize-themes-h-91 | doom--customize-themes-h-92 | doom--customize-themes-h-93 | doom--customize-themes-h-94 | doom--customize-themes-h-95 | doom--customize-themes-h-96 | doom--customize-themes-h-97 | doom--customize-themes-h-98 | doom--customize-themes-h-99 | doom--customize-themes-h-100 |\n+\n * Misc\n ** Make underscores word chars\n #+begin_src elisp :tangle yes\n (modify-syntax-entry ?_ \"w\")\n #+end_src\n \n+#+RESULTS:\n+\n ** Matchit\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (use-package! evil-matchit)\n #+end_src\n ** IRC\n *** Connecting to IRC\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defvar irc-servers\n   \u0027(\"hackint\"\n     \"libera\"))\n@@ -1080,7 +1172,7 @@\n #+RESULTS:\n : aspen/switch-to-erc-buffer-or-connect\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (map! :leader \"o I\" #\u0027irc-connect\n       :leader \"o i\" #\u0027aspen/switch-to-erc-buffer-or-connect)\n #+end_src\n@@ -1089,7 +1181,7 @@\n : aspen/switch-to-erc-buffer-or-connect\n \n *** IRC alerts\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (use-package! alert)\n \n (defgroup erc-alert nil\n@@ -1195,7 +1287,7 @@\n | my-erc-define-alerts |\n \n *** Don\u0027t send ~:q~, etc, to the server\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defun fix-irc-message (msg)\n   (let ((msg (s-trim msg)))\n     (if (string-equal msg \":q\") \"\" msg)))\n@@ -1205,7 +1297,7 @@\n #+RESULTS:\n \n *** Theme overrides\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (custom-set-faces!\n   `(erc-button :foreground ,+solarized-blue))\n #+end_src\n@@ -1218,7 +1310,7 @@\n \n IT doesn\u0027t work though :(\n \n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (setq nick-face-list \u0027())\n \n ;; Define the list of colors to use when coloring IRC nicks.\n@@ -1275,7 +1367,7 @@\n \n * Hacks\n Not having this breaks elisp documentation :(\n-#+begin_src elisp\n+#+begin_src elisp :tangle yes\n (defvar elisp-demos-user-files nil)\n #+end_src\n \n```\n```\nThe name of the file: users/aspen/emacs/packages.el\nInsertions: 2, Deletions: 0.\n\n@@ -8,3 +8,5 @@\n (package! alert)\n (package! flycheck-clojure)\n (package! evil-matchit)\n+(package! string-inflection)\n+(package! protobuf-mode)\n```\n","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"acc2433b659b10d92cff78baac1207e469d249d3","revisions":{"b1faa689e106a079d9ab206c4c42863a5f4c2130":{"kind":"REWORK","_number":1,"created":"2024-02-20 21:33:07.000000000","uploader":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"ref":"refs/changes/99/10999/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/99/10999/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/99/10999/1"}}},"commit":{"parents":[{"commit":"e0ee832f9d6837649f67d6876779f9caf5420b15","subject":"chore(aspen/system): drop ssh config for dobharchu","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003de0ee832f9d6837649f67d6876779f9caf5420b15"}]}],"author":{"name":"Aspen Smith","email":"grfn@gws.fyi","date":"2024-02-20 21:31:30.000000000","tz":-300},"committer":{"name":"Aspen Smith","email":"grfn@gws.fyi","date":"2024-02-20 21:31:30.000000000","tz":-300},"subject":"feat(aspen/emacs): Begin a complete emacs config revamp","message":"feat(aspen/emacs): Begin a complete emacs config revamp\n\nI\u0027m still on doom, but without all the cruft I\u0027ve accumulated over the\nlast ~6 years it\u0027s actually good and fast and nice. Also, the config is\nliterate now!\n\nThe old emacs is still in .emacs.d, since occasionally I want to\nreference it, but eventually I\u0027ll just get rid of it\n\nChange-Id: Icda840d798594f7e6b188dba044494597d5f6043\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db1faa689e106a079d9ab206c4c42863a5f4c2130"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db1faa689e106a079d9ab206c4c42863a5f4c2130"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"e0ee832f9d6837649f67d6876779f9caf5420b15","is_merged_in_target_branch":false,"change_id":"Ib34a9df1a8b41e19aba9988cffbb9ae428f7a8a2","change_number":10998,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"b26a98a166fb816cfb773350948403db84438850":{"kind":"REWORK","_number":2,"created":"2024-02-20 21:53:24.000000000","uploader":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"ref":"refs/changes/99/10999/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/99/10999/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/99/10999/2"}}},"commit":{"parents":[{"commit":"1b233024c7ffcf1acceec5431cf2100b837d31db","subject":"chore(aspen/system): drop ssh config for dobharchu","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d1b233024c7ffcf1acceec5431cf2100b837d31db"}]}],"author":{"name":"Aspen Smith","email":"grfn@gws.fyi","date":"2024-02-20 21:31:30.000000000","tz":-300},"committer":{"name":"Aspen Smith","email":"root@gws.fyi","date":"2024-02-20 21:53:20.000000000","tz":-300},"subject":"feat(aspen/emacs): Begin a complete emacs config revamp","message":"feat(aspen/emacs): Begin a complete emacs config revamp\n\nI\u0027m still on doom, but without all the cruft I\u0027ve accumulated over the\nlast ~6 years it\u0027s actually good and fast and nice. Also, the config is\nliterate now!\n\nThe old emacs is still in .emacs.d, since occasionally I want to\nreference it, but eventually I\u0027ll just get rid of it\n\nChange-Id: Icda840d798594f7e6b188dba044494597d5f6043\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db26a98a166fb816cfb773350948403db84438850"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003db26a98a166fb816cfb773350948403db84438850"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"1b233024c7ffcf1acceec5431cf2100b837d31db","is_merged_in_target_branch":true,"change_id":"Ib34a9df1a8b41e19aba9988cffbb9ae428f7a8a2","change_number":10998,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"acc2433b659b10d92cff78baac1207e469d249d3":{"kind":"REWORK","_number":3,"created":"2024-02-26 21:16:58.000000000","uploader":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"},"ref":"refs/changes/99/10999/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/99/10999/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/99/10999/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/99/10999/3"}}},"commit":{"parents":[{"commit":"7ecf43a1bd216d13ca061005e3f709bf5f1f49d9","subject":"feat(users/flokli/kb/dilemma): fix clipboard","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d7ecf43a1bd216d13ca061005e3f709bf5f1f49d9"}]}],"author":{"name":"Aspen Smith","email":"grfn@gws.fyi","date":"2024-02-20 21:31:30.000000000","tz":-300},"committer":{"name":"aspen","email":"root@gws.fyi","date":"2024-02-26 21:16:58.000000000","tz":0},"subject":"feat(aspen/emacs): Begin a complete emacs config revamp","message":"feat(aspen/emacs): Begin a complete emacs config revamp\n\nI\u0027m still on doom, but without all the cruft I\u0027ve accumulated over the\nlast ~6 years it\u0027s actually good and fast and nice. Also, the config is\nliterate now!\n\nThe old emacs is still in .emacs.d, since occasionally I want to\nreference it, but eventually I\u0027ll just get rid of it\n\nChange-Id: Icda840d798594f7e6b188dba044494597d5f6043\nReviewed-on: https://cl.tvl.fyi/c/depot/+/10999\nReviewed-by: aspen \u003croot@gws.fyi\u003e\nTested-by: BuildkiteCI\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dacc2433b659b10d92cff78baac1207e469d249d3"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dacc2433b659b10d92cff78baac1207e469d249d3"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"7ecf43a1bd216d13ca061005e3f709bf5f1f49d9","is_merged_in_target_branch":true,"change_id":"Ibac27b6e022157341ba6eb9f8f6ff62f9e97137b","change_number":11034,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~PrologRule","status":"CLOSED","labels":[{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000010,"name":"aspen","email":"root@gws.fyi","username":"aspen"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dgerrit~PrologRule"],"failing_atoms":[]}}]}
