aboutsummaryrefslogtreecommitdiff
path: root/share/home/emacs/emacs.el
diff options
context:
space:
mode:
authorMiran Bastaja <miran.bastaja04@gmail.com>2023-12-29 13:36:01 +0100
committerMiran Bastaja <miran.bastaja04@gmail.com>2023-12-29 13:36:01 +0100
commit5bd1e36d80d00f84193f059a186716762729eccf (patch)
treeabd179ae42eaf3627d870f5347442e0a6cd93f05 /share/home/emacs/emacs.el
parent695a920a43a0317221e590038ac135d9dd7cdb7c (diff)
emacs: general config improvements
Diffstat (limited to 'share/home/emacs/emacs.el')
-rw-r--r--share/home/emacs/emacs.el42
1 files changed, 28 insertions, 14 deletions
diff --git a/share/home/emacs/emacs.el b/share/home/emacs/emacs.el
index 31512c8..7810bef 100644
--- a/share/home/emacs/emacs.el
+++ b/share/home/emacs/emacs.el
@@ -84,12 +84,6 @@
(electric-pair-mode 1) ; Autopairs
(global-hl-line-mode)
- (defun mb/enable-line-numbers ()
- "Enable relative line numbers"
- (interactive)
- (display-line-numbers-mode)
- (setq display-line-numbers 'relative))
-
(defun mb/enable-fill-column ()
"Enable vertical ruler"
(interactive)
@@ -99,11 +93,7 @@
(defun display-startup-echo-area-message ()
(message ""))
- (global-display-line-numbers-mode)
-
- :hook ((prog-mode . mb/enable-line-numbers)
- (prog-mode . mb/enable-fill-column))
-
+ :hook (prog-mode . mb/enable-fill-column)
:bind (("C-z" . undo)
("C-S-z" . undo-redo)
("C-x h" . previous-buffer)
@@ -140,8 +130,17 @@
;; Set up vi keybinds
(use-package evil
:demand
+ :init
+ (defun mb/enable-line-numbers ()
+ "Enable relative line numbers"
+ (interactive)
+ (display-line-numbers-mode)
+ (setq display-line-numbers 'relative))
+
:hook ((prog-mode . evil-local-mode)
- (text-mode . evil-local-mode)))
+ (text-mode . evil-local-mode)
+ (evil-mode . mb/enable-line-numbers)
+ (evil-local-mode . mb/enable-line-numbers)))
;;; Customization - Direnv support ;;;
@@ -154,6 +153,7 @@
(use-package helm
:config
(setq helm-completion-style 'emacs))
+
(use-package helm-mode
:config
(helm-mode 1))
@@ -193,6 +193,12 @@
:config
(which-key-mode +1))
+;;; Customization - LSP support ;;;
+
+(use-package eglot
+ ; nix-mode doesn't have a hook for some reason
+ :mode ("\\.nix\\'" "\\.nix.in\\'"))
+
;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Languages ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -200,7 +206,7 @@
;;; Languages - Nix ;;;
(use-package nix-mode
- :mode "\\.nix\\'")
+ :mode ("\\.nix\\'" "\\.nix.in\\'"))
;;; Languages - Coq ;;;
@@ -209,7 +215,15 @@
;;; Languages - Rust ;;;
-;; TODO
+
+(use-package rustic
+ :init
+ (setq rustic-lsp-client 'eglot)
+ (defun rustic-mode-auto-save-hook ()
+ "Enable auto-saving in rustic-mode buffers."
+ (when buffer-file-name
+ (setq-local compilation-ask-about-save nil)))
+ :hook (rustic-mode . rustic-mode-auto-save-hook))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Useful modes ;;;