From f97856c2385027c000a29e02d7c6c849c33e003e Mon Sep 17 00:00:00 2001 From: Tim McCarthy Date: Sun, 7 Apr 2024 11:53:57 -0700 Subject: [PATCH] Fix magit --- thoom-emacs/init.el | 89 +---------------------------- thoom-emacs/modules/thoom-elpaca.el | 15 +++++ thoom-emacs/modules/thoom-tweaks.el | 87 ++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 87 deletions(-) create mode 100644 thoom-emacs/modules/thoom-tweaks.el diff --git a/thoom-emacs/init.el b/thoom-emacs/init.el index 0e9cca8..b945868 100644 --- a/thoom-emacs/init.el +++ b/thoom-emacs/init.el @@ -13,98 +13,13 @@ (require 'thoom-os) (require 'thoom-completion) (require 'thoom-theme) - -;; When scrolling by page and hitting top/bottom, move cursor to top/bottom of buffer -(setq-default scroll-error-top-bottom t) - -;; Revert buffers when the underlying file has changed -(global-auto-revert-mode 1) - -;; Remember recent files -(recentf-mode 1) - -;; Save what you enter into minibuffer prompts -(setq history-length 25) -(savehist-mode 1) - -;; Visually mark the line the cursor is on -(global-hl-line-mode 1) - -;; Enable repeat mode. Keymaps are defined through use-package's :repeat-map directive. -(repeat-mode 1) - -(tab-bar-mode) -;; TODO - keybindings - -;; TODO - Decide whether to enable this -;; (defalias 'yes-or-no-p 'y-or-n-p) - -;; tabs are for monsters -(setq-default indent-tabs-mode nil) -(setq-default tab-width 4) -(setq-default sentence-end-double-space nil) - -(use-package hl-todo - :ensure t - :init - (global-hl-todo-mode)) - -;; TODO https://github.com/jdtsmith/outli - -(use-package which-key - :ensure t - :init - (which-key-mode) - (which-key-setup-side-window-bottom)) - -;; Dired -;; (use-package dired -;; :bind (:map dired-mode-map -;; ("h" . dired-up-directory) -;; ("l" . dired-find-file))) - -;; Treesitter -;; TODO https://github.com/renzmann/treesit-auto - -;; LSP -;; TODO https://github.com/blahgeek/emacs-lsp-booster - -;; TODO Use right-option as regular option on Mac -;; (setq ns-alternate-modifier 'meta) -;; (setq ns-right-alternate-modifier 'none) - -;; TODO https://github.com/stsquad/emacs_chrome - -;; TODO https://github.com/astoff/devdocs.el - -;; TODO https://github.com/casouri/vundo -; -;; TODO https://karthinks.com/software/avy-can-do-anything/ - -(defun thoom/org-clear-all () - (interactive) - (goto-char 0) - (org-map-entries - (lambda () - (org-todo ""))) - (flush-lines "CLOSED") - (message "Entries cleared.")) - -(use-package dumb-jump - :ensure t - :config - (add-hook 'xref-backend-functions #'dumb-jump-xref-activate) - (setq xref-show-definitions-function #'xref-show-definitions-completing-read)) +(require 'thoom-tweaks) (use-package magit + :after seq :ensure t :custom (magit-save-repository-buffers 'dontask) :bind (("C-x g" . magit-status) :map magit-mode-map (":" . execute-extended-command) ("x" . magit-discard))) - -(use-package direnv - :ensure t - :config - (direnv-mode)) diff --git a/thoom-emacs/modules/thoom-elpaca.el b/thoom-emacs/modules/thoom-elpaca.el index 39eb755..3819700 100644 --- a/thoom-emacs/modules/thoom-elpaca.el +++ b/thoom-emacs/modules/thoom-elpaca.el @@ -42,3 +42,18 @@ (elpaca elpaca-use-package (elpaca-use-package-mode)) (elpaca-wait) + +;; Magit depends on newer versions of seq/transient than Emacs bundles, but Elpaca +;; can't or won't update them on its own. +(defun +elpaca-unload-seq (e) + (and (featurep 'seq) (unload-feature 'seq t)) + (elpaca--continue-build e)) + +(defun +elpaca-seq-build-steps () + (append (butlast (if (file-exists-p (expand-file-name "seq" elpaca-builds-directory)) + elpaca--pre-built-steps elpaca-build-steps)) + (list '+elpaca-unload-seq 'elpaca--activate-package))) + +(use-package seq :ensure `(seq :build ,(+elpaca-seq-build-steps))) +(use-package transient :ensure t) +(elpaca-wait) diff --git a/thoom-emacs/modules/thoom-tweaks.el b/thoom-emacs/modules/thoom-tweaks.el new file mode 100644 index 0000000..4137e99 --- /dev/null +++ b/thoom-emacs/modules/thoom-tweaks.el @@ -0,0 +1,87 @@ +(provide 'thoom-tweaks) + +;; When scrolling by page and hitting top/bottom, move cursor to top/bottom of buffer +(setq-default scroll-error-top-bottom t) + +;; Revert buffers when the underlying file has changed +(global-auto-revert-mode 1) + +;; Remember recent files +(recentf-mode 1) + +;; Save what you enter into minibuffer prompts +(setq history-length 25) +(savehist-mode 1) + +;; Visually mark the line the cursor is on +(global-hl-line-mode 1) + +;; Enable repeat mode. Keymaps are defined through use-package's :repeat-map directive. +(repeat-mode 1) + +;; TODO - Decide whether to enable this +;; (defalias 'yes-or-no-p 'y-or-n-p) + +;; tabs are for monsters +(setq-default indent-tabs-mode nil) +(setq-default tab-width 4) +(setq-default sentence-end-double-space nil) + +;; TODO - keybindings + +(use-package hl-todo + :ensure t + :init + (global-hl-todo-mode)) + +;; TODO https://github.com/jdtsmith/outli + +(use-package which-key + :ensure t + :init + (which-key-mode) + (which-key-setup-side-window-bottom)) + +;; Dired +;; (use-package dired +;; :bind (:map dired-mode-map +;; ("h" . dired-up-directory) +;; ("l" . dired-find-file))) + +;; Treesitter +;; TODO https://github.com/renzmann/treesit-auto + +;; LSP +;; TODO https://github.com/blahgeek/emacs-lsp-booster + +;; TODO Use right-option as regular option on Mac +;; (setq ns-alternate-modifier 'meta) +;; (setq ns-right-alternate-modifier 'none) + +;; TODO https://github.com/stsquad/emacs_chrome + +;; TODO https://github.com/astoff/devdocs.el + +;; TODO https://github.com/casouri/vundo +; +;; TODO https://karthinks.com/software/avy-can-do-anything/ + +(defun thoom/org-clear-all () + (interactive) + (goto-char 0) + (org-map-entries + (lambda () + (org-todo ""))) + (flush-lines "CLOSED") + (message "Entries cleared.")) + +;; (use-package dumb-jump +;; :ensure t +;; :config +;; (add-hook 'xref-backend-functions #'dumb-jump-xref-activate) +;; (setq xref-show-definitions-function #'xref-show-definitions-completing-read)) + +(use-package direnv + :ensure t + :config + (direnv-mode))