diff --git a/home/alex/programs/emacs/doom/config.el b/home/alex/programs/emacs/doom/config.el index 7422ddc..c2bf3df 100644 --- a/home/alex/programs/emacs/doom/config.el +++ b/home/alex/programs/emacs/doom/config.el @@ -118,6 +118,21 @@ (after! lsp-haskell (setq lsp-haskell-formatting-provider "fourmolu")) +;; will define elisp functions for the given lsp code actions, prefixing the +;; given function names with "lsp" +(lsp-make-interactive-code-action wingman-fill-hole "refactor.wingman.fillHole") +(lsp-make-interactive-code-action wingman-case-split "refactor.wingman.caseSplit") +(lsp-make-interactive-code-action wingman-refine "refactor.wingman.refine") +(lsp-make-interactive-code-action wingman-split-func-args "refactor.wingman.spltFuncArgs") +(lsp-make-interactive-code-action wingman-use-constructor "refactor.wingman.useConstructor") + +;; example key bindings +;; (define-key haskell-mode-map (kbd "C-c d") #'lsp-wingman-case-split) +;; (define-key haskell-mode-map (kbd "C-c n") #'lsp-wingman-fill-hole) +;; (define-key haskell-mode-map (kbd "C-c r") #'lsp-wingman-refine) +;; (define-key haskell-mode-map (kbd "C-c c") #'lsp-wingman-use-constructor) +;; (define-key haskell-mode-map (kbd "C-c a") #'lsp-wingman-split-func-args) + ;; tweak some VI defaults (after! evil (setq evil-ex-substitute-global t ; I like my s/../.. to by global by default