diff --git a/user/app/emacs/default.nix b/user/app/emacs/default.nix index 0d09c671..1c010376 100644 --- a/user/app/emacs/default.nix +++ b/user/app/emacs/default.nix @@ -14,12 +14,14 @@ nerd-icons nerd-icons-dired nerd-icons-corfu nerd-icons-ibuffer nerd-icons-completion yasnippet - projectile treemacs + projectile treemacs treemacs-projectile + treesit-grammars.with-all-grammars magit magit-file-icons vterm sudo-edit gdscript-mode nix-mode python python-mode + lsp-mode flycheck lsp-ui lsp-treemacs ]; }) fira-code diff --git a/user/app/emacs/init.el b/user/app/emacs/init.el index 553dee67..b34cdcd2 100644 --- a/user/app/emacs/init.el +++ b/user/app/emacs/init.el @@ -360,3 +360,25 @@ (evil-define-key 'normal 'global (kbd "fU") 'sudo-edit) (evil-define-key 'normal 'global (kbd "fu") 'sudo-edit-find-file) +(require 'lsp-mode) +(add-hook 'gdscript-ts-mode-hook #'lsp-deferred) + +(use-package flycheck + :init + (global-flycheck-mode)) + +(use-package treemacs + :config + (add-hook 'projectile-after-switch-project-hook 'treemacs-add-and-display-current-project-exclusively)) + +(use-package lsp-mode + :init + ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") + (setq lsp-keymap-prefix (kbd "SPC l")) + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (gdscript-mode . lsp) + (gdscript-ts-mode . lsp)) + :commands lsp-deferred) + +(use-package lsp-ui :commands lsp-ui-mode) +(use-package lsp-treemacs :commands lsp-treemacs-errors-list)