From 9c48decc134b5785c2f5bd0535e88928b06bb813 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 12:17:59 -0400 Subject: [PATCH 01/16] Add and use my new Refinery colour theme Assimilate 4 drones Assimilate minions v0.3.3-2-gbc1edab Assimilate refinery-theme 71b5501 Assimilate rich-minority 1.0.3-2-ga03e693 Assimilate smart-mode-line 2.13-1-g999be06 * init.el: Move theme-related things from here... * lisp/bandali-theme.el: ...to here. * lisp/bandali-ivy.el: Face customizations now in Refinery. --- .gitmodules | 12 +++ init.el | 95 +------------------ lib/minions | 1 + lib/refinery-theme | 1 + lib/rich-minority | 1 + lib/smart-mode-line | 1 + lisp/bandali-ivy.el | 11 +-- lisp/bandali-theme.el | 94 ++++++++++++++++++ ...me.el => smart-mode-line-bandali-theme.el} | 42 ++++---- 9 files changed, 135 insertions(+), 123 deletions(-) create mode 160000 lib/minions create mode 160000 lib/refinery-theme create mode 160000 lib/rich-minority create mode 160000 lib/smart-mode-line create mode 100644 lisp/bandali-theme.el rename lisp/{smart-mode-line-tangomod-theme.el => smart-mode-line-bandali-theme.el} (63%) diff --git a/.gitmodules b/.gitmodules index 2f2ba90..8793078 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,6 +49,9 @@ url = https://github.com/magit/magit.git recursive-byte-compile = true info-path = Documentation +[submodule "minions"] + path = lib/minions + url = https://github.com/tarsius/minions.git [submodule "no-littering"] path = lib/no-littering url = https://github.com/emacscollective/no-littering.git @@ -65,12 +68,21 @@ [submodule "packed"] path = lib/packed url = https://github.com/emacscollective/packed.git +[submodule "refinery-theme"] + path = lib/refinery-theme + url = https://git.bndl.org/refinery-theme +[submodule "rich-minority"] + path = lib/rich-minority + url = https://github.com/Malabarba/rich-minority.git [submodule "s"] path = lib/s url = https://github.com/magnars/s.el.git [submodule "scpaste"] path = lib/scpaste url = https://github.com/technomancy/scpaste.git +[submodule "smart-mode-line"] + path = lib/smart-mode-line + url = https://github.com/Malabarba/smart-mode-line.git [submodule "switch-buffer-functions"] path = lib/switch-buffer-functions url = https://github.com/10sr/switch-buffer-functions-el.git diff --git a/init.el b/init.el index bb42550..4dff474 100644 --- a/init.el +++ b/init.el @@ -587,6 +587,8 @@ Make N (default: 1) copies of the current line or region." (require 'bandali-org) +(require 'bandali-theme) + ;; *the* right way to do git (use-package magit :bind (("C-x g" . magit-status) @@ -926,95 +928,8 @@ Make N (default: 1) copies of the current line or region." ;; :mode "\\.grg\\'") -;;; Theme - -(comment -(add-to-list 'custom-theme-load-path - (expand-file-name - (convert-standard-filename "lisp") user-emacs-directory)) -(load-theme 'tangomod t) - -(use-package smart-mode-line - :commands (sml/apply-theme) - :demand - :config - ;; thanks, but no thnaks; don't make fixed-width fills. - (defun sml/fill-for-buffer-identification () "") - (setq sml/theme 'tangomod) - (sml/setup) - (smart-mode-line-enable)) - -(use-package doom-modeline - :disabled - :demand - :hook (after-init . doom-modeline-init) - :custom - (doom-modeline-buffer-file-name-style 'relative-to-project)) - -(use-package doom-themes) - -(use-package moody - :disabled - :demand - :config - (setq x-underline-at-descent-line t) - (let ((line (face-attribute 'mode-line :underline))) - (set-face-attribute 'mode-line nil :overline line) - (set-face-attribute 'mode-line-inactive nil :overline line) - (set-face-attribute 'mode-line-inactive nil :underline line) - (set-face-attribute 'mode-line nil :box nil) - (set-face-attribute 'mode-line-inactive nil :box nil) - (set-face-attribute 'mode-line-inactive nil :background "#e1e1e1")) ; d3d7cf - (moody-replace-mode-line-buffer-identification) - (moody-replace-vc-mode)) - -(use-package mini-modeline - :disabled - :demand - :config (mini-modeline-mode)) - -(defvar b/org-mode-font-lock-keywords - '(("[ \t]*\\(#\\+\\(BEGIN\\|END\\|begin\\|end\\)_\\(\\S-+\\)\\)[ \t]*\\([^\n:]*\\)" - (1 '(:foreground "#5a5b5a" :background "#292b2b") t) ; directive - (3 '(:foreground "#81a2be" :background "#292b2b") t) ; kind - (4 '(:foreground "#c5c8c6") t))) ; title - "For use with the `doom-tomorrow-night' theme.") - -(defun b/lights-on () - "Enable my favourite light theme." - (interactive) - (mapc #'disable-theme custom-enabled-themes) - (load-theme 'tangomod t) - (when (featurep 'smart-mode-line) - (sml/apply-theme 'tangomod)) - (font-lock-remove-keywords - 'org-mode b/org-mode-font-lock-keywords) - (when (featurep 'erc-hl-nicks) - (erc-hl-nicks-reset-face-table)) - (when (featurep 'exwm-systemtray) - (exwm-systemtray--refresh))) - -(defun b/lights-off () - "Go dark." - (interactive) - (mapc #'disable-theme custom-enabled-themes) - (load-theme 'doom-one t) - (when (featurep 'smart-mode-line) - (sml/apply-theme 'automatic)) - (font-lock-add-keywords - 'org-mode b/org-mode-font-lock-keywords t) - (when (featurep 'erc-hl-nicks) - (erc-hl-nicks-reset-face-table)) - (when (featurep 'exwm-systemtray) - (exwm-systemtray--refresh))) - -(bind-keys - ("C-c t d" . b/lights-off) - ("C-c t l" . b/lights-on)) - - ;;; Emacs enhancements & auxiliary packages - +(comment (use-package man :config (setq Man-width 80)) @@ -1372,10 +1287,6 @@ Make N (default: 1) copies of the current line or region." (goto-char (cdr macro))) (reftex-this-word))))) -(use-package minions - :demand - :config (minions-mode)) - (use-package dmenu :custom (dmenu-prompt-string "run: ") diff --git a/lib/minions b/lib/minions new file mode 160000 index 0000000..bc1edab --- /dev/null +++ b/lib/minions @@ -0,0 +1 @@ +Subproject commit bc1edab09d3fc1b248c17775ae2eb7d35b96be40 diff --git a/lib/refinery-theme b/lib/refinery-theme new file mode 160000 index 0000000..71b5501 --- /dev/null +++ b/lib/refinery-theme @@ -0,0 +1 @@ +Subproject commit 71b55010865881a496ace53deafa04da458bcec1 diff --git a/lib/rich-minority b/lib/rich-minority new file mode 160000 index 0000000..a03e693 --- /dev/null +++ b/lib/rich-minority @@ -0,0 +1 @@ +Subproject commit a03e693f6f9232cf75363aaaf1cb041f21675c19 diff --git a/lib/smart-mode-line b/lib/smart-mode-line new file mode 160000 index 0000000..999be06 --- /dev/null +++ b/lib/smart-mode-line @@ -0,0 +1 @@ +Subproject commit 999be065b195f2eddb4e1b629f99038d832d44b7 diff --git a/lisp/bandali-ivy.el b/lisp/bandali-ivy.el index 4a88a13..438360f 100644 --- a/lisp/bandali-ivy.el +++ b/lisp/bandali-ivy.el @@ -51,16 +51,7 @@ This function is intended for use with `ivy-ignore-buffers'." (apply #'provided-mode-derived-p mode b/ivy-ignore-buffer-modes)))) (add-to-list 'ivy-ignore-buffers 'b/ivy-ignore-buffer-p) - (ivy-mode 1) - :custom-face - (ivy-minibuffer-match-face-1 ((t (:background "#eeeeee")))) - (ivy-minibuffer-match-face-2 ((t (:background "#e7e7e7" :weight bold)))) - (ivy-minibuffer-match-face-3 ((t (:background "light goldenrod" :weight semi-bold)))) - (ivy-minibuffer-match-face-4 ((t (:background "misty rose" :weight semi-bold)))) - (ivy-current-match ((((class color) (background light)) - :background "#d7d7d7" :foreground "black") - (((class color) (background dark)) - :background "#65a7e2" :foreground "black")))) + (ivy-mode 1)) (use-package swiper :demand diff --git a/lisp/bandali-theme.el b/lisp/bandali-theme.el new file mode 100644 index 0000000..2266723 --- /dev/null +++ b/lisp/bandali-theme.el @@ -0,0 +1,94 @@ +;;; bandali-theme.el --- bandali's custom theme setup -*- lexical-binding: t; -*- + +;; Copyright (C) 2018-2020 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: faces + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; My custom theme setup. + +;;; Code: + +(add-to-list + 'custom-theme-load-path + (expand-file-name + (convert-standard-filename "lisp") user-emacs-directory)) + +(use-package refinery-theme + :demand + :config + (load-theme 'refinery t)) + +(use-package smart-mode-line + :commands (sml/apply-theme) + :demand + :config + ;; thanks, but no thnaks; don't make fixed-width fills. + (defun sml/fill-for-buffer-identification () "") + (setq sml/theme 'bandali) + (sml/setup) + (smart-mode-line-enable)) + +(use-package minions + :demand + :config (minions-mode)) + +(defvar b/org-mode-font-lock-keywords + '(("[ \t]*\\(#\\+\\(BEGIN\\|END\\|begin\\|end\\)_\\(\\S-+\\)\\)[ \t]*\\([^\n:]*\\)" + (1 '(:foreground "#5a5b5a" :background "#292b2b") t) ; directive + (3 '(:foreground "#81a2be" :background "#292b2b") t) ; kind + (4 '(:foreground "#c5c8c6") t))) ; title + "For use with the `doom-tomorrow-night' theme.") + +(eval-when-compile + (declare-function exwm-systemtray--refresh "exwm-systemtray")) + +(defun b/lights-on () + "Enable my favourite light theme." + (interactive) + (mapc #'disable-theme custom-enabled-themes) + (load-theme 'refinery t) + (when (featurep 'smart-mode-line) + (sml/apply-theme 'bandali)) + (font-lock-remove-keywords + 'org-mode b/org-mode-font-lock-keywords) + (when (featurep 'erc-hl-nicks) + (erc-hl-nicks-reset-face-table)) + (when (featurep 'exwm-systemtray) + (exwm-systemtray--refresh))) + +(defun b/lights-off () + "Go dark." + (interactive) + (mapc #'disable-theme custom-enabled-themes) + (load-theme 'tango-dark t) + (when (featurep 'smart-mode-line) + (sml/apply-theme 'automatic)) + (font-lock-add-keywords + 'org-mode b/org-mode-font-lock-keywords t) + (when (featurep 'erc-hl-nicks) + (erc-hl-nicks-reset-face-table)) + (when (featurep 'exwm-systemtray) + (exwm-systemtray--refresh))) + +(bind-keys + ("C-c t d" . b/lights-off) + ("C-c t l" . b/lights-on)) + +(provide 'bandali-theme) +;;; bandali-theme.el ends here diff --git a/lisp/smart-mode-line-tangomod-theme.el b/lisp/smart-mode-line-bandali-theme.el similarity index 63% rename from lisp/smart-mode-line-tangomod-theme.el rename to lisp/smart-mode-line-bandali-theme.el index b69eb7d..c3a2fb3 100644 --- a/lisp/smart-mode-line-tangomod-theme.el +++ b/lisp/smart-mode-line-bandali-theme.el @@ -1,38 +1,38 @@ -;;; smart-mode-line-tangomod-theme.el --- tangomod theme for smart-mode-line +;;; smart-mode-line-bandali-theme.el --- bandali's smart-mode-line theme -*- lexical-binding: t; -*- -;; Copyright (C) 2019 Amin Bandali +;; Copyright (C) 2019-2020 Amin Bandali ;; Author: Amin Bandali ;; Version: 0.1.0 ;; Package-Requires: ((emacs "24.3") (smart-mode-line "2.10")) -;; Keywords: mode-line themes faces +;; Keywords: faces -;;; Commentary: -;; -;; tangomod theme for smart-mode-line - -;;; License: -;; ;; This file is NOT part of GNU Emacs. -;; -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License -;; as published by the Free Software Foundation; either version 3 -;; of the License, or (at your option) any later version. -;; + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. -;; + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; My custom theme for smart-mode-line. ;;; Code: -(deftheme smart-mode-line-tangomod - "tangomod theme for smart-mode-line.") +(deftheme smart-mode-line-bandali + "My custom theme for smart-mode-line.") (custom-theme-set-faces - 'smart-mode-line-tangomod + 'smart-mode-line-bandali '(mode-line-buffer-id ((t :inherit sml/filename :foreground nil :background nil))) '(mode-line-inactive ((t :background "#e1e1e1"))) '(mode-line ((t :background "#e7e7e7"))) @@ -47,5 +47,5 @@ (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name)))) -(provide-theme 'smart-mode-line-tangomod) -;;; smart-mode-line-tangomod-theme.el ends here. +(provide-theme 'smart-mode-line-bandali) +;;; smart-mode-line-bandali-theme.el ends here. -- 2.20.1 From 0a4ef723f624951b16271426d4eedafff15e6f15 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 12:23:10 -0400 Subject: [PATCH 02/16] Update 3 drones Update ivy to 0.13.0-201-g1b426e1 Update magit to v2.90.1-963-gec719a49 Update org to release_9.3.6-542-g14d6f95be --- lib/ivy | 2 +- lib/magit | 2 +- lib/org | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ivy b/lib/ivy index 64f05f4..1b426e1 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit 64f05f4735bba8b708bc12cfc2cbfb7fb7706787 +Subproject commit 1b426e1215242cef61b65ee6a1d07840e22d4bce diff --git a/lib/magit b/lib/magit index 8e28a15..ec719a4 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit 8e28a154453a21da44d6b5a75eebdd5787715509 +Subproject commit ec719a49bf6e724d197277e63c70a728c2c6e281 diff --git a/lib/org b/lib/org index 152a5ef..14d6f95 160000 --- a/lib/org +++ b/lib/org @@ -1 +1 @@ -Subproject commit 152a5ef58c014eb86d1c59cd86b6ce4e6a22a152 +Subproject commit 14d6f95bec975d882d5d0a047e81c74a1cd89edc -- 2.20.1 From 8146824a5a0175e7e51e5cba82ef88cf105ef50d Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 13:20:21 -0400 Subject: [PATCH 03/16] Update refinery-theme to v0.1.1 * lisp/bandali-theme.el: (setq sml/theme 'respectful). * lisp/smart-mode-line-bandali-theme.el, * lisp/tangomod-theme.el: Delete. --- lib/refinery-theme | 2 +- lisp/bandali-theme.el | 7 +- lisp/smart-mode-line-bandali-theme.el | 51 --------- lisp/tangomod-theme.el | 154 -------------------------- 4 files changed, 2 insertions(+), 212 deletions(-) delete mode 100644 lisp/smart-mode-line-bandali-theme.el delete mode 100644 lisp/tangomod-theme.el diff --git a/lib/refinery-theme b/lib/refinery-theme index 71b5501..8322113 160000 --- a/lib/refinery-theme +++ b/lib/refinery-theme @@ -1 +1 @@ -Subproject commit 71b55010865881a496ace53deafa04da458bcec1 +Subproject commit 83221130cb12be47a38a3748dc8fb00cd2bc6740 diff --git a/lisp/bandali-theme.el b/lisp/bandali-theme.el index 2266723..87fc231 100644 --- a/lisp/bandali-theme.el +++ b/lisp/bandali-theme.el @@ -24,11 +24,6 @@ ;;; Code: -(add-to-list - 'custom-theme-load-path - (expand-file-name - (convert-standard-filename "lisp") user-emacs-directory)) - (use-package refinery-theme :demand :config @@ -40,7 +35,7 @@ :config ;; thanks, but no thnaks; don't make fixed-width fills. (defun sml/fill-for-buffer-identification () "") - (setq sml/theme 'bandali) + (setq sml/theme 'respectful) (sml/setup) (smart-mode-line-enable)) diff --git a/lisp/smart-mode-line-bandali-theme.el b/lisp/smart-mode-line-bandali-theme.el deleted file mode 100644 index c3a2fb3..0000000 --- a/lisp/smart-mode-line-bandali-theme.el +++ /dev/null @@ -1,51 +0,0 @@ -;;; smart-mode-line-bandali-theme.el --- bandali's smart-mode-line theme -*- lexical-binding: t; -*- - -;; Copyright (C) 2019-2020 Amin Bandali - -;; Author: Amin Bandali -;; Version: 0.1.0 -;; Package-Requires: ((emacs "24.3") (smart-mode-line "2.10")) -;; Keywords: faces - -;; This file is NOT part of GNU Emacs. - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; My custom theme for smart-mode-line. - -;;; Code: - -(deftheme smart-mode-line-bandali - "My custom theme for smart-mode-line.") - -(custom-theme-set-faces - 'smart-mode-line-bandali - '(mode-line-buffer-id ((t :inherit sml/filename :foreground nil :background nil))) - '(mode-line-inactive ((t :background "#e1e1e1"))) - '(mode-line ((t :background "#e7e7e7"))) - '(sml/global ((t :inherit font-lock-preprocessor-face))) - '(sml/filename ((t :inherit mode-line-buffer-id))) - '(sml/modes ((t :foreground nil :inherit sml/filename :weight normal))) - '(sml/prefix ((t :inherit (font-lock-variable-name-face sml/global)))) - '(sml/read-only ((t :inherit (font-lock-type-face sml/not-modified))))) - -;;;###autoload -(when load-file-name - (add-to-list 'custom-theme-load-path - (file-name-as-directory (file-name-directory load-file-name)))) - -(provide-theme 'smart-mode-line-bandali) -;;; smart-mode-line-bandali-theme.el ends here. diff --git a/lisp/tangomod-theme.el b/lisp/tangomod-theme.el deleted file mode 100644 index 5ec1bd1..0000000 --- a/lisp/tangomod-theme.el +++ /dev/null @@ -1,154 +0,0 @@ -;;; tangomod-theme.el --- Tango-based custom theme for faces - -;; Copyright (C) 2010-2013 Free Software Foundation, Inc. - -;; Authors: Chong Yidong -;; Jan Moringen - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary - -;; The colors in this theme come from the Tango palette, which is in -;; the public domain: http://tango.freedesktop.org/ - -;;; Code: - -(deftheme tangomod - "Face colors using the Tango palette (light background). -Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell, -Semantic, and Ansi-Color faces are included.") - -(let ((class '((class color) (min-colors 89))) - ;; Tango palette colors. - (butter-1 "#fce94f") (butter-2 "#edd400") (butter-3 "#c4a000") - (orange-1 "#fcaf3e") (orange-2 "#f57900") (orange-3 "#ce5c00") - (choc-1 "#e9b96e") (choc-2 "#c17d11") (choc-3 "#8f5902") - (cham-1 "#8ae234") (cham-2 "#73d216") (cham-3 "#4e9a06") - (blue-1 "#729fcf") (blue-2 "#3465a4") (blue-3 "#204a87") - (plum-1 "#ad7fa8") (plum-2 "#75507b") (plum-3 "#5c3566") - (red-1 "#ef2929") (red-2 "#cc0000") (red-3 "#a40000") - (alum-1 "#ffffff") (alum-2 "#d3d7cf") (alum-3 "#babdb6") - (alum-4 "#888a85") (alum-5 "#5f615c") (alum-6 "#000000") - ;; Not in Tango palette; used for better contrast. - (cham-4 "#346604") (blue-0 "#8cc4ff") (orange-4 "#b35000")) - - (custom-theme-set-faces - 'tangomod - `(default ((,class (:foreground ,alum-6 :background ,alum-1)))) - `(cursor ((,class (:background ,blue-3)))) - ;; Highlighting faces - `(fringe ((,class (:background "#FFFFFF")))) ;; EDITED - `(highlight ((,class (:foreground ,alum-6 :background ,butter-2)))) - ;; Disabled for talk at PL offsite - ;; `(highlight ((,class (:background ,alum-3)))) - `(region ((,class (:background ,alum-3)))) - `(secondary-selection ((,class (:background ,blue-0)))) - `(isearch ((,class (:foreground "#ffffff" :background ,orange-3)))) - `(lazy-highlight ((,class (:background ,choc-1)))) - `(trailing-whitespace ((,class (:background ,red-1)))) - ;; Paren face - `(show-paren-match ((,class (:background ,blue-1)))) - ;; Mode line faces - `(mode-line ((,class (:box (:line-width -1 :style released-button) - :background ,alum-2 :foreground ,alum-6)))) - `(mode-line-inactive ((,class (:box (:line-width -1 :style released-button) - :background ,alum-4 :foreground ,alum-6)))) - ;; Escape and prompt faces - `(minibuffer-prompt ((,class (:weight bold :foreground ,blue-3)))) - `(escape-glyph ((,class (:foreground ,red-3)))) - `(error ((,class (:foreground ,red-3)))) - `(warning ((,class (:foreground ,orange-3)))) - `(success ((,class (:foreground ,cham-3)))) - ;; Font lock faces - `(font-lock-builtin-face ((,class (:foreground ,plum-2)))) - `(font-lock-comment-face ((,class (:slant italic :foreground ,alum-5)))) - `(font-lock-constant-face ((,class (:weight bold :foreground ,blue-3)))) - `(font-lock-function-name-face ((,class (:foreground ,red-3)))) - `(font-lock-keyword-face ((,class (:foreground ,cham-4)))) - `(font-lock-string-face ((,class (:foreground ,plum-3)))) - `(font-lock-type-face ((,class (:foreground ,blue-3)))) - `(font-lock-variable-name-face ((,class (:foreground ,orange-4)))) - ;; Button and link faces - `(link ((,class (:underline t :foreground ,blue-3)))) - `(link-visited ((,class (:underline t :foreground ,blue-2)))) - ;; Gnus faces - `(gnus-group-news-1 ((,class (:weight bold :foreground ,plum-3)))) - `(gnus-group-news-1-low ((,class (:foreground ,plum-3)))) - `(gnus-group-news-2 ((,class (:weight bold :foreground ,blue-3)))) - `(gnus-group-news-2-low ((,class (:foreground ,blue-3)))) - `(gnus-group-news-3 ((,class (:weight bold :foreground ,red-3)))) - `(gnus-group-news-3-low ((,class (:foreground ,red-3)))) - `(gnus-group-news-4 ((,class (:weight bold :foreground ,"#7a4c02")))) - `(gnus-group-news-4-low ((,class (:foreground ,"#7a4c02")))) - `(gnus-group-news-5 ((,class (:weight bold :foreground ,orange-3)))) - `(gnus-group-news-5-low ((,class (:foreground ,orange-3)))) - `(gnus-group-news-low ((,class (:foreground ,alum-4)))) - `(gnus-group-mail-1 ((,class (:weight bold :foreground ,plum-3)))) - `(gnus-group-mail-1-low ((,class (:foreground ,plum-3)))) - `(gnus-group-mail-2 ((,class (:weight bold :foreground ,blue-3)))) - `(gnus-group-mail-2-low ((,class (:foreground ,blue-3)))) - `(gnus-group-mail-3 ((,class (:weight bold :foreground ,cham-3)))) - `(gnus-group-mail-3-low ((,class (:foreground ,cham-3)))) - `(gnus-group-mail-low ((,class (:foreground ,alum-4)))) - `(gnus-header-content ((,class (:foreground ,cham-3)))) - `(gnus-header-from ((,class (:weight bold :foreground ,butter-3)))) - `(gnus-header-subject ((,class (:foreground ,red-3)))) - `(gnus-header-name ((,class (:foreground ,blue-3)))) - `(gnus-header-newsgroups ((,class (:foreground ,alum-4)))) - ;; Message faces - `(message-header-name ((,class (:foreground ,blue-3)))) - `(message-header-cc ((,class (:foreground ,butter-3)))) - `(message-header-other ((,class (:foreground ,choc-2)))) - `(message-header-subject ((,class (:foreground ,red-3)))) - `(message-header-to ((,class (:weight bold :foreground ,butter-3)))) - `(message-cited-text ((,class (:slant italic :foreground ,alum-5)))) - `(message-separator ((,class (:weight bold :foreground ,cham-3)))) - ;; SMerge - `(smerge-refined-change ((,class (:background ,plum-1)))) - ;; Ediff - `(ediff-current-diff-A ((,class (:background ,blue-1)))) - `(ediff-fine-diff-A ((,class (:background ,plum-1)))) - `(ediff-current-diff-B ((,class (:background ,butter-1)))) - `(ediff-fine-diff-B ((,class (:background ,orange-1)))) - ;; Flyspell - `(flyspell-duplicate ((,class (:underline ,orange-1)))) - `(flyspell-incorrect ((,class (:underline ,red-1)))) - ;; Semantic faces - `(semantic-decoration-on-includes ((,class (:underline ,cham-4)))) - `(semantic-decoration-on-private-members-face - ((,class (:background ,alum-2)))) - `(semantic-decoration-on-protected-members-face - ((,class (:background ,alum-2)))) - `(semantic-decoration-on-unknown-includes - ((,class (:background ,choc-3)))) - `(semantic-decoration-on-unparsed-includes - ((,class (:underline ,orange-3)))) - `(semantic-tag-boundary-face ((,class (:overline ,blue-1)))) - `(semantic-unmatched-syntax-face ((,class (:underline ,red-1))))) - - (custom-theme-set-variables - 'tangomod - `(ansi-color-names-vector [,alum-6 ,red-3 ,cham-3 ,butter-3 - ,blue-3 ,plum-3 ,blue-1 ,alum-1]))) - -(provide-theme 'tangomod) - -;; Local Variables: -;; no-byte-compile: t -;; End: - -;;; tangomod-theme.el ends here -- 2.20.1 From 1eb203130bcee485d5abaead5dc7ee723a49d864 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 16:06:36 -0400 Subject: [PATCH 04/16] Assimilate 8 drones Assimilate boxquote v2.1-1-g7e47e0e Assimilate expand-region 0.11.0-36-gea6b4cb Assimilate hl-todo v3.1.1-2-g3bba459 Assimilate orgalist b436971 Assimilate page-break-lines 0.11-29-g314b397 Assimilate unkillable-scratch 1.0.0-5-gb24c2a7 Assimilate which-key v3.4.0-24-g8b49ae9 Assimilate yasnippet 0.14.0-6-g5b1217a Also, remove some unused (use-package ...) forms. --- .gitmodules | 24 +++++ init.el | 207 ++++++++----------------------------- lib/boxquote | 1 + lib/expand-region | 1 + lib/hl-todo | 1 + lib/orgalist | 1 + lib/page-break-lines | 1 + lib/unkillable-scratch | 1 + lib/which-key | 1 + lib/yasnippet | 1 + lisp/bandali-message.el | 4 + lisp/bandali-multi-term.el | 81 +++++++++++++++ lisp/bandali-projectile.el | 67 ++++++++++++ lisp/bandali-theme.el | 3 +- lisp/bandali-yasnippet.el | 26 +++++ 15 files changed, 254 insertions(+), 166 deletions(-) create mode 160000 lib/boxquote create mode 160000 lib/expand-region create mode 160000 lib/hl-todo create mode 160000 lib/orgalist create mode 160000 lib/page-break-lines create mode 160000 lib/unkillable-scratch create mode 160000 lib/which-key create mode 160000 lib/yasnippet create mode 100644 lisp/bandali-multi-term.el create mode 100644 lisp/bandali-projectile.el create mode 100644 lisp/bandali-yasnippet.el diff --git a/.gitmodules b/.gitmodules index 8793078..2b61df8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,6 +13,9 @@ [submodule "borg"] path = lib/borg url = https://github.com/emacscollective/borg.git +[submodule "boxquote"] + path = lib/boxquote + url = https://github.com/davep/boxquote.el.git [submodule "dash"] path = lib/dash url = https://github.com/magnars/dash.el.git @@ -36,6 +39,12 @@ [submodule "erc-scrolltoplace"] path = lib/erc-scrolltoplace url = https://gitlab.com/jgkamat/erc-scrolltoplace.git +[submodule "expand-region"] + path = lib/expand-region + url = https://github.com/magnars/expand-region.el.git +[submodule "hl-todo"] + path = lib/hl-todo + url = https://github.com/tarsius/hl-todo.git [submodule "ivy"] path = lib/ivy url = https://github.com/abo-abo/swiper.git @@ -65,9 +74,15 @@ [submodule "org-tanglesync"] path = lib/org-tanglesync url = https://github.com/mtekman/org-tanglesync.el.git +[submodule "orgalist"] + path = lib/orgalist + url = https://github.com/emacsmirror/orgalist.git [submodule "packed"] path = lib/packed url = https://github.com/emacscollective/packed.git +[submodule "page-break-lines"] + path = lib/page-break-lines + url = https://github.com/purcell/page-break-lines.git [submodule "refinery-theme"] path = lib/refinery-theme url = https://git.bndl.org/refinery-theme @@ -89,12 +104,21 @@ [submodule "transient"] path = lib/transient url = https://github.com/magit/transient.git +[submodule "unkillable-scratch"] + path = lib/unkillable-scratch + url = https://github.com/EricCrosson/unkillable-scratch.git [submodule "use-package"] path = lib/use-package url = https://github.com/jwiegley/use-package.git +[submodule "which-key"] + path = lib/which-key + url = https://github.com/justbur/emacs-which-key.git [submodule "with-editor"] path = lib/with-editor url = https://github.com/magit/with-editor.git +[submodule "yasnippet"] + path = lib/yasnippet + url = https://github.com/joaotavora/yasnippet.git [submodule "znc"] path = lib/znc url = https://git.bandali.eu.org/znc.el.git diff --git a/init.el b/init.el index 4dff474..d66ec10 100644 --- a/init.el +++ b/init.el @@ -638,6 +638,7 @@ Make N (default: 1) copies of the current line or region." (require 'bandali-ivy) (require 'bandali-eshell) +;; (require 'bandali-multi-term) (require 'bandali-ibuffer) @@ -657,7 +658,12 @@ Make N (default: 1) copies of the current line or region." ("H" . outline-hide-body) ("S" . outline-show-all) ("h" . outline-hide-subtree) - ("s" . outline-show-subtree))) + ("s" . outline-show-subtree)) + :config + (when (featurep 'which-key) + (which-key-add-key-based-replacements + "C-c @" "outline" + "s-O" "outline"))) (use-package ls-lisp :custom (ls-lisp-dirs-first t)) @@ -929,7 +935,7 @@ Make N (default: 1) copies of the current line or region." ;;; Emacs enhancements & auxiliary packages -(comment + (use-package man :config (setq Man-width 80)) @@ -938,7 +944,6 @@ Make N (default: 1) copies of the current line or region." :config (which-key-add-key-based-replacements ;; prefixes for global prefixes and minor modes - "C-c @" "outline" "C-c !" "flycheck" "C-x RET" "coding system" "C-x 8" "unicode" @@ -963,15 +968,8 @@ Make N (default: 1) copies of the current line or region." "C-c F" "frames" "C-c g" "magit" "C-S-h" "help(ful)" - "C-c m" "multiple-cursors" - "C-c p" "projectile" - "C-c p s" "projectile/search" - "C-c p x" "projectile/execute" - "C-c p 4" "projectile/other-window" "C-c q" "boxquote" - "C-c t" "themes" - ;; "s-O" "outline" - ) + "C-c t" "themes") ;; prefixes for major modes (which-key-add-major-mode-key-based-replacements 'message-mode @@ -982,51 +980,15 @@ Make N (default: 1) copies of the current line or region." (which-key-mode) :custom (which-key-add-column-padding 5) - (which-key-max-description-length 32)) + (which-key-idle-delay 10000) + (which-key-idle-secondary-delay 0.05) + (which-key-max-description-length 32) + (which-key-show-early-on-C-h t)) -(use-package crux ; results in Waiting for git... [2 times] - :defer 0.4 - :bind (("C-c d" . crux-duplicate-current-line-or-region) - ("C-c M-d" . crux-duplicate-and-comment-current-line-or-region) - ("C-c f C" . crux-copy-file-preserve-attributes) - ("C-c f D" . crux-delete-file-and-buffer) - ("C-c f R" . crux-rename-file-and-buffer) - ("C-c j" . crux-top-join-line) - ("C-S-j" . crux-top-join-line))) - -(use-package projectile - :disabled - :defer 0.5 - :bind-keymap ("C-c p" . projectile-command-map) - :config - (projectile-mode) - - (defun b/projectile-mode-line-fun () - "Report project name and type in the modeline." - (let ((project-name (projectile-project-name)) - (project-type (projectile-project-type))) - (format "%s%s" - projectile-mode-line-prefix - (if project-type - (format ":%s" project-type) - "")))) - (setq projectile-mode-line-function 'b/projectile-mode-line-fun) - - (defun my-projectile-invalidate-cache (&rest _args) - ;; ignore the args to `magit-checkout' - (projectile-invalidate-cache nil)) - - (eval-after-load 'magit-branch - '(progn - (advice-add 'magit-checkout - :after #'my-projectile-invalidate-cache) - (advice-add 'magit-branch-and-checkout - :after #'my-projectile-invalidate-cache))) - :custom - (projectile-completion-system 'ivy) - (projectile-mode-line-prefix " proj")) +;; (require 'bandali-projectile) (use-package helpful + :disabled :defer 0.6 :bind (("C-S-h c" . helpful-command) @@ -1048,95 +1010,36 @@ Make N (default: 1) copies of the current line or region." (use-package boxquote :defer 0.6 :bind - (:prefix-map b/boxquote-prefix-map - :prefix "C-c q" - ("b" . boxquote-buffer) - ("B" . boxquote-insert-buffer) - ("d" . boxquote-defun) - ("F" . boxquote-insert-file) - ("hf" . boxquote-describe-function) - ("hk" . boxquote-describe-key) - ("hv" . boxquote-describe-variable) - ("hw" . boxquote-where-is) - ("k" . boxquote-kill) - ("p" . boxquote-paragraph) - ("q" . boxquote-boxquote) - ("r" . boxquote-region) - ("s" . boxquote-shell-command) - ("t" . boxquote-text) - ("T" . boxquote-title) - ("u" . boxquote-unbox) - ("U" . boxquote-unbox-region) - ("y" . boxquote-yank) - ("M-q" . boxquote-fill-paragraph) - ("M-w" . boxquote-kill-ring-save))) - -(use-package orgalist - ;; breaks auto-fill-mode, showing this error: - ;; orgalist--boundaries: Lisp nesting exceeds ‘max-lisp-eval-depth’ - :disabled - :after message - :hook (message-mode . orgalist-mode)) + (:prefix-map + b/boxquote-prefix-map + :prefix "C-c q" + ("b" . boxquote-buffer) + ("B" . boxquote-insert-buffer) + ("d" . boxquote-defun) + ("F" . boxquote-insert-file) + ("hf" . boxquote-describe-function) + ("hk" . boxquote-describe-key) + ("hv" . boxquote-describe-variable) + ("hw" . boxquote-where-is) + ("k" . boxquote-kill) + ("p" . boxquote-paragraph) + ("q" . boxquote-boxquote) + ("r" . boxquote-region) + ("s" . boxquote-shell-command) + ("t" . boxquote-text) + ("T" . boxquote-title) + ("u" . boxquote-unbox) + ("U" . boxquote-unbox-region) + ("y" . boxquote-yank) + ("M-q" . boxquote-fill-paragraph) + ("M-w" . boxquote-kill-ring-save))) -;; highlight TODOs in buffers (use-package hl-todo + ;; highlight TODOs in buffers :defer 0.5 :config (global-hl-todo-mode)) -(use-package multi-term - :disabled - :defer 0.6 - :bind (("C-c a s m m" . multi-term) - ("C-c a s m d" . multi-term-dedicated-toggle) - ("C-c a s m p" . multi-term-prev) - ("C-c a s m n" . multi-term-next) - :map term-mode-map - ("C-c C-j" . term-char-mode)) - :config - (setq multi-term-program "screen" - multi-term-program-switches (concat "-c" - (getenv "XDG_CONFIG_HOME") - "/screen/screenrc") - ;; TODO: add separate bindings for connecting to existing - ;; session vs. always creating a new one - multi-term-dedicated-select-after-open-p t - multi-term-dedicated-window-height 20 - multi-term-dedicated-max-window-height 30 - term-bind-key-alist - '(("C-c C-c" . term-interrupt-subjob) - ("C-c C-e" . term-send-esc) - ("C-c C-j" . term-line-mode) - ("C-k" . kill-line) - ;; ("C-y" . term-paste) - ("C-y" . term-send-raw) - ("M-f" . term-send-forward-word) - ("M-b" . term-send-backward-word) - ("M-p" . term-send-up) - ("M-n" . term-send-down) - ("M-j" . term-send-raw-meta) - ("M-y" . term-send-raw-meta) - ("M-/" . term-send-raw-meta) - ("M-0" . term-send-raw-meta) - ("M-1" . term-send-raw-meta) - ("M-2" . term-send-raw-meta) - ("M-3" . term-send-raw-meta) - ("M-4" . term-send-raw-meta) - ("M-5" . term-send-raw-meta) - ("M-6" . term-send-raw-meta) - ("M-7" . term-send-raw-meta) - ("M-8" . term-send-raw-meta) - ("M-9" . term-send-raw-meta) - ("" . term-send-backward-kill-word) - ("" . term-send-backward-kill-word) - ("M-d" . term-send-delete-word) - ("M-," . term-send-raw) - ("M-." . comint-dynamic-complete)) - term-unbind-key-alist - '("C-z" "C-x" "C-c" "C-h" - ;; "C-y" - ""))) - (use-package page-break-lines :defer 0.5 :custom @@ -1147,35 +1050,9 @@ Make N (default: 1) copies of the current line or region." (use-package expand-region :bind ("C-=" . er/expand-region)) -(use-package multiple-cursors - :bind - (("C-S-" . mc/add-cursor-on-click) - (:prefix-map b/mc-prefix-map - :prefix "C-c m" - ("c" . mc/edit-lines) - ("n" . mc/mark-next-like-this) - ("p" . mc/mark-previous-like-this) - ("a" . mc/mark-all-like-this)))) - -(use-package yasnippet - :defer 0.6 - :config - (defconst yas-verbosity-cur yas-verbosity) - (setq yas-verbosity 2) - (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets" t) - (yas-reload-all) - (setq yas-verbosity yas-verbosity-cur) - - (defun b/yas--maybe-expand-key-filter (cmd) - (when (and (yas--maybe-expand-key-filter cmd) - (not (bound-and-true-p git-commit-mode))) - cmd)) - (defconst b/yas-maybe-expand - '(menu-item "" yas-expand :filter b/yas--maybe-expand-key-filter)) - (define-key yas-minor-mode-map - (kbd "SPC") b/yas-maybe-expand) - - (yas-global-mode)) +(require 'bandali-yasnippet) + +(comment (use-package debbugs :bind diff --git a/lib/boxquote b/lib/boxquote new file mode 160000 index 0000000..7e47e0e --- /dev/null +++ b/lib/boxquote @@ -0,0 +1 @@ +Subproject commit 7e47e0e2853bc1215739b2e28f260e9eed93b2c5 diff --git a/lib/expand-region b/lib/expand-region new file mode 160000 index 0000000..ea6b4cb --- /dev/null +++ b/lib/expand-region @@ -0,0 +1 @@ +Subproject commit ea6b4cbb9985ddae532bd2faf9bb00570c9f2781 diff --git a/lib/hl-todo b/lib/hl-todo new file mode 160000 index 0000000..3bba459 --- /dev/null +++ b/lib/hl-todo @@ -0,0 +1 @@ +Subproject commit 3bba4591c54951d2abab113ec5e58a6319808ca9 diff --git a/lib/orgalist b/lib/orgalist new file mode 160000 index 0000000..b436971 --- /dev/null +++ b/lib/orgalist @@ -0,0 +1 @@ +Subproject commit b436971c7d35af5ab48d91248dc3028fb733cab6 diff --git a/lib/page-break-lines b/lib/page-break-lines new file mode 160000 index 0000000..314b397 --- /dev/null +++ b/lib/page-break-lines @@ -0,0 +1 @@ +Subproject commit 314b397910b3d16bb7cbcc25098696348e678080 diff --git a/lib/unkillable-scratch b/lib/unkillable-scratch new file mode 160000 index 0000000..b24c2a7 --- /dev/null +++ b/lib/unkillable-scratch @@ -0,0 +1 @@ +Subproject commit b24c2a760529833f230c14cb02ff6e7ec92288ab diff --git a/lib/which-key b/lib/which-key new file mode 160000 index 0000000..8b49ae9 --- /dev/null +++ b/lib/which-key @@ -0,0 +1 @@ +Subproject commit 8b49ae978cceca65967f3544c236f32964ddbed0 diff --git a/lib/yasnippet b/lib/yasnippet new file mode 160000 index 0000000..5b1217a --- /dev/null +++ b/lib/yasnippet @@ -0,0 +1 @@ +Subproject commit 5b1217ab085fab4abeb1118dccb260691b446703 diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el index be88049..ca30dc4 100644 --- a/lisp/bandali-message.el +++ b/lisp/bandali-message.el @@ -115,5 +115,9 @@ (gnus-harvest-install 'message-x) (gnus-harvest-install)))) +(use-package orgalist + :after message + :hook (message-mode . orgalist-mode)) + (provide 'bandali-message) ;;; bandali-message.el ends here diff --git a/lisp/bandali-multi-term.el b/lisp/bandali-multi-term.el new file mode 100644 index 0000000..1e02e36 --- /dev/null +++ b/lisp/bandali-multi-term.el @@ -0,0 +1,81 @@ +;;; bandali-multi-term.el --- bandali's multi-term setup -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: terminals + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; My multi-term configuration. + +;;; Code: + +(use-package multi-term + :disabled + :defer 0.6 + :bind (("C-c a s m m" . multi-term) + ("C-c a s m d" . multi-term-dedicated-toggle) + ("C-c a s m p" . multi-term-prev) + ("C-c a s m n" . multi-term-next) + :map term-mode-map + ("C-c C-j" . term-char-mode)) + :config + (setq multi-term-program "screen" + multi-term-program-switches (concat "-c" + (getenv "XDG_CONFIG_HOME") + "/screen/screenrc") + ;; TODO: add separate bindings for connecting to existing + ;; session vs. always creating a new one + multi-term-dedicated-select-after-open-p t + multi-term-dedicated-window-height 20 + multi-term-dedicated-max-window-height 30 + term-bind-key-alist + '(("C-c C-c" . term-interrupt-subjob) + ("C-c C-e" . term-send-esc) + ("C-c C-j" . term-line-mode) + ("C-k" . kill-line) + ;; ("C-y" . term-paste) + ("C-y" . term-send-raw) + ("M-f" . term-send-forward-word) + ("M-b" . term-send-backward-word) + ("M-p" . term-send-up) + ("M-n" . term-send-down) + ("M-j" . term-send-raw-meta) + ("M-y" . term-send-raw-meta) + ("M-/" . term-send-raw-meta) + ("M-0" . term-send-raw-meta) + ("M-1" . term-send-raw-meta) + ("M-2" . term-send-raw-meta) + ("M-3" . term-send-raw-meta) + ("M-4" . term-send-raw-meta) + ("M-5" . term-send-raw-meta) + ("M-6" . term-send-raw-meta) + ("M-7" . term-send-raw-meta) + ("M-8" . term-send-raw-meta) + ("M-9" . term-send-raw-meta) + ("" . term-send-backward-kill-word) + ("" . term-send-backward-kill-word) + ("M-d" . term-send-delete-word) + ("M-," . term-send-raw) + ("M-." . comint-dynamic-complete)) + term-unbind-key-alist + '("C-z" "C-x" "C-c" "C-h" + ;; "C-y" + ""))) + +(provide 'bandali-multi-term) +;;; bandali-multi-term.el ends here diff --git a/lisp/bandali-projectile.el b/lisp/bandali-projectile.el new file mode 100644 index 0000000..41504e6 --- /dev/null +++ b/lisp/bandali-projectile.el @@ -0,0 +1,67 @@ +;;; bandali-projectile.el --- bandali's Projectile setup -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: convenience + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; My Projectile setup. + +;;; Code: + +(use-package projectile + :disabled + :defer 0.5 + :bind-keymap ("C-c p" . projectile-command-map) + :config + (projectile-mode) + + (defun b/projectile-mode-line-fun () + "Report project name and type in the modeline." + (let ((project-name (projectile-project-name)) + (project-type (projectile-project-type))) + (format "%s%s" + projectile-mode-line-prefix + (if project-type + (format ":%s" project-type) + "")))) + (setq projectile-mode-line-function 'b/projectile-mode-line-fun) + + (defun my-projectile-invalidate-cache (&rest _args) + ;; ignore the args to `magit-checkout' + (projectile-invalidate-cache nil)) + + (eval-after-load 'magit-branch + '(progn + (advice-add 'magit-checkout + :after #'my-projectile-invalidate-cache) + (advice-add 'magit-branch-and-checkout + :after #'my-projectile-invalidate-cache))) + + (when (featurep 'which-key) + (which-key-add-key-based-replacements + "C-c p" "projectile" + "C-c p s" "projectile/search" + "C-c p x" "projectile/execute" + "C-c p 4" "projectile/other-window")) + :custom + (projectile-completion-system 'ivy) + (projectile-mode-line-prefix " proj")) + +(provide 'bandali-projectile) +;;; bandali-projectile.el ends here diff --git a/lisp/bandali-theme.el b/lisp/bandali-theme.el index 87fc231..13be391 100644 --- a/lisp/bandali-theme.el +++ b/lisp/bandali-theme.el @@ -51,7 +51,8 @@ "For use with the `doom-tomorrow-night' theme.") (eval-when-compile - (declare-function exwm-systemtray--refresh "exwm-systemtray")) + (declare-function exwm-systemtray--refresh "exwm-systemtray") + (declare-function erc-hl-nicks-reset-face-table "erc-hl-nicks")) (defun b/lights-on () "Enable my favourite light theme." diff --git a/lisp/bandali-yasnippet.el b/lisp/bandali-yasnippet.el new file mode 100644 index 0000000..6cdbc7a --- /dev/null +++ b/lisp/bandali-yasnippet.el @@ -0,0 +1,26 @@ +(use-package yasnippet + :defer 0.6 + :config + (declare-function yas-reload-all + "yasnippet" (&optional no-jit interactive)) + (declare-function yas-maybe-expand-abbrev-key-filter + "yasnippet" (cmd)) + + (defconst yas-verbosity-cur yas-verbosity) + (setq yas-verbosity 2) + (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets" t) + (yas-reload-all) + (setq yas-verbosity yas-verbosity-cur) + + (defun b/yas-maybe-expand-abbrev-key-filter (cmd) + (when (and (yas-maybe-expand-abbrev-key-filter cmd) + (not (bound-and-true-p git-commit-mode))) + cmd)) + (defconst b/yas-maybe-expand + '(menu-item "" yas-expand :filter b/yas-maybe-expand-abbrev-key-filter)) + (define-key yas-minor-mode-map + (kbd "SPC") b/yas-maybe-expand) + + (yas-global-mode)) + +(provide 'bandali-yasnippet) -- 2.20.1 From aed4156cfc83f564311c31dffaa82486c41bb8c6 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 16:11:49 -0400 Subject: [PATCH 05/16] Remove emmet-mode --- .gitmodules | 3 --- init.el | 9 --------- lib/emmet-mode | 1 - 3 files changed, 13 deletions(-) delete mode 160000 lib/emmet-mode diff --git a/.gitmodules b/.gitmodules index 2b61df8..3aa847d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,9 +30,6 @@ [submodule "ebdb"] path = lib/ebdb url = https://github.com/girzel/ebdb.git -[submodule "emmet-mode"] - path = lib/emmet-mode - url = https://github.com/smihica/emmet-mode.git [submodule "erc-hl-nicks"] path = lib/erc-hl-nicks url = https://github.com/leathekd/erc-hl-nicks.git diff --git a/init.el b/init.el index d66ec10..bf720ee 100644 --- a/init.el +++ b/init.el @@ -888,15 +888,6 @@ Make N (default: 1) copies of the current line or region." :config (setq css-indent-offset 2)) -(use-package emmet-mode - :after (:any mhtml-mode css-mode sgml-mode) - :bind* (("C-)" . emmet-next-edit-point) - ("C-(" . emmet-prev-edit-point)) - :config - (unbind-key "C-j" emmet-mode-keymap) - (setq emmet-move-cursor-between-quotes t) - :hook (css-mode html-mode sgml-mode)) - (use-package geiser :disabled) diff --git a/lib/emmet-mode b/lib/emmet-mode deleted file mode 160000 index 1acb821..0000000 --- a/lib/emmet-mode +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1acb821e0142136344ccf40c1e5fb664d7db2e70 -- 2.20.1 From 3e61146ea1009db8d48bf53422de799fed285a12 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 16:15:13 -0400 Subject: [PATCH 06/16] Move ls-lisp config from init.el to lisp/bandali-dired.el. Also address byte-compiler warning. --- init.el | 3 --- lisp/bandali-dired.el | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/init.el b/init.el index bf720ee..a5fdea4 100644 --- a/init.el +++ b/init.el @@ -665,9 +665,6 @@ Make N (default: 1) copies of the current line or region." "C-c @" "outline" "s-O" "outline"))) -(use-package ls-lisp - :custom (ls-lisp-dirs-first t)) - (require 'bandali-dired) (use-package help diff --git a/lisp/bandali-dired.el b/lisp/bandali-dired.el index f89676e..c4ab6ff 100644 --- a/lisp/bandali-dired.el +++ b/lisp/bandali-dired.el @@ -24,12 +24,17 @@ ;;; Code: +(use-package ls-lisp + :custom (ls-lisp-dirs-first t)) + (use-package dired :config (setq dired-dwim-target t dired-listing-switches "-alh" ls-lisp-use-insert-directory-program nil) + (declare-function dired-dwim-target-directory "dired-aux") + ;; easily diff 2 marked files ;; https://oremacs.com/2017/03/18/dired-ediff/ (defun dired-ediff-files () -- 2.20.1 From 076e900995d9d71d54e3788691cd0958f38c6dfc Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 25 Apr 2020 16:20:13 -0400 Subject: [PATCH 07/16] Move which-key footnote replacement to lisp/bandali-message.el. Also, remove (use-package message-x). Doesn't seem to be needed for tab completion of Gcc in message.el. --- init.el | 2 -- lisp/bandali-message.el | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/init.el b/init.el index a5fdea4..88cbc9b 100644 --- a/init.el +++ b/init.el @@ -960,8 +960,6 @@ Make N (default: 1) copies of the current line or region." "C-c t" "themes") ;; prefixes for major modes - (which-key-add-major-mode-key-based-replacements 'message-mode - "C-c f n" "footnote") (which-key-add-major-mode-key-based-replacements 'org-mode "C-c C-v" "org-babel") diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el index ca30dc4..750188c 100644 --- a/lisp/bandali-message.el +++ b/lisp/bandali-message.el @@ -76,10 +76,13 @@ (use-package footnote :after message - ;; :config + :config ;; (setq footnote-start-tag "" ;; footnote-end-tag "" ;; footnote-style 'unicode) + (when (featurep 'which-key) + (which-key-add-major-mode-key-based-replacements 'message-mode + "C-c f n" "footnote")) :bind (:map message-mode-map :prefix-map b/footnote-prefix-map @@ -92,8 +95,6 @@ ("r" . footnote-renumber-footnotes) ("s" . footnote-set-style))) -(use-package message-x) - (comment (use-package message-x :custom -- 2.20.1 From ff9cc25d59e324575e47e88bcccb3d4f291ff616 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 26 Apr 2020 16:39:03 -0400 Subject: [PATCH 08/16] Work around incompatibility between orgalist and yasnippet * lisp/bandali-message.el: Disable yasnippet and enabled it after enabling orgalist, to avoid the following infinite recursion error in message-mode when auto-fill is triggered: Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size") current-fill-column() orgalist--auto-fill(yas--auto-fill) apply(orgalist--auto-fill yas--auto-fill nil) #f(advice-wrapper :around yas--auto-fill orgalist--auto-fill)() yas--auto-fill() orgalist--auto-fill(yas--auto-fill) apply(orgalist--auto-fill yas--auto-fill nil) #f(advice-wrapper :around yas--auto-fill orgalist--auto-fill)() yas--auto-fill() ... orgalist--auto-fill(yas--auto-fill) apply(orgalist--auto-fill yas--auto-fill nil) #f(advice-wrapper :around yas--auto-fill orgalist--auto-fill)() yas--auto-fill() internal-auto-fill() self-insert-command(1 32) funcall-interactively(self-insert-command 1 32) call-interactively(self-insert-command nil nil) command-execute(self-insert-command) --- lisp/bandali-message.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el index 750188c..4f3d551 100644 --- a/lisp/bandali-message.el +++ b/lisp/bandali-message.el @@ -118,7 +118,12 @@ (use-package orgalist :after message - :hook (message-mode . orgalist-mode)) + :hook (message-mode . (lambda () + ;; work around incompatibility between + ;; orgalist and yasnippet + (yas-minor-mode -1) + (orgalist-mode 1) + (yas-minor-mode 1)))) (provide 'bandali-message) ;;; bandali-message.el ends here -- 2.20.1 From 6b09fc8a2951778cd3ff9807d7132dcfb1f7de38 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Thu, 2 Jul 2020 18:31:23 -0400 Subject: [PATCH 09/16] Update 17 drones and commit a bunch of changes Update amx to v3.3-15-gccfc92c Update borg to v3.1.2-11-gbc6d869 Update dash to 2.17.0-5-g732d92e Update diff-hl to 1.8.7-17-g2281a89 Update ebdb to 0.6-130-g0b70386 Update ivy to 0.13.0-336-gd951004 Update libgit to 0ef8b13 Update magit to v2.90.1-1021-g485ee181 Update minions to v0.3.4 Update no-littering to v1.1.0-2-g93d66b1 Update org to release_9.3.7-662-g0c0d00b93 Update orgalist to 5b51845 Update transient to v0.2.0-28-g73694be Update use-package to 2.4-41-gbfc5ecd Update which-key to v3.4.0-25-g8f2427a Update with-editor to v2.9.3-3-g7c51288 Update yasnippet to 0.14.0-7-gd3d6d70 --- Makefile | 17 +++- early-init.el | 10 +++ etc/yasnippet/snippets/latex-mode/etal | 2 +- init.el | 115 ++---------------------- lib/amx | 2 +- lib/borg | 2 +- lib/dash | 2 +- lib/diff-hl | 2 +- lib/ebdb | 2 +- lib/ivy | 2 +- lib/libgit | 2 +- lib/magit | 2 +- lib/minions | 2 +- lib/no-littering | 2 +- lib/org | 2 +- lib/orgalist | 2 +- lib/transient | 2 +- lib/use-package | 2 +- lib/which-key | 2 +- lib/with-editor | 2 +- lib/yasnippet | 2 +- lisp/bandali-erc.el | 8 +- lisp/bandali-gnus.el | 12 ++- lisp/bandali-message.el | 2 +- lisp/bandali-utils.el | 118 +++++++++++++++++++++++++ 25 files changed, 182 insertions(+), 136 deletions(-) create mode 100644 lisp/bandali-utils.el diff --git a/Makefile b/Makefile index c36f3ba..02296e8 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,23 @@ -include lib/borg/borg.mk +INIT_FILES = early-init.el +INIT_FILES += init.el +INIT_FILES += lisp/bandali-utils.el +INIT_FILES += lisp/bandali-org.el +INIT_FILES += lisp/bandali-theme.el +INIT_FILES += lisp/bandali-ivy.el +INIT_FILES += lisp/bandali-eshell.el +INIT_FILES += lisp/bandali-ibuffer.el +INIT_FILES += lisp/bandali-dired.el +INIT_FILES += lisp/bandali-gnus.el +INIT_FILES += lisp/bandali-message.el +INIT_FILES += lisp/bandali-ebdb.el +INIT_FILES += lisp/bandali-erc.el +INIT_FILES += lisp/bandali-yasnippet.el + bootstrap-borg: @git submodule--helper clone --name borg --path lib/borg \ - --url git@github.com:emacscollective/borg.git + --url https://github.com/emacscollective/borg.git @cd lib/borg; git symbolic-ref HEAD refs/heads/master @cd lib/borg; git reset --hard HEAD diff --git a/early-init.el b/early-init.el index 3ee38c2..bb6d45c 100644 --- a/early-init.el +++ b/early-init.el @@ -1,3 +1,13 @@ ;; No package.el (for emacs 27 and later). See ;; https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=24acb31c04b4048b85311d794e600ecd7ce60d3b (setq package-enable-at-startup nil) +(setq load-prefer-newer t) +(defmacro comment (&rest _) + "Comment out one or more s-expressions." + (declare (indent defun)) + nil) +(add-to-list + 'load-path + (expand-file-name + (convert-standard-filename "lisp") user-emacs-directory)) +(require 'bandali-utils) diff --git a/etc/yasnippet/snippets/latex-mode/etal b/etc/yasnippet/snippets/latex-mode/etal index 3f80334..96e1fb0 100644 --- a/etc/yasnippet/snippets/latex-mode/etal +++ b/etc/yasnippet/snippets/latex-mode/etal @@ -2,4 +2,4 @@ # name: etal # key: etal # -- -\emph{et al.}$0 \ No newline at end of file +\emph{et~al.}$0 \ No newline at end of file diff --git a/init.el b/init.el index 88cbc9b..dc6d3f2 100644 --- a/init.el +++ b/init.el @@ -95,15 +95,6 @@ user-mail-address "bandali@gnu.org") -;;; comment macro - -;; useful for commenting out multiple sexps at a time -(defmacro comment (&rest _) - "Comment out one or more s-expressions." - (declare (indent defun)) - nil) - - ;;; Package management (progn ; `borg' @@ -181,99 +172,6 @@ (or (server-running-p) (server-mode))) -;;; Useful utilities - -(defmacro b/setq-every (value &rest vars) - "Set all the variables from VARS to value VALUE." - (declare (indent defun) (debug t)) - `(progn ,@(mapcar (lambda (x) (list 'setq x value)) vars))) - -(defun b/start-process (program &rest args) - "Same as `start-process', but doesn't bother about name and buffer." - (let ((process-name (concat program "_process")) - (buffer-name (generate-new-buffer-name - (concat program "_output")))) - (apply #'start-process - process-name buffer-name program args))) - -(defun b/dired-start-process (program &optional args) - "Open current file with a PROGRAM." - ;; Shell command looks like this: "program [ARGS]... FILE" (ARGS can - ;; be nil, so remove it). - (declare-function dired-get-file-for-visit "dired") - (apply #'b/start-process - program - (remove nil (list args (dired-get-file-for-visit))))) - -(defun b/add-elisp-section () - (interactive) - (insert "\n") - (forward-line -1) - (insert "\n \n;;; ")) - -;; (defvar b/fill-column 47 -;; "My custom `fill-column'.") - -(defconst b/asterism "* * *") - -(defun b/insert-asterism () - "Insert a centred asterism." - (interactive) - (insert - (concat - "\n\n" - (make-string (floor (/ (- fill-column (length b/asterism)) 2)) - ?\s) - b/asterism - "\n\n"))) - -(defun b/no-mouse-autoselect-window () - "Conveniently disable `focus-follows-mouse'. -For disabling the behaviour for certain buffers and/or modes." - (make-local-variable 'mouse-autoselect-window) - (setq mouse-autoselect-window nil)) - -(defun b/kill-current-buffer () - "Kill the current buffer." - ;; also see https://redd.it/64xb3q - (interactive) - (kill-buffer (current-buffer))) - -(defun b/move-indentation-or-beginning-of-line (arg) - "Move to the indentation or to the beginning of line." - (interactive "^p") - ;; (if (bolp) - ;; (back-to-indentation) - ;; (move-beginning-of-line arg)) - (if (= (point) - (progn (back-to-indentation) - (point))) - (move-beginning-of-line arg))) - -(defun b/join-line-top () - "Like `join-line', but join next line to the current line." - (interactive) - (join-line 1)) - -(defun b/duplicate-line-or-region (&optional n) - "Duplicate the current line, or region (if active). -Make N (default: 1) copies of the current line or region." - (interactive "*p") - (let ((u-r-p (use-region-p)) ; if region is active - (n1 (or n 1))) - (save-excursion - (let ((text - (if u-r-p - (buffer-substring (region-beginning) (region-end)) - (prog1 (thing-at-point 'line) - (end-of-line) - (if (eobp) - (newline) - (forward-line 1)))))) - (dotimes (_ (abs n1)) - (insert text)))))) - - ;;; Defaults ;;;; C-level customizations @@ -577,11 +475,6 @@ Make N (default: 1) copies of the current line or region." ;;; Essential packages -(add-to-list - 'load-path - (expand-file-name - (convert-standard-filename "lisp") user-emacs-directory)) - (when b/exwm-p (require 'bandali-exwm)) @@ -621,8 +514,8 @@ Make N (default: 1) copies of the current line or region." ;; recently opened files (use-package recentf :defer 0.2 - ;; :config - ;; (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:") + :config + (add-to-list 'recentf-keep 'file-remote-p) :config (recentf-mode) :custom @@ -668,6 +561,10 @@ Make N (default: 1) copies of the current line or region." (require 'bandali-dired) (use-package help + :bind + (:map help-mode-map + ("p" . backward-button) + ("n" . forward-button)) :config (temp-buffer-resize-mode) (setq help-window-select t)) diff --git a/lib/amx b/lib/amx index 7fb7b87..ccfc92c 160000 --- a/lib/amx +++ b/lib/amx @@ -1 +1 @@ -Subproject commit 7fb7b874291e0cdeb1f0acb18564a686ec86788d +Subproject commit ccfc92c600df681df5e8b5fecec328c462ceb71e diff --git a/lib/borg b/lib/borg index 3cfb35f..bc6d869 160000 --- a/lib/borg +++ b/lib/borg @@ -1 +1 @@ -Subproject commit 3cfb35f5c54a76f200272ed11b4a39f11a57552c +Subproject commit bc6d869c5b26fc969eb103c4be2642c5b8524e35 diff --git a/lib/dash b/lib/dash index 721436b..732d92e 160000 --- a/lib/dash +++ b/lib/dash @@ -1 +1 @@ -Subproject commit 721436b04da4e2795387cb48a98ac6de37ece0fd +Subproject commit 732d92eac56023a4fb4a5dc3d9d4e274ebf44bf9 diff --git a/lib/diff-hl b/lib/diff-hl index a625033..2281a89 160000 --- a/lib/diff-hl +++ b/lib/diff-hl @@ -1 +1 @@ -Subproject commit a625033fb1dde83f6e4c2fc21f632b22ec34b609 +Subproject commit 2281a89a3ddc6616073da6f190dda08d23b18ba6 diff --git a/lib/ebdb b/lib/ebdb index dcd6803..0b70386 160000 --- a/lib/ebdb +++ b/lib/ebdb @@ -1 +1 @@ -Subproject commit dcd6803724ace2270cfd9723929a17ca31d64af0 +Subproject commit 0b7038694a4d844581461c261d96a7cd5679ac51 diff --git a/lib/ivy b/lib/ivy index 1b426e1..d951004 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit 1b426e1215242cef61b65ee6a1d07840e22d4bce +Subproject commit d951004c7f3ebf98d55fc5a80a3471ec95b6db05 diff --git a/lib/libgit b/lib/libgit index 6c3b892..0ef8b13 160000 --- a/lib/libgit +++ b/lib/libgit @@ -1 +1 @@ -Subproject commit 6c3b89276a149b2d009882f756a9edf866671f05 +Subproject commit 0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a diff --git a/lib/magit b/lib/magit index ec719a4..485ee18 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit ec719a49bf6e724d197277e63c70a728c2c6e281 +Subproject commit 485ee181564655d21c0770a4e021f7b805f4d643 diff --git a/lib/minions b/lib/minions index bc1edab..36d39bd 160000 --- a/lib/minions +++ b/lib/minions @@ -1 +1 @@ -Subproject commit bc1edab09d3fc1b248c17775ae2eb7d35b96be40 +Subproject commit 36d39bd25ae58d1359d17f99142520339bea5974 diff --git a/lib/no-littering b/lib/no-littering index ea8d865..93d66b1 160000 --- a/lib/no-littering +++ b/lib/no-littering @@ -1 +1 @@ -Subproject commit ea8d8654365eeeea366a3ee0f51689987f2803a8 +Subproject commit 93d66b13a7bcd8fa3e123839365482fcc655819d diff --git a/lib/org b/lib/org index 14d6f95..0c0d00b 160000 --- a/lib/org +++ b/lib/org @@ -1 +1 @@ -Subproject commit 14d6f95bec975d882d5d0a047e81c74a1cd89edc +Subproject commit 0c0d00b931f8790390dbf352eb7a695ae8912761 diff --git a/lib/orgalist b/lib/orgalist index b436971..5b51845 160000 --- a/lib/orgalist +++ b/lib/orgalist @@ -1 +1 @@ -Subproject commit b436971c7d35af5ab48d91248dc3028fb733cab6 +Subproject commit 5b51845194b75052324be7effdaeb736c1367649 diff --git a/lib/transient b/lib/transient index afa0c2f..73694be 160000 --- a/lib/transient +++ b/lib/transient @@ -1 +1 @@ -Subproject commit afa0c2f98453b9ffd9d8160831debc7e36cdb87b +Subproject commit 73694be44a802cac89bfe0798e2a4aeb79e39ead diff --git a/lib/use-package b/lib/use-package index c873d55..bfc5ecd 160000 --- a/lib/use-package +++ b/lib/use-package @@ -1 +1 @@ -Subproject commit c873d5529c9c80cb58222f22873a4f081c307cb2 +Subproject commit bfc5ecd69cdf71fae0af722d90336c66a6415f03 diff --git a/lib/which-key b/lib/which-key index 8b49ae9..8f2427a 160000 --- a/lib/which-key +++ b/lib/which-key @@ -1 +1 @@ -Subproject commit 8b49ae978cceca65967f3544c236f32964ddbed0 +Subproject commit 8f2427a69bc0388ddfb14a10eaf71e589f3b0913 diff --git a/lib/with-editor b/lib/with-editor index 4fe66d4..7c51288 160000 --- a/lib/with-editor +++ b/lib/with-editor @@ -1 +1 @@ -Subproject commit 4fe66d4d55c8eacebda53a13cc38e01d32bdaaa2 +Subproject commit 7c512887c6d69864fb600d32fb92857c51babcff diff --git a/lib/yasnippet b/lib/yasnippet index 5b1217a..d3d6d70 160000 --- a/lib/yasnippet +++ b/lib/yasnippet @@ -1 +1 @@ -Subproject commit 5b1217ab085fab4abeb1118dccb260691b446703 +Subproject commit d3d6d70b1cd4818d271752468e0fdb0788db750d diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el index afdc949..624572a 100644 --- a/lisp/bandali-erc.el +++ b/lisp/bandali-erc.el @@ -99,10 +99,10 @@ ((null auth) (error "Couldn't find znca's authinfo")) (t (funcall (plist-get (car auth) :secret))))))) (setq znc-servers - `(("znc.shemshak.org" 1337 t - ((freenode "amin/freenode" ,pwd))) - ("znc.shemshak.org" 1337 t - ((oftc "amin/oftc" ,pwd))))))) + `(("znc.emacsconf.org" 6697 t + ((freenode "bandali/freenode" ,pwd))) + ("znc.emacsconf.org" 6697 t + ((oftc "bandali/oftc" ,pwd))))))) (provide 'bandali-erc) ;;; bandali-erc.el ends here diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el index f85f694..2bfa816 100644 --- a/lisp/bandali-gnus.el +++ b/lisp/bandali-gnus.el @@ -92,7 +92,7 @@ ;; legend: (u)nsubscribed | (d)ead ;; ---------------------------------- ;; spam - ("X-Spam-Flag" "YES" "Junk") + ("X-Spam_action" "reject" "Junk") ;; otherwise, leave mail in INBOX "INBOX"))) (nnimap "uw" @@ -271,6 +271,12 @@ '(list . "list-id\\|list-post\\|x-mailing-list\\|x-beenthere\\|x-loop") t))) + ;; (require 'gnus-registry) + ;; (setq gnus-registry-max-entries 2500) + ;; (setq gnus-registry-ignored-groups + ;; (append gnus-registry-ignored-groups + ;; '(("^nnimap:gnu\\.l" t) + ;; ("webmasters$" t)))) ;; (gnus-registry-initialize) (with-eval-after-load 'recentf @@ -301,8 +307,8 @@ "^Resent-From:" "^User-Agent:" "^X-detected-operating-system:" - "^X-Spam-Flag:" - "^X-Spam-Level:" + "^X-Spam_action:" + "^X-Spam_bar:" "^Message-ID:" ;; "^References:" "^List-Id:" diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el index 4f3d551..c063bae 100644 --- a/lisp/bandali-message.el +++ b/lisp/bandali-message.el @@ -57,7 +57,7 @@ message-subscribed-address-functions '(gnus-find-subscribed-addresses) message-dont-reply-to-names - "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") + "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") ;; (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) diff --git a/lisp/bandali-utils.el b/lisp/bandali-utils.el new file mode 100644 index 0000000..7a2820d --- /dev/null +++ b/lisp/bandali-utils.el @@ -0,0 +1,118 @@ +;;; bandali-utils.el --- useful utilities -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: lisp, tools + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; A small collection of useful utilities used through my init files. + +;;; Code: + +(defmacro b/setq-every (value &rest vars) + "Set all the variables from VARS to value VALUE." + (declare (indent defun) (debug t)) + `(progn ,@(mapcar (lambda (x) (list 'setq x value)) vars))) + +(defun b/start-process (program &rest args) + "Same as `start-process', but doesn't bother about name and buffer." + (let ((process-name (concat program "_process")) + (buffer-name (generate-new-buffer-name + (concat program "_output")))) + (apply #'start-process + process-name buffer-name program args))) + +(defun b/dired-start-process (program &optional args) + "Open current file with a PROGRAM." + ;; Shell command looks like this: "program [ARGS]... FILE" (ARGS can + ;; be nil, so remove it). + (declare-function dired-get-file-for-visit "dired") + (apply #'b/start-process + program + (remove nil (list args (dired-get-file-for-visit))))) + +(defun b/add-elisp-section () + (interactive) + (insert "\n") + (forward-line -1) + (insert "\n \n;;; ")) + +;; (defvar b/fill-column 47 +;; "My custom `fill-column'.") + +(defconst b/asterism "* * *") + +(defun b/insert-asterism () + "Insert a centred asterism." + (interactive) + (insert + (concat + "\n\n" + (make-string (floor (/ (- fill-column (length b/asterism)) 2)) + ?\s) + b/asterism + "\n\n"))) + +(defun b/no-mouse-autoselect-window () + "Conveniently disable `focus-follows-mouse'. +For disabling the behaviour for certain buffers and/or modes." + (make-local-variable 'mouse-autoselect-window) + (setq mouse-autoselect-window nil)) + +(defun b/kill-current-buffer () + "Kill the current buffer." + ;; also see https://redd.it/64xb3q + (interactive) + (kill-buffer (current-buffer))) + +(defun b/move-indentation-or-beginning-of-line (arg) + "Move to the indentation or to the beginning of line." + (interactive "^p") + ;; (if (bolp) + ;; (back-to-indentation) + ;; (move-beginning-of-line arg)) + (if (= (point) + (progn (back-to-indentation) + (point))) + (move-beginning-of-line arg))) + +(defun b/join-line-top () + "Like `join-line', but join next line to the current line." + (interactive) + (join-line 1)) + +(defun b/duplicate-line-or-region (&optional n) + "Duplicate the current line, or region (if active). +Make N (default: 1) copies of the current line or region." + (interactive "*p") + (let ((u-r-p (use-region-p)) ; if region is active + (n1 (or n 1))) + (save-excursion + (let ((text + (if u-r-p + (buffer-substring (region-beginning) (region-end)) + (prog1 (thing-at-point 'line) + (end-of-line) + (if (eobp) + (newline) + (forward-line 1)))))) + (dotimes (_ (abs n1)) + (insert text)))))) + +(provide 'bandali-utils) +;;; bandali-utils.el ends here -- 2.20.1 From 0ad4c1fb2cc33075e93c4caac68c3e5808165dab Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Tue, 21 Jul 2020 09:23:45 -0400 Subject: [PATCH 10/16] Assimilate 2 drones, update my znc fork's url Assimilate biblio.el 0.2-18-geb9baf1 Assimilate debbugs 50d3dca --- .gitmodules | 8 +++++++- lib/biblio.el | 1 + lib/debbugs | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) create mode 160000 lib/biblio.el create mode 160000 lib/debbugs diff --git a/.gitmodules b/.gitmodules index 3aa847d..8465dc5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,6 +10,9 @@ [submodule "auto-compile"] path = lib/auto-compile url = https://github.com/emacscollective/auto-compile.git +[submodule "biblio.el"] + path = lib/biblio.el + url = https://github.com/cpitclaudel/biblio.el.git [submodule "borg"] path = lib/borg url = https://github.com/emacscollective/borg.git @@ -24,6 +27,9 @@ # that the submodule is dirty. so, let's ignore the untracked # files of dash's submodule ignore = untracked +[submodule "debbugs"] + path = lib/debbugs + url = https://github.com/emacsmirror/debbugs.git [submodule "diff-hl"] path = lib/diff-hl url = https://github.com/dgutov/diff-hl.git @@ -118,4 +124,4 @@ url = https://github.com/joaotavora/yasnippet.git [submodule "znc"] path = lib/znc - url = https://git.bandali.eu.org/znc.el.git + url = https://git.emacsconf.org/bandali/znc.el.git diff --git a/lib/biblio.el b/lib/biblio.el new file mode 160000 index 0000000..eb9baf1 --- /dev/null +++ b/lib/biblio.el @@ -0,0 +1 @@ +Subproject commit eb9baf1d2bf6a073d24ccb717025baa693e98f3e diff --git a/lib/debbugs b/lib/debbugs new file mode 160000 index 0000000..50d3dca --- /dev/null +++ b/lib/debbugs @@ -0,0 +1 @@ +Subproject commit 50d3dca51fb61694a61d8dc41bde3d44841c5b95 -- 2.20.1 From f0a2dfe1e2c2bef245cb3b73227d50beb3e68f2b Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Tue, 21 Jul 2020 09:27:01 -0400 Subject: [PATCH 11/16] use-package debbugs --- .gitmodules | 4 ++++ etc/custom.el | 14 +++++++++----- init.el | 4 ++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8465dc5..c9c41e5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,6 +30,10 @@ [submodule "debbugs"] path = lib/debbugs url = https://github.com/emacsmirror/debbugs.git + # debbugs creates a `instructions.info' info file, which makes git + # think that the submodule is dirty. so, let's ignore the + # untracked files of debbugs' submodule + ignore = untracked [submodule "diff-hl"] path = lib/diff-hl url = https://github.com/dgutov/diff-hl.git diff --git a/etc/custom.el b/etc/custom.el index a831542..603eb96 100644 --- a/etc/custom.el +++ b/etc/custom.el @@ -27,7 +27,7 @@ (horizontal 1.0 (article 1.0) (ebdb-gnus 0.3))))) - '(ebdb-gnus-window-size 0.3 t) + '(ebdb-gnus-window-size 0.3) '(ebdb-mua-pop-up t) '(ediff-split-window-function 'split-window-horizontally t) '(ediff-window-setup-function 'ediff-setup-windows-plain t) @@ -69,7 +69,7 @@ " " filename-and-process) (mark " " (name 16 -1) - " " filename))) + " " filename)) t) '(ibuffer-saved-filter-groups '(("default" ("dired" @@ -116,7 +116,7 @@ ("exwm" (mode . exwm-mode)) ("erc" - (mode . erc-mode))))) + (mode . erc-mode)))) t) '(inhibit-startup-buffer-menu t) '(inhibit-startup-echo-area-message "bandali") '(inhibit-startup-screen t) @@ -162,7 +162,11 @@ '(recentf-save-file "/home/bandali/.emacs.d/var/recentf-save.el") '(require-final-newline t) '(safe-local-variable-values - '((tex-main-file . "../thesis.tex") + '((tex-main-file . "./bandali-mmath-thesis.tex") + (tex-main-file . "../bandali-mmath-thesis.tex") + (flycheck-disabled-checkers emacs-lisp-checkdoc) + (tex-main-file . "./thesis.tex") + (tex-main-file . "../thesis.tex") (org-export-allow-bind-keywords . t) (eval load-file "thesis.el") (eval modify-syntax-entry 43 "'") @@ -181,7 +185,7 @@ '(savehist-file "/home/bandali/.emacs.d/var/savehist.el") '(search-default-mode 'char-fold-to-regexp) '(split-width-threshold 150) - '(text-scale-mode-step 1.05) + '(text-scale-mode-step 1.05 t) '(unkillable-buffers '("^\\*scratch\\*$" "^\\*Messages\\*$")) '(vc-annotate-background "#282c34") '(vc-annotate-color-map diff --git a/init.el b/init.el index dc6d3f2..c6dd30c 100644 --- a/init.el +++ b/init.el @@ -935,8 +935,6 @@ (require 'bandali-yasnippet) -(comment - (use-package debbugs :bind (("C-c D d" . debbugs-gnu) @@ -962,6 +960,8 @@ (setq debbugs-gnu-current-suppress t) (debbugs-gnu debbugs-gnu-default-severities '("guix-patches")))))) +(comment + (use-package org-ref :init (b/setq-every '("~/usr/org/references.bib") -- 2.20.1 From 2786a0cdc1953b90ed73e90242882ac8a71b41c9 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Tue, 21 Jul 2020 09:30:11 -0400 Subject: [PATCH 12/16] Various email-related changes --- lisp/bandali-gnus.el | 31 ++++++++++++++++++++----------- var/eshell/alias | 2 +- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el index 2bfa816..180e82a 100644 --- a/lisp/bandali-gnus.el +++ b/lisp/bandali-gnus.el @@ -58,7 +58,7 @@ (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "amin@shemshak.local")) + (nnimap-user "bandali@shemshak.local")) (nnimap "gnu" (nnimap-stream plain) (nnimap-address "127.0.0.1") @@ -76,6 +76,8 @@ (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1") ;; libreplanet (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1") + ;; iana (e.g. tz-announce) + (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1") ;; *.lists.sr.ht, omitting one dot if present ;; add more \\.?\\([^.]*\\) if needed (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists.sr.ht>.*" "l.~\\1.\\2\\3") @@ -95,12 +97,12 @@ ("X-Spam_action" "reject" "Junk") ;; otherwise, leave mail in INBOX "INBOX"))) - (nnimap "uw" + (nnimap "uwaterloo" (nnimap-stream plain) (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "abandali@uw.local") + (nnimap-user "abandali@uwaterloo.local") (nnimap-inbox "INBOX") (nnimap-split-methods 'nnimap-split-fancy) (nnimap-split-fancy (| @@ -115,7 +117,14 @@ (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "abandali@csc.uw.local"))) + (nnimap-user "abandali@csclub.uwaterloo.local") + (nnimap-inbox "INBOX") + (nnimap-split-methods 'nnimap-split-fancy) + (nnimap-split-fancy (| + ;; spam + ("X-Spam-Flag" "YES" "Junk") + ;; catch-all + "INBOX")))) gnus-message-archive-group "nnimap+gnu:INBOX" gnus-parameters '(("l\\.atreus" @@ -252,7 +261,7 @@ (gcc-self . t)) ("l\\." (subscribed . t)) - ("nnimap\\+uw:.*" + ("nnimap\\+uwaterloo:.*" (gcc-self . t))) gnus-large-newsgroup 50 gnus-home-directory (b/var "gnus/") @@ -354,10 +363,10 @@ :config (defvar b/shemshak-signature "Amin Bandali https://shemshak.org/~amin") - (defvar b/uw-signature "Amin Bandali, MMath Student + (defvar b/uwaterloo-signature "Amin Bandali, MMath Candidate Cheriton School of Computer Science University of Waterloo -https://bandali.eu.org") +https://bndl.org") (defvar b/csc-signature "Amin Bandali System Administrator, Systems Committee Computer Science Club, University of Waterloo @@ -380,12 +389,12 @@ https://csclub.uwaterloo.ca/~abandali") (signature b/shemshak-signature) (gcc "nnimap+shemshak:Sent") (eval (setq b/message-cite-say-hi t))) - ("nnimap\\+uw:.*" + ("nnimap\\+uwaterloo:.*" (address "bandali@uwaterloo.ca") (body "\nBest,\n") - (signature b/uw-signature)) - ("nnimap\\+uw:INBOX" - (gcc "\"nnimap+uw:Sent Items\"")) + (signature b/uwaterloo-signature)) + ("nnimap\\+uwaterloo:INBOX" + (gcc "\"nnimap+uwaterloo:Sent Items\"")) ("nnimap\\+csc:.*" (address "bandali@csclub.uwaterloo.ca") (signature b/csc-signature) diff --git a/var/eshell/alias b/var/eshell/alias index d80c00b..a5109a4 100644 --- a/var/eshell/alias +++ b/var/eshell/alias @@ -16,4 +16,4 @@ alias vi find-file $1 alias vim find-file $1 alias mbsync mbsync -c $XDG_CONFIG_HOME/isync/mbsyncrc $* alias getmail getmail --getmaildir $XDG_CONFIG_HOME/getmail --rcfile getmailrc $* -alias m mbsync csclub; mbsync uwaterloo; mbsync shemshak; getmail +alias m mbsync csclub; mbsync uwaterloo; mbsync shemshak; mbsync gnub; getmail -- 2.20.1 From 312e2f7ad8de6b35dba53e869e64e96044bae808 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Tue, 21 Jul 2020 09:31:39 -0400 Subject: [PATCH 13/16] Update mail signatures I'm actually an MMath now :-) --- lisp/bandali-gnus.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el index 180e82a..a5e5135 100644 --- a/lisp/bandali-gnus.el +++ b/lisp/bandali-gnus.el @@ -362,15 +362,14 @@ (use-package gnus-msg :config (defvar b/shemshak-signature "Amin Bandali -https://shemshak.org/~amin") - (defvar b/uwaterloo-signature "Amin Bandali, MMath Candidate +https://shemshak.org/~bandali") + (defvar b/uwaterloo-signature "Amin Bandali, MMath Cheriton School of Computer Science University of Waterloo https://bndl.org") - (defvar b/csc-signature "Amin Bandali + (defvar b/csc-signature "Amin Bandali | https://bndl.org System Administrator, Systems Committee -Computer Science Club, University of Waterloo -https://csclub.uwaterloo.ca/~abandali") +Computer Science Club, University of Waterloo") (setq gnus-message-replysign t gnus-posting-styles '((".*" -- 2.20.1 From 2b1c8ef092d2316f29b299048878f8d02188178e Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Thu, 30 Jul 2020 21:29:22 -0400 Subject: [PATCH 14/16] Avoid moving CSC cron reports to Junk --- etc/custom.el | 10 +++++----- lisp/bandali-gnus.el | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/etc/custom.el b/etc/custom.el index 603eb96..39db4ec 100644 --- a/etc/custom.el +++ b/etc/custom.el @@ -127,8 +127,8 @@ '(jdee-db-requested-breakpoint-face-colors (cons "#1B2229" "#98be65")) '(jdee-db-spec-breakpoint-face-colors (cons "#1B2229" "#3f444a")) '(ls-lisp-dirs-first t) - '(magit-diff-refine-hunk t) - '(magit-display-buffer-function 'magit-display-buffer-fullframe-status-v1) + '(magit-diff-refine-hunk t t) + '(magit-display-buffer-function 'magit-display-buffer-fullframe-status-v1 t) '(message-elide-ellipsis "[...] ") '(minions-mode t) @@ -148,9 +148,9 @@ '(oddmuse-username "bandali" t) '(org-agenda-files '("~/usr/org/todos/personal.org" "~/usr/org/todos/habits.org" "~/src/git/masters-thesis/todo.org")) - '(org-agenda-start-on-weekday 0) - '(org-agenda-time-leading-zero t) - '(org-habit-graph-column 44) + '(org-agenda-start-on-weekday 0 t) + '(org-agenda-time-leading-zero t t) + '(org-habit-graph-column 44 t) '(org-latex-packages-alist '(("" "listings") ("" "color"))) '(org-pretty-entities t) '(page-break-lines-max-width 70) diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el index a5e5135..88b05bd 100644 --- a/lisp/bandali-gnus.el +++ b/lisp/bandali-gnus.el @@ -121,6 +121,8 @@ (nnimap-inbox "INBOX") (nnimap-split-methods 'nnimap-split-fancy) (nnimap-split-fancy (| + ;; cron reports and other messages from root + (from "root@\\(.*\\.\\)?csclub\\.uwaterloo\\.ca" "INBOX") ;; spam ("X-Spam-Flag" "YES" "Junk") ;; catch-all -- 2.20.1 From 24ac3da8c6d343c6e9b04376394384d5302dcb75 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 31 Jul 2020 00:47:31 -0400 Subject: [PATCH 15/16] Update 12 drones Update debbugs to b801e51 Update hl-todo to v3.1.2-1-g6469c5e Update ivy to 0.13.0-337-gc6b60d3 Update magit to v2.90.1-1028-gfccd3cff Update no-littering to v1.1.1-3-g7edbc4b Update org to release_9.3.7-700-ga1e5bee5c Update scpaste to 0.6.5-20-g2aa1513 Update transient to v0.2.0-30-g4d44d08 Update use-package to 2.4-44-g7d92536 Update which-key to v3.4.0-27-g3642c11 Update with-editor to v2.9.4 Update yasnippet to 0.14.0-8-g5cbdbf0 --- lib/debbugs | 2 +- lib/hl-todo | 2 +- lib/ivy | 2 +- lib/magit | 2 +- lib/no-littering | 2 +- lib/org | 2 +- lib/scpaste | 2 +- lib/transient | 2 +- lib/use-package | 2 +- lib/which-key | 2 +- lib/with-editor | 2 +- lib/yasnippet | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/debbugs b/lib/debbugs index 50d3dca..b801e51 160000 --- a/lib/debbugs +++ b/lib/debbugs @@ -1 +1 @@ -Subproject commit 50d3dca51fb61694a61d8dc41bde3d44841c5b95 +Subproject commit b801e51076f2ac80083f7ef4365db1389a9d2015 diff --git a/lib/hl-todo b/lib/hl-todo index 3bba459..6469c5e 160000 --- a/lib/hl-todo +++ b/lib/hl-todo @@ -1 +1 @@ -Subproject commit 3bba4591c54951d2abab113ec5e58a6319808ca9 +Subproject commit 6469c5e0bc8ef66ba92f6145dc6d2097e7fb13a9 diff --git a/lib/ivy b/lib/ivy index d951004..c6b60d3 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit d951004c7f3ebf98d55fc5a80a3471ec95b6db05 +Subproject commit c6b60d34ac37bf4d91a25f16d22e528f85e06938 diff --git a/lib/magit b/lib/magit index 485ee18..fccd3cf 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit 485ee181564655d21c0770a4e021f7b805f4d643 +Subproject commit fccd3cff52fc5b655bbb80bc6c894a2a27f188ea diff --git a/lib/no-littering b/lib/no-littering index 93d66b1..7edbc4b 160000 --- a/lib/no-littering +++ b/lib/no-littering @@ -1 +1 @@ -Subproject commit 93d66b13a7bcd8fa3e123839365482fcc655819d +Subproject commit 7edbc4ba9f1553b58169ba8806e4dff7e61b18c6 diff --git a/lib/org b/lib/org index 0c0d00b..a1e5bee 160000 --- a/lib/org +++ b/lib/org @@ -1 +1 @@ -Subproject commit 0c0d00b931f8790390dbf352eb7a695ae8912761 +Subproject commit a1e5bee5cb9c34ceb8226597605a49638bee7cec diff --git a/lib/scpaste b/lib/scpaste index ca95a8d..2aa1513 160000 --- a/lib/scpaste +++ b/lib/scpaste @@ -1 +1 @@ -Subproject commit ca95a8dd088e848bd1cab6be207c6a98343ee176 +Subproject commit 2aa1513fa0a402f03b993c0a6929daf39820b02b diff --git a/lib/transient b/lib/transient index 73694be..4d44d08 160000 --- a/lib/transient +++ b/lib/transient @@ -1 +1 @@ -Subproject commit 73694be44a802cac89bfe0798e2a4aeb79e39ead +Subproject commit 4d44d08e90355a8ef36aaad1f9f79c95de1ce0e9 diff --git a/lib/use-package b/lib/use-package index bfc5ecd..7d92536 160000 --- a/lib/use-package +++ b/lib/use-package @@ -1 +1 @@ -Subproject commit bfc5ecd69cdf71fae0af722d90336c66a6415f03 +Subproject commit 7d925367ef0857d513d62eab4cb57b7436b9ffe9 diff --git a/lib/which-key b/lib/which-key index 8f2427a..3642c11 160000 --- a/lib/which-key +++ b/lib/which-key @@ -1 +1 @@ -Subproject commit 8f2427a69bc0388ddfb14a10eaf71e589f3b0913 +Subproject commit 3642c11d5ef9be3c6fb9edb8fd5ec3c370abd889 diff --git a/lib/with-editor b/lib/with-editor index 7c51288..efafd48 160000 --- a/lib/with-editor +++ b/lib/with-editor @@ -1 +1 @@ -Subproject commit 7c512887c6d69864fb600d32fb92857c51babcff +Subproject commit efafd482c21b90decbb0b682ed3159c86014d4f3 diff --git a/lib/yasnippet b/lib/yasnippet index d3d6d70..5cbdbf0 160000 --- a/lib/yasnippet +++ b/lib/yasnippet @@ -1 +1 @@ -Subproject commit d3d6d70b1cd4818d271752468e0fdb0788db750d +Subproject commit 5cbdbf0d2015540c59ed8ee0fcf4788effdf75b6 -- 2.20.1 From 35c0de5e8ba60985e69a4b24b6a5bf26d557e008 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 31 Jul 2020 11:50:41 -0400 Subject: [PATCH 16/16] Update scpaste to 0.6.5-20-gcd4fa0a change url to repo on sourcehut --- .gitmodules | 2 +- lib/scpaste | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index c9c41e5..82fc6d9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -101,7 +101,7 @@ url = https://github.com/magnars/s.el.git [submodule "scpaste"] path = lib/scpaste - url = https://github.com/technomancy/scpaste.git + url = https://git.sr.ht/~technomancy/scpaste [submodule "smart-mode-line"] path = lib/smart-mode-line url = https://github.com/Malabarba/smart-mode-line.git diff --git a/lib/scpaste b/lib/scpaste index 2aa1513..cd4fa0a 160000 --- a/lib/scpaste +++ b/lib/scpaste @@ -1 +1 @@ -Subproject commit 2aa1513fa0a402f03b993c0a6929daf39820b02b +Subproject commit cd4fa0aafecd839736e0b6cba68b4fc4d7045472 -- 2.20.1