diff options
Diffstat (limited to 'share/home/emacs/emacs.el')
| -rw-r--r-- | share/home/emacs/emacs.el | 42 |
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 ;;; |
