summaryrefslogtreecommitdiff
path: root/tw/home/files/emacs-init.el
diff options
context:
space:
mode:
authorTimo Wilken2023-10-07 17:14:49 +0200
committerTimo Wilken2023-10-07 17:14:49 +0200
commitaf11b425fb54cad70304425d04f241a456919e85 (patch)
treeaf1869fdbb58e6e96ee3f5d82362835ebb1f0742 /tw/home/files/emacs-init.el
parent584de83142ae43a69c6088df2571a339b7fcb087 (diff)
Update Emacs config for 29.1
Diffstat (limited to 'tw/home/files/emacs-init.el')
-rw-r--r--tw/home/files/emacs-init.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/tw/home/files/emacs-init.el b/tw/home/files/emacs-init.el
index 52a7c84f..2240fda9 100644
--- a/tw/home/files/emacs-init.el
+++ b/tw/home/files/emacs-init.el
@@ -2,6 +2,12 @@
;;; Commentary:
;;; Code:
+(startup-redirect-eln-cache
+ (expand-file-name "emacs/eln" (or (getenv "XDG_CACHE_HOME") "~/.cache/")))
+(add-hook 'after-init-hook #'native-compile-prune-cache)
+
+;; TODO: try new `pixel-scroll-precision-mode'
+
;; Load settings set through Custom.
;; (setq custom-file (locate-user-emacs-file "custom.el"))
;; (when (file-readable-p custom-file)
@@ -40,6 +46,7 @@
(column-number-mode t "Show the column number in the statusline.")
(electric-pair-mode t "Auto-pair suitable characters like parentheses.")
(completion-cycle-threshold 6 "Allow cycling through completions if there are 6 or fewer of them.")
+ (shell-kill-buffer-on-exit t "Kill *shell* buffers as soon as their shell session exits.")
;; Text formatting.
(sentence-end-double-space nil "Use a single space after a sentence.")
(fill-column 78 "Make hard-wrapped text a bit wider.")
@@ -268,6 +275,7 @@
("<leader>ev" . flymake-running-backends)
("<leader>eV" . flymake-disabled-backends))
:custom
+ ;; TODO: what does `flymake-mode-line-lighter' do?
(flymake-suppress-zero-counters nil "Show severity counters even when they are zero."))
(use-package flymake-collection
@@ -296,6 +304,21 @@
(add-hook 'eglot-managed-mode-hook #'tw/help-is-eldoc))
;; Non-LSP language modes.
+
+;; TODO: Try any/all of the following new tree-sitter-based major modes.
+;; Enable them using the following, replacing the relevant "old" major mode:
+;; (add-to-list 'major-mode-remap-alist '(ruby-mode . ruby-ts-mode))
+;; New command 'c-or-c++-ts-mode'.
+;; New major mode 'python-ts-mode'.
+;; New major mode 'css-ts-mode'.
+;; New major mode 'json-ts-mode'.
+;; New major mode 'bash-ts-mode'.
+;; New major mode 'dockerfile-ts-mode'.
+;; New major mode 'cmake-ts-mode'.
+;; New major mode 'toml-ts-mode'.
+;; New major mode 'yaml-ts-mode'.
+;; New major mode 'ruby-ts-mode'.
+
(use-package cmake-mode
:mode (rx (or (: (or bos "/") "CMakeLists.txt") ".cmake") eos))
@@ -612,10 +635,12 @@ For use in `org-latex-classes'."
(kbd "<leader>bd") #'kill-current-buffer
(kbd "<leader>bn") #'tw/new-buffer
(kbd "<leader>br") #'revert-buffer-quick
+ (kbd "<leader>bs") #'scratch-buffer
(kbd "<leader>bw") #'read-only-mode
(kbd "<leader>bx") #'kill-buffer-and-window
(kbd "<leader>fd") #'tw/delete-current-buffer-file
(kbd "<leader>ff") #'find-file
+ (kbd "<leader>fR") #'rename-visited-file
(kbd "<leader>fs") #'save-buffer
(kbd "<leader>h") help-map
(kbd "<leader>hw") #'which-key-show-top-level