401-rust: reorganize use-package configurations

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
2020-06-24 01:35:16 +02:00
parent 35ef870b21
commit 2aef9f9983

View File

@@ -1,74 +1,57 @@
;;; 401-rust.el --- handle rust code ;;; 401-rust.el --- handle rust code
;;; Commentary: ;;; Commentary:
;; using rust-mode with rust-analyzer via lsp ;; using rust-mode with rust-analyzer via lsp
;;; Code: ;;; Code:
;; load rustic -> IDE like for rust ;; load rustic -> IDE like for rust
;; it superseeds rust-mode
(use-package rustic (use-package rustic
:ensure t :ensure t
:init :config
(setq rustic-lsp-server 'rust-analyzer) ;; recommended: use spaces instead of tabs
(setq rustic-format-on-save t)) (add-hook 'rust-mode-hook
(lambda () (setq indent-tabs-mode nil)))
;; use the lsp UI package (add-hook 'rustic-mode-hook
(use-package lsp-ui) (lambda () (setq indent-tabs-mode nil)))
;; enable code folding und line numbering rust buffers
;; use rust-analyzer via lsp (add-hook 'prog-mode-hook
;; (setq lsp-rust-analyzer-server-command '("~/.cargo/bin/rust-analyzer")) ;;'lsp-origami-mode
;; (add-hook 'before-save-hook (lambda () (when (eq 'rust-mode major-mode) 'hs-minor-mode
;; (lsp-format-buffer)))) 'linum-relative-mode)
;; load the language-server-protocol (lsp)
;; (use-package lsp-mode
;; :init
;; (add-hook 'prog-mode-hook 'lsp-mode)
;; :after rustic)
;; ;; :config
;; ;; (use-package lsp-flycheck
;; ;; :ensure f ; comes with lsp-mode
;; ;; :after rustic))
;; (push 'rustic-clippy flycheck-checkers)
;; Turn off flycheck.
;;(remove-hook 'rustic-mode-hook 'flycheck-mode) ;;(remove-hook 'rustic-mode-hook 'flycheck-mode)
;; use the lsp UI package
;; https://emacs-lsp.github.io/lsp-mode
(use-package lsp-ivy)
(use-package lsp-ui)
;; ;; load rust-mode ;; use the yasnippet
;; (use-package rust-mode (use-package yasnippet
;; :mode "\\.rs\\'" ;; YASnippet is a template system for Emacs.
;; :init ;; It allows you to type an abbreviation and automatically expand it into function templates
;; (setq rust-format-on-save t)) ;; use YASnippet as a non-global minor mode
:config
(yas-reload-all))
;; company-capf.el from load-path
(use-package linum-relative
:config
(setq linum-relative-backend 'display-line-numbers-mode))
;; ;; bind the lsp-rust mode :custom
;; (use-package lsp-rust ;;(linum-on)
;; :after lsp-mode) ;;(linum-relative-toggle)
;;(hs-minor-mode t)
;; option: bind commands to keys: ;;(lsp-origami-try-enable)
;; - lsp-rust-analyzer-join-lines ;;(linum-relative-mode 1))
;; - lsp-extend-selection (rustic-lsp-server 'rust-analyzer)
;; - lsp-rust-analyzer-expand-macro (rustic-lsp-format t))
;; (autoload 'rust-mode "rust-mode"
;; "Major mode for the rust programming language" t)
;; (add-hook 'rust-mode-hook #'racer-mode)
;; (add-hook 'racer-mode-hook #'eldoc-mode)
;; (add-hook 'racer-mode-hook #'company-mode)
;; (add-hook 'rust-mode-hook 'cargo-minor-mode)
;; (add-hook 'flycheck-mode #'flycheck-rust)
;; (add-hook 'flycheck-mode-hook #'flycheck-rust-setup)
;; ;; reccommended: use spaces instead of tabs
;; (add-hook 'rust-mode-hook
;; (lambda () (setq indent-tabs-mode nil)))
;; ;; on save, run rustfmt if installed (C-c C-f)
;; (setq rust-format-on-save t)
(provide '401-rust) (provide '401-rust)
;; Local Variables:
;; no-byte-compile: t
;; End
;;; 401-rust.el ends here ;;; 401-rust.el ends here