;; 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) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (use-package treesit-auto :ensure t :custom (treesit-auto-install 'prompt) :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)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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 my-preferred-tab-width)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (use-package lua-mode :ensure t :config (setq lua-indent-level my-preferred-tab-width)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;