dotfiles/emacs.d/lang-modes.el
2024-12-08 19:13:43 -05:00

72 lines
1.6 KiB
EmacsLisp

(use-package emacs-lisp-mode
:hook ((emacs-lisp-mode . gered/on-emacs-lisp-mode))
:init
(defun gered/on-emacs-lisp-mode ()
(lambda ()
;; TODO: is this even necessary or was i seeing something odd caused by my own (prior) mistakes?
(setq-local indent-tabs-mode nil)
(setq-local tab-width 2))))
(use-package lisp-extra-font-lock
:ensure t
:config
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(lisp-extra-font-lock-mode t))))
(use-package yaml-mode
:ensure t)
(use-package json-mode
:ensure t)
(use-package markdown-mode
:ensure t
:hook ((markdown-mode . visual-line-mode)))
(use-package jinja2-mode
:ensure t)
(use-package poly-ansible
:ensure t
:after (yaml-mode jinja2-mode)
:config
(add-to-list 'auto-mode-alist
'("/.*ansible.*/.*\\.ya?ml\\'" . poly-ansible-mode)))
(use-package php-mode
:ensure t)
(use-package js
:config
(setq js-indent-level tab-width))
(use-package lua-mode
:ensure t)
(use-package c-ts-mode
:config
(setq-default c-ts-mode-indent-style 'linux)
(setq-default c-ts-mode-indent-offset tab-width))
(use-package rust-mode
:ensure t
:bind
(("C-c C-r C-r" . 'lsp-rust-analyzer-run)
("C-c C-r C-e" . 'lsp-rust-analyzer-rerun)
("C-c C-r C-d" . 'lsp-rust-analyzer-debug)
("C-c C-r C-t" . 'lsp-rust-analyzer-related-tests))
:init
(setq rust-mode-treesitter-derive t))
(use-package rustic
:ensure t
:after rust-mode)
(use-package cargo
:ensure t
:after rustic
:init
(add-hook 'rust-mode-hook 'cargo-minor-mode)
(add-hook 'rust-ts-mode-hook 'cargo-minor-mode))