(provide 'thoom-prog) (use-package treesit-auto :ensure t :custom (treesit-auto-install 'prompt) :config (treesit-auto-add-to-auto-mode-alist 'all) (global-treesit-auto-mode)) (use-package markdown-mode :ensure t :mode ("README\\.md\\'" . gfm-mode) :hook ((markdown-mode . visual-line-mode))) (use-package yaml-mode :ensure t) (use-package rust-mode :ensure t) (use-package dockerfile-mode :ensure t) ;; TODO - replace with https://github.com/sshaw/copy-as-format if necessary (defun copy-source-for-reddit () (interactive) (let ((contents (buffer-substring (point) (mark)))) (with-temp-buffer (insert contents) (mark-whole-buffer) (indent-rigidly (point) (mark) 4 t) (mark-whole-buffer) (kill-ring-save 0 0 t)))) (keymap-global-set "C-c o r" #'copy-source-for-reddit) (use-package eat :ensure t :init (add-hook 'eshell-load-hook #'eat-eshell-mode) :hook (eat-mode . (lambda () (setq display-line-numbers nil)))) (use-package lsp-mode :ensure t :commands lsp :init (setq lsp-keymap-prefix "C-c l") :hook ((rust-ts-mode . lsp-deferred) (lsp-mode . lsp-enable-which-key-integration))) (use-package lsp-ui :ensure t :commands lsp-ui-mode)