emacs/lisp/langs/icejam-lang-rust.el
Maciej Szlosarczyk 87913bbd6a
Some checks failed
/ Test config on 20 (push) Failing after 57s
More config changes
2025-01-18 21:09:06 +02:00

40 lines
970 B
EmacsLisp

;;; rust -- summary -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(eval-when-compile
(declare-function column-enforce-n 'column-enforce-mode (number))
(declare-function lsp-deferred 'lsp-mode)
(declare-function icejam-set-indent 'icejam-prog-mode)
(declare-function icejam-set-lsp-capfs 'icejam-complete-at-point))
(use-package rust-mode
:ensure t
:defer t
:config (setopt rust-mode-treesitter-derive t))
(use-package rustic
:ensure t
:defer t
:after (rust-mode)
:config (setopt rustic-format-on-save nil))
(use-package flycheck-rust
:ensure t
:defer t
:after (rust-mode lsp))
(defun icejam-activate-rust-mode ()
"All things for Rust mode."
(interactive)
(icejam-set-indent 4)
(column-enforce-n 99)
;; Run LSP
(lsp-deferred)
(icejam-set-lsp-capfs))
(add-hook 'rust-mode-hook 'icejam-activate-rust-mode)
(add-hook 'rust-mode-hook 'flycheck-rust-setup)
(provide 'icejam-lang-rust)
;;; icejam-lang-rust.el ends here