summaryrefslogtreecommitdiff
path: root/emacs/inits/20-programming.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/inits/20-programming.el')
-rw-r--r--emacs/inits/20-programming.el61
1 files changed, 39 insertions, 22 deletions
diff --git a/emacs/inits/20-programming.el b/emacs/inits/20-programming.el
index 1ca76e0..72241b6 100644
--- a/emacs/inits/20-programming.el
+++ b/emacs/inits/20-programming.el
@@ -1,4 +1,4 @@
-;; Time-stamp: <2020-04-25 21:17:05 (tslil@bison)>
+;; Time-stamp: <2020-05-17 10:51:43 (tslil@forfeit)>
;; -----------------------------------------------------------------------------
;; General setup
@@ -22,7 +22,8 @@
(if (fboundp 'display-line-numbers-mode)
(display-line-numbers-mode)
(linum-mode))
- (setq auto-hscroll-mode t))
+ (setq auto-hscroll-mode t)
+ (yas-minor-mode-on))
(add-hook 'prog-mode-hook #'programming-setup)
@@ -45,7 +46,8 @@
(use-package yasnippet
:ensure t
- :defer t)
+ :defer t
+ :commands yas-minor-mode-on)
(use-package elec-pair
:defer t
@@ -149,6 +151,34 @@
(c-toggle-electric-state 1)
(c-toggle-syntactic-indentation 1)))
+(use-package verilog-mode
+ :ensure t
+ :defer t
+ :mode "\\.vl$"
+ :hook (verilog-mode . (lambda ()
+ (setq verilog-tool 'verilog-compiler)
+ (verilog-set-compile-command)))
+ :config
+ (setq verilog-compiler "iverilog"
+ verilog-tool 'verilog-compiler))
+
+(use-package gforth
+ :commands forth-mode
+ :mode (("\\.fs$" . forth-mode)
+ ("\\.fb$" . forth-block-mode)
+ ("\\.4th$" . forth-mode)))
+
+;; -----------------------------------------------------------------------------
+;; Rust
+
+(use-package lsp-mode
+ :ensure t
+ :defer t)
+
+(use-package cargo
+ :ensure t
+ :defer t)
+
(use-package flycheck-rust
:after flycheck
:ensure t
@@ -166,32 +196,19 @@
("C-c C-c" . rust-compile)
("C-c C-r" . rust-run))
:hook (rust-mode . (lambda ()
+ (cargo-minor-mode)
;; For some reason this is not automatic
(setq-local electric-pair-pairs
(cons '(?' . ?') electric-pair-pairs))
;; Pair {} in rust format strings ... ?
(setq-local electric-pair-text-pairs
(cons '(?{ . ?}) electric-pair-pairs))
- (flycheck-rust-setup)))
+ (flycheck-rust-setup)
+ (lsp)))
:config
(setq rust-indent-offset 4
rust-indent-method-chain t
rust-indent-where-clause t
- rust-format-on-save t))
-
-(use-package verilog-mode
- :ensure t
- :defer t
- :mode "\\.vl$"
- :hook (verilog-mode . (lambda ()
- (setq verilog-tool 'verilog-compiler)
- (verilog-set-compile-command)))
- :config
- (setq verilog-compiler "iverilog"
- verilog-tool 'verilog-compiler))
-
-(use-package gforth
- :commands forth-mode
- :mode (("\\.fs$" . forth-mode)
- ("\\.fb$" . forth-block-mode)
- ("\\.4th$" . forth-mode)))
+ rust-format-on-save t)
+ (setq lsp-rust-server 'rust-analyzer
+ lsp-rust-analyzer-call-info-full nil))