111 lines
2.7 KiB
EmacsLisp
111 lines
2.7 KiB
EmacsLisp
|
|
(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))
|