diff --git a/init.el b/init.el index a264470..c6e1175 100755 --- a/init.el +++ b/init.el @@ -119,15 +119,6 @@ ("C-:" . avy-goto-word-1) ("M-g g" . avy-goto-line))) -(use-package undo-tree - :after evil - :config - (setq undo-tree-auto-save-history nil) - (advice-add #'evil-undo :override #'undo-tree-undo) - (advice-add #'evil-redo :override #'undo-tree-redo) - (define-key evil-normal-state-map (kbd "SPC u v") #'undo-tree-visualize) - (global-undo-tree-mode)) - ;; Magit (git frontend) (use-package magit) @@ -174,9 +165,6 @@ :init (setq markdown-fontify-code-blocks-natively t)) -;; Justfile -(use-package just-mode) - ;; String casing functions (use-package string-inflection) @@ -231,10 +219,7 @@ (which-key-mode +1)) ;; On the fly syntax checking -(use-package flycheck - :after evil - :config - (define-key evil-normal-state-map (kbd "SPC e") #'flycheck-list-errors)) +(use-package flycheck) ;; Completions (use-package company @@ -276,25 +261,25 @@ :config (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (add-hook 'evil-insert-state-entry-hook #'lsp-signature-activate) - (add-hook 'evil-insert-state-exit-hook #'lsp-signature-stop) + (add-hook 'evil-insert-state-exit-hook #'lsp-signature-stop)) + +(use-package lsp-ui + :after lsp-mode + :init + (setq lsp-ui-doc-position 'at-point + lsp-ui-doc-delay 0.5) + :config + (define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions) + (define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references) + (define-key evil-normal-state-map (kbd "SPC l d") #'lsp-ui-peek-find-definitions) + (define-key evil-normal-state-map (kbd "SPC l u") #'lsp-ui-peek-find-references) (define-key evil-normal-state-map (kbd "SPC l r") #'lsp-rename) (define-key evil-normal-state-map (kbd "SPC l a") #'lsp-execute-code-action) (define-key evil-normal-state-map (kbd "SPC l = =") #'lsp-format-buffer) (define-key evil-normal-state-map (kbd "SPC l = r") #'lsp-format-region) (define-key evil-normal-state-map (kbd "SPC l s q") #'lsp-workspace-shutdown) (define-key evil-normal-state-map (kbd "SPC l s r") #'lsp-workspace-restart) - (define-key evil-normal-state-map (kbd "SPC l i") #'lsp-describe-thing-at-point)) - -(use-package lsp-ui - :after lsp-mode - :init - (setq lsp-ui-doc-enable nil - lsp-ui-sideline-enable nil) - :config - (define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions) - (define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references) - (define-key evil-normal-state-map (kbd "SPC l d") #'lsp-ui-peek-find-definitions) - (define-key evil-normal-state-map (kbd "SPC l u") #'lsp-ui-peek-find-references) + (define-key evil-normal-state-map (kbd "SPC l i") #'lsp-ui-doc-glance) ;; Controls inside references popup (define-key lsp-ui-peek-mode-map (kbd "j") #'lsp-ui-peek--select-next) (define-key lsp-ui-peek-mode-map (kbd "k") #'lsp-ui-peek--select-prev) @@ -305,18 +290,6 @@ (use-package lsp-treemacs :after (lsp-mode treemacs)) -;; Java lsp -(use-package lsp-java - :after lsp-mode - :hook (java-ts-mode . lsp-deferred) - :config - (setq lsp-java-server-install-dir (getenv "JDTLS_PATH")) - (defun lsp-java--ls-command () - (list "jdt-language-server" - ;; this is called "configuration" for come reasn, its acually a cache - "-configuration" (concat (file-name-as-directory (getenv "XDG_CACHE_HOME")) "jdtls") - "-data" "../.jdtls"))) - ;; Nix support (use-package nix-mode :mode "\\.nix\\'" @@ -351,8 +324,6 @@ (hyprctl "hy3:makegroup" "h, ephemeral") (make-frame-command))) -(define-key evil-normal-state-map (kbd "C-w a") #'make-frame-command) - (advice-add #'evil-window-left :override (lambda (&optional count file) (hyprctl "hy3:movefocus" "l"))) (advice-add #'evil-window-right :override @@ -361,19 +332,3 @@ (lambda (&optional count file) (hyprctl "hy3:movefocus" "u"))) (advice-add #'evil-window-down :override (lambda (&optional count file) (hyprctl "hy3:movefocus" "d"))) - -;;; Overrides - -;; stop lsp-mode from yoloing code actions when only one is present -(defun lsp--select-action (actions) - "Select an action to execute from ACTIONS." - (cond - ((seq-empty-p actions) (signal 'lsp-no-code-actions nil)) - ;;((and (eq (seq-length actions) 1) lsp-auto-execute-action) - ;;(lsp-seq-first actions)) - (t (let ((completion-ignore-case t)) - (lsp--completing-read "Select code action: " - (seq-into actions 'list) - (-compose (lsp--create-unique-string-fn) - #'lsp:code-action-title) - nil t)))))