(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 lsp-mode :ensure t :commands lsp :custom (lsp-completion-provider :none) :init (setq lsp-keymap-prefix "C-c l") (defun my/lsp-mode-setup-completion () (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults)) '(orderless))) :hook ((rust-ts-mode . lsp-deferred) (lsp-mode . lsp-enable-which-key-integration) (lsp-completion-mode . my/lsp-mode-setup-completion))) (use-package lsp-ui :ensure t :commands lsp-ui-mode)