From 0c6329825349e5552e50fccc57acae9e2a8404c9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 16:43:37 +0200 Subject: [PATCH 1/8] No prettify-symbols-mode in special modes Fixes issues with magit popups losing their color. --- modules/ui/pretty-code/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ui/pretty-code/config.el b/modules/ui/pretty-code/config.el index 73428d474..4583f0863 100644 --- a/modules/ui/pretty-code/config.el +++ b/modules/ui/pretty-code/config.el @@ -24,7 +24,8 @@ modes, this function does nothing. Otherwise it builds `prettify-code-symbols-alist' according to `+pretty-code-symbols-alist' for the current major-mode." (unless (or (eq major-mode 'fundamental-mode) - (derived-mode-p 'special-mode 'comint-mode 'eshell-mode 'term-mode)) + (eq (get major-mode 'mode-class) 'special) + (derived-mode-p 'comint-mode 'eshell-mode 'term-mode)) (when (or (eq +pretty-code-enabled-modes t) (if (eq (car +pretty-code-enabled-modes) 'not) (not (memq major-mode (cdr +pretty-code-enabled-modes))) From 9f50ca01a0c2938b7f59ba201f1f8aa155bfc334 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 16:45:57 +0200 Subject: [PATCH 2/8] Rename amx-save-file: smex-items -> amx-items --- modules/completion/ivy/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index 2a54a4cdd..2c91a1340 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -215,7 +215,7 @@ immediately runs it on the current candidate (ending the ivy session)." ;; Used by `counsel-M-x' -(setq amx-save-file (concat doom-cache-dir "/smex-items")) +(setq amx-save-file (concat doom-cache-dir "amx-items")) ;; From 76d90e752f09af0b51b23d29e4e8ee5097f5565e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 18:47:36 +0200 Subject: [PATCH 3/8] Update git-gutter on magit stage/unstage file Old magit-post-refresh-hook wasn't working (no guarantee the correct buffer was current). --- modules/ui/vc-gutter/config.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ui/vc-gutter/config.el b/modules/ui/vc-gutter/config.el index f8d47ec68..df77e025d 100644 --- a/modules/ui/vc-gutter/config.el +++ b/modules/ui/vc-gutter/config.el @@ -48,8 +48,9 @@ to the right fringe.") (ignore (git-gutter)))) (add-hook 'doom-escape-hook #'+version-control|update-git-gutter t) - ;; update git-gutter when using these commands - (add-hook 'magit-post-refresh-hook #'+version-control|update-git-gutter) + ;; update git-gutter when using magit commands + (advice-add #'magit-stage-file :after #'+version-control|update-git-gutter) + (advice-add #'magit-unstage-file :after #'+version-control|update-git-gutter) ;; subtle diff indicators in the fringe (when +vc-gutter-default-style From eddac868248509831c37dbbb2fcdff5f9dc2c61c Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 18:49:13 +0200 Subject: [PATCH 4/8] tools/magit: add magit-todos package --- modules/tools/magit/config.el | 13 +++++++++++++ modules/tools/magit/packages.el | 1 + 2 files changed, 14 insertions(+) diff --git a/modules/tools/magit/config.el b/modules/tools/magit/config.el index 86e895cfa..e583208e6 100644 --- a/modules/tools/magit/config.el +++ b/modules/tools/magit/config.el @@ -41,6 +41,19 @@ load everything.") (def-package! magit-blame :after git-timemachine) +(def-package! magit-todos + :after magit + :config + (setq magit-todos-require-colon nil) + ;; `magit-todos-mode' defines keybinds on activation, so it's better to just + ;; do this manually: + (magit-add-section-hook 'magit-status-sections-hook + #'magit-todos--insert-todos + 'magit-insert-staged-changes + 'append) + (define-key magit-todos-section-map "j" nil)) + + (def-package! magithub :after magit :preface diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index 51682daa9..38bcc3d37 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -4,5 +4,6 @@ (when (package! magit) (package! magit-gitflow) (package! magithub) + (package! magit-todos) (when (featurep! :feature evil +everywhere) (package! evil-magit))) From e5125fbb26062d18e40ed11ef03316deaf0971b5 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 19:03:15 +0200 Subject: [PATCH 5/8] Remove unused +vc-auto-hydra-smerge variable --- modules/emacs/vc/config.el | 8 -------- 1 file changed, 8 deletions(-) diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index 81e11a600..6a8f81b68 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -1,13 +1,5 @@ ;;; emacs/vc/config.el -*- lexical-binding: t; -*- -(defvar +vc-auto-hydra-smerge t - "When entering `smerge-mode' automatically open associated hydra.") - - -;; -;; Plugins -;; - ;; `git-timemachine' (after! git-timemachine ;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of From 54c7936a776cc8e745546ec588ecf82f4896ae30 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 19:51:21 +0200 Subject: [PATCH 6/8] Don't reload autoloads remotely Communicating with the Emacs server isn't reliable and has a tendency to hang, so we no longer do that. Instead, we inform the user to reload it themselves. --- core/core-cli.el | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/core/core-cli.el b/core/core-cli.el index 0b5e21931..d6eb85cb2 100644 --- a/core/core-cli.el +++ b/core/core-cli.el @@ -337,20 +337,16 @@ it exists." (when (funcall fn doom-auto-accept) (doom-reload-package-autoloads))) -(defun doom--server-reload-autoloads () - (message "Reloading your current Emacs session\n") - (message "If this hangs, it is safe to abort the process here") - (server-eval-at - server-name - `(dolist (file '(,doom-autoload-file ,doom-package-autoload-file)) - (load-file (byte-compile-dest-file file))))) +(defun doom--warn-refresh-session () + (message "Detected a running Emacs session.\n") + (message "Use `M-x doom/reload' for changes to take effect.")) -(defun doom--server-load (&rest files) +(defun doom--do-load (&rest files) (if (and noninteractive (not (daemonp))) (progn (require 'server) (when (server-running-p) - (add-hook 'kill-emacs-hook #'doom--server-reload-autoloads))) + (add-hook 'kill-emacs-hook #'doom--warn-refresh-session))) (dolist (file files) (load-file (byte-compile-dest-file file))))) @@ -592,7 +588,7 @@ modified." (print! (green "✓ Clean up autoloads"))) ;; Byte compile it to give the file a chance to reveal errors. (doom--byte-compile-file doom-autoload-file) - (doom--server-load doom-autoload-file) + (doom--do-load doom-autoload-file) t))) @@ -667,7 +663,7 @@ This should be run whenever your `doom!' block or update your packages." (doom--cleanup-package-autoloads) (print! (green "✓ Removed load-path/auto-mode-alist entries")))) (doom--byte-compile-file doom-package-autoload-file) - (doom--server-load doom-package-autoload-file) + (doom--do-load doom-package-autoload-file) t)) From e7b252f4427bb49e52bc54e422a84d5979664f92 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 20:38:17 +0200 Subject: [PATCH 7/8] TAB should respect org-cycle-open-archived-trees And shouldn't cycle visibility of archived trees by default. --- modules/lang/org/autoload/org.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/lang/org/autoload/org.el b/modules/lang/org/autoload/org.el index 343e341b4..4859fb687 100644 --- a/modules/lang/org/autoload/org.el +++ b/modules/lang/org/autoload/org.el @@ -395,13 +395,15 @@ with `org-cycle')." (unless (eq this-command 'org-shifttab) (save-excursion (org-beginning-of-line) - (when (org-at-heading-p) - (when (or (not arg) - (outline-invisible-p (line-end-position))) - (outline-toggle-children) - (unless (outline-invisible-p (line-end-position)) - (org-cycle-hide-drawers 'subtree)) - t))))) + (when (and (org-at-heading-p) + (or org-cycle-open-archived-trees + (not (member org-archive-tag (org-get-tags)))) + (or (not arg) + (outline-invisible-p (line-end-position)))) + (outline-toggle-children) + (unless (outline-invisible-p (line-end-position)) + (org-cycle-hide-drawers 'subtree)) + t)))) ;;;###autoload (defun +org|remove-occur-highlights () From 8b25abc11cb15b4168028f609750b08e0be83af4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 12 Jul 2018 20:43:04 +0200 Subject: [PATCH 8/8] large-file-warning-threshold = 30mb Staves off filesize warnings for large files (like pdfs and media files), while doom|check-large-file handles text files. --- core/core-editor.el | 1 + 1 file changed, 1 insertion(+) diff --git a/core/core-editor.el b/core/core-editor.el index 33e9a9112..28ae577a0 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -17,6 +17,7 @@ indentation settings or not. This should be set by editorconfig if it successfully sets indent_style/indent_size.") (setq-default + large-file-warning-threshold 30000000 vc-follow-symlinks t ;; Save clipboard contents into kill-ring before replacing them save-interprogram-paste-before-kill t