dotfiles/emacs.d/lang-modes.el

146 lines
3.9 KiB
EmacsLisp
Raw Normal View History

;; for the most part, we want to use tabs for indentation
(add-hook 'prog-mode-hook 'gered/enable-tabs)
(add-hook 'text-mode-hook 'gered/enable-tabs)
(add-hook 'conf-mode-hook 'gered/enable-tabs)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2024-12-14 15:31:45 -05:00
(use-package treesit-auto
:ensure t
:custom
(treesit-auto-install t)
2024-12-14 15:31:45 -05:00
:config
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun gered/on-lispy-mode ()
(gered/disable-tabs 2))
(add-hook 'emacs-lisp-mode-hook 'gered/on-lispy-mode)
(add-hook 'lisp-mode-hook 'gered/on-lispy-mode)
(use-package lisp-extra-font-lock
:ensure t
:config
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(lisp-extra-font-lock-mode t))))
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package yaml-mode
:ensure t
:config
(setq yaml-indent-offset 2))
(defun gered/on-yaml-mode ()
(gered/disable-tabs yaml-indent-offset))
(add-hook 'yaml-mode-hook 'gered/on-yaml-mode)
(add-hook 'yaml-ts-mode-hook 'gered/on-yaml-mode)
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package json-mode
:ensure t)
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package markdown-mode
:ensure t
:hook ((markdown-mode . visual-line-mode)))
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package jinja2-mode
:ensure t)
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package poly-ansible
:ensure t
:after (yaml-mode jinja2-mode)
:config
(add-to-list 'auto-mode-alist
'("/.*ansible.*/.*\\.ya?ml\\'" . poly-ansible-mode)))
2024-12-05 18:34:57 -05:00
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package hcl-mode
:ensure t
:config
(setq hcl-indent-level my-preferred-tab-width))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2025-01-19 16:36:36 -05:00
(use-package terraform-mode
2025-01-20 14:44:26 -05:00
:ensure t
:config
(setq terraform-indent-level my-preferred-tab-width))
2025-01-19 16:36:36 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2024-12-05 18:34:57 -05:00
(use-package php-mode
:ensure t)
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package js
:config
(setq js-indent-level my-preferred-tab-width))
2024-12-05 22:03:36 -05:00
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2024-12-05 22:03:36 -05:00
(use-package lua-mode
:ensure t
:config
(setq lua-indent-level my-preferred-tab-width))
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package c-ts-mode
:config
(setq-default c-ts-mode-indent-style 'linux)
(setq-default c-ts-mode-indent-offset my-preferred-tab-width))
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2024-12-08 19:13:43 -05:00
(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)
2024-12-08 19:13:43 -05:00
(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))
2024-12-14 15:31:45 -05:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package sgml-mode
:config
(setq sgml-basic-offset my-preferred-tab-width))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package nxml-mode
:config
(setq nxml-child-indent my-preferred-tab-width)
(setq nxml-attribute-indent my-preferred-tab-width)
(setq nxml-slash-auto-complete-flag t))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;