(use-package emacs :ensure nil :hook ((prog-mode . electric-pair-mode))) ;; (use-package idle-highlight-mode ;; :ensure t ;; :hook ((prog-mode . idle-highlight-mode))) (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/enable-lsp () (interactive) (add-hook 'prog-mode-hook 'lsp) (message "Adding lsp hook to prog-modes")) (defun gered/disable-lsp () (interactive) (remove-hook 'prog-mode-hook 'lsp) (message "Removing lsp hook from prog-modes")) (use-package lsp-mode :ensure t :init (setq lsp-keymap-prefix "M-z") :hook ((prog-mode . lsp) (lsp-mode . lsp-enable-which-key-integration)) :config (setq lsp-enable-on-type-formatting nil) (setq lsp-headerline-breadcrumb-enable nil) (setq lsp-enable-snippet nil) (setq lsp-warn-no-matched-clients nil) ;; seems to remove the semi-annoying "Unable to autoconfigure company-mode" warning ;; but still leaves completion via corfu working? (setq lsp-completion-provider :none) :commands lsp) (use-package lsp-ui :ensure t :commands lsp-ui) (use-package lsp-treemacs :ensure t :after lsp-mode :commands lsp-treemacs-errors-list)