(defvar thoom/dir (file-name-directory load-file-name) "The root dir of the Thoom Emacs distribution.") (defvar thoom/modules-dir (expand-file-name "modules" thoom/dir) "This directory houses all of the built-in Prelude modules.") (add-to-list 'load-path thoom/modules-dir) ;; Set a location for the custom file so it doesn't pollute this file. (setq custom-file (locate-user-emacs-file "custom-vars.el")) ;; Elpaca package manager (require 'thoom-elpaca) (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)) (use-package magit :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))