X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/5492a3dccda6c6a91c7ac784d85d2d7f0e1501d5..673d5faae25967024eee99332d69208be127e291:/init.org?ds=sidebyside diff --git a/init.org b/init.org index 5a3728c..ae458c7 100644 --- a/init.org +++ b/init.org @@ -54,6 +54,13 @@ make build - [[#header][Header]] - [[#initial-setup][Initial setup]] - [[#core][Core]] +- [[#borg-essentials][Borg's =layer/essentials=]] +- [[#editing][Editing]] +- [[#syntax-spell-checking][Syntax and spell checking]] +- [[#programming-modes][Programming modes]] +- [[#emacs-enhancements][Emacs enhancements]] +- [[#email][Email]] +- [[#blogging][Blogging]] - [[#post-initialization][Post initialization]] - [[#footer][Footer]] @@ -648,33 +655,29 @@ Enable =winner-mode=. *** Don’t display =*compilation*= on success -From https://stackoverflow.com/a/17788551. +Based on https://stackoverflow.com/a/17788551, with changes to use +=cl-letf= instead of the now obsolete =flet=. #+begin_src emacs-lisp -(defun amin--compilation-finish-function (buffer outstr) - (unless (string-match "finished" outstr) - (switch-to-buffer-other-window buffer)) - t) - -(setq compilation-finish-functions #'amin--compilation-finish-function) +(use-package compile + :config + (defun amin--compilation-finish-function (buffer outstr) + (unless (string-match "finished" outstr) + (switch-to-buffer-other-window buffer)) + t) -(require 'cl) + (setq compilation-finish-functions #'amin--compilation-finish-function) -(defadvice compilation-start - (around inhibit-display - (command &optional mode name-function highlight-regexp)) - (if (not (string-match "^\\(find\\|grep\\)" command)) - (flet ((display-buffer) - (set-window-point) - (goto-char)) - (fset 'display-buffer 'ignore) - (fset 'goto-char 'ignore) - (fset 'set-window-point 'ignore) - (save-window-excursion - ad-do-it)) - ad-do-it)) + (require 'cl-macs) -(ad-activate 'compilation-start) + (defadvice compilation-start + (around inhibit-display + (command &optional mode name-function highlight-regexp)) + (if (not (string-match "^\\(find\\|grep\\)" command)) + (cl-letf (((symbol-function 'display-buffer) #'ignore)) + (save-window-excursion ad-do-it)) + ad-do-it)) + (ad-activate 'compilation-start)) #+end_src *** Search for non-ASCII characters @@ -827,7 +830,8 @@ file. (let* ((file-tangle-start-time (current-time)) (file (buffer-file-name)) (file-nodir (file-name-nondirectory file)) - (async-quiet-switch "-q")) + ;; (async-quiet-switch "-q") + ) (async-start `(lambda () (require 'org) @@ -914,8 +918,9 @@ There's no way I could top that, so I won't attempt to. #+begin_src emacs-lisp (use-package swiper - :bind (("C-s" . swiper) - ("C-r" . swiper))) + :bind (("C-s" . swiper) + ("C-r" . swiper) + ("C-S-s" . isearch-forward))) #+end_src **** Counsel @@ -957,7 +962,7 @@ There's no way I could top that, so I won't attempt to. (defun amin|eshell-setup () (make-local-variable 'company-idle-delay) - (setq company-idle-delay nil) + (defvar company-idle-delay nil) (bind-keys :map eshell-mode-map ("C-d" . amin/eshell-quit-or-delete-char) ("C-S-l" . amin/eshell-clear) @@ -996,6 +1001,13 @@ There's no way I could top that, so I won't attempt to. '(("default" ("dired" (mode . dired-mode)) ("org" (mode . org-mode)) + ("gnus" + (or + (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode) + ;; not really, but... + (mode . message-mode))) ("web" (or (mode . web-mode) @@ -1005,20 +1017,21 @@ There's no way I could top that, so I won't attempt to. ("shell" (or (mode . eshell-mode) - (mode . shell-mode))) - ("notmuch" (name . "\*notmuch\*")) + (mode . shell-mode) + (mode . term-mode))) ("programming" (or (mode . python-mode) + (mode . c-mode) (mode . c++-mode) - (mode . emacs-lisp-mode))) + (mode . emacs-lisp-mode) + (mode . scheme-mode) + (mode . haskell-mode) + (mode . lean-mode))) ("emacs" (or (name . "^\\*scratch\\*$") - (name . "^\\*Messages\\*$"))) - ("slack" - (or - (name . "^\\*Slack*")))))) + (name . "^\\*Messages\\*$")))))) (ibuffer-formats '((mark modified read-only locked " " (name 18 18 :left :elide) @@ -1056,6 +1069,9 @@ There's no way I could top that, so I won't attempt to. #+end_src * Borg's =layer/essentials= +:PROPERTIES: +:CUSTOM_ID: borg-essentials +:END: TODO: break this giant source block down into individual org sections. @@ -1138,6 +1154,9 @@ TODO: break this giant source block down into individual org sections. #+end_src * Editing +:PROPERTIES: +:CUSTOM_ID: editing +:END: ** Company @@ -1159,6 +1178,9 @@ TODO: break this giant source block down into individual org sections. #+end_src * Syntax and spell checking +:PROPERTIES: +:CUSTOM_ID: syntax-spell-checking +:END: #+begin_src emacs-lisp (use-package flycheck @@ -1202,6 +1224,9 @@ TODO: break this giant source block down into individual org sections. #'endless/replace-quote)) #+end_src * Programming modes +:PROPERTIES: +:CUSTOM_ID: programming-modes +:END: ** [[http://alloytools.org][Alloy]] (with [[https://github.com/dwwmmn/alloy-mode][alloy-mode]]) @@ -1570,7 +1595,10 @@ treemacs :load-path "lib/guix/elisp") #+end_src -* Emacs Enhancements +* Emacs enhancements +:PROPERTIES: +:CUSTOM_ID: emacs-enhancements +:END: ** [[https://github.com/justbur/emacs-which-key][which-key]] @@ -1984,7 +2012,17 @@ Hopefully temporary. (global-page-break-lines-mode)) #+end_src +** expand-region + +#+begin_src emacs-lisp +(use-package expand-region + :bind ("C-=" . er/expand-region)) +#+end_src + * Email +:PROPERTIES: +:CUSTOM_ID: email +:END: #+begin_src emacs-lisp (defvar amin-maildir (expand-file-name "~/mail/")) @@ -2252,6 +2290,9 @@ I tried using =borg-elpa= instead of doing it like this, but it added #+end_src * Blogging +:PROPERTIES: +:CUSTOM_ID: blogging +:END: ** [[https://ox-hugo.scripter.co][ox-hugo]]