diff --git a/emacs.d/.gitignore b/emacs.d/.gitignore index ffb244f..26c9c66 100644 --- a/emacs.d/.gitignore +++ b/emacs.d/.gitignore @@ -8,6 +8,8 @@ /eln-cache /eshell /transient +/.dap-breakpoints +/.lsp-session* /backup /custom.el diff --git a/emacs.d/commands.el b/emacs.d/commands.el index cbd8e88..2b38761 100644 --- a/emacs.d/commands.el +++ b/emacs.d/commands.el @@ -1,5 +1,6 @@ (defun gered/setup-for-sshfs () (interactive) (gered/disable-vcs) + (gered/disable-lsp) (setq after-focus-change-function (lambda ())) (message "Finished setup for SSHFS use")) diff --git a/emacs.d/dev.el b/emacs.d/dev.el index cb7799f..7345bf7 100644 --- a/emacs.d/dev.el +++ b/emacs.d/dev.el @@ -72,3 +72,43 @@ (setq gdb-debuginfod-enable-setting nil) (gud-tooltip-mode t)) +(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) + ;; 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) + +(use-package dap-mode + :ensure t + :commands dap-mode + :config + (use-package dap-gdb))