Use transient instead of hydra
This commit is contained in:
parent
835c3325ef
commit
1ad9d7b5b0
8 changed files with 178 additions and 311 deletions
|
|
@ -5,9 +5,7 @@
|
||||||
(require '+custom-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el")
|
(require '+custom-pkg-prog-mode "$HOME/.emacs.d/pkg/prog-mode.el")
|
||||||
(require '+custom-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el")
|
(require '+custom-pkg-hydra "$HOME/.emacs.d/pkg/hydra.el")
|
||||||
|
|
||||||
(use-package clojure-mode
|
(use-package clojure-mode :defer t :straight t)
|
||||||
:defer t
|
|
||||||
:straight t)
|
|
||||||
|
|
||||||
(use-package cider
|
(use-package cider
|
||||||
:requires clojure-mode
|
:requires clojure-mode
|
||||||
|
|
@ -22,25 +20,19 @@
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
;; Hydra
|
;; Hydra
|
||||||
(defhydra my-clojure/context-hydra (:color teal :hint nil)
|
(transient-define-prefix +my-transient-cider-context-menu ()
|
||||||
"
|
"Clojure Buffer Commands"
|
||||||
^
|
[""
|
||||||
^ Cider ^^Buffer
|
["Cider"
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("j" "Jack in" cider-jack-in)
|
||||||
^ _j_: Jack in _r_: Reload
|
("t" "Test" cider-test-run-loaded-tests)]
|
||||||
^ _t_: Test _f_: Format
|
["Buffer"
|
||||||
^ ^ ^ _l_: Load
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
^ ^ ^ _e_: Show Errors
|
("f" "Format" cider-format-buffer)
|
||||||
^
|
("l" "Load" cider-load-buffer)
|
||||||
"
|
("e" "Show Errors" flycheck-list-errors)]]
|
||||||
("q" nil "cancel" :color blue)
|
[""
|
||||||
|
("q" "Quit" keyboard-quit)])
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("j" cider-jack-in)
|
|
||||||
("f" cider-format-buffer)
|
|
||||||
("l" cider-load-buffer)
|
|
||||||
("e" flycheck-list-errors)
|
|
||||||
("t" cider-test-run-loaded-tests))
|
|
||||||
|
|
||||||
(defun activate-my-clojure-mode ()
|
(defun activate-my-clojure-mode ()
|
||||||
"Goodies for clojure files."
|
"Goodies for clojure files."
|
||||||
|
|
@ -50,7 +42,7 @@
|
||||||
(cider-mode 1)
|
(cider-mode 1)
|
||||||
(setq-local indent-tabs-mode nil)
|
(setq-local indent-tabs-mode nil)
|
||||||
|
|
||||||
(define-key clojure-mode-map (kbd "C-c l") 'my-clojure/context-hydra/body)
|
(define-key clojure-mode-map (kbd "C-c l") '+my-transient-cider-context-menu)
|
||||||
|
|
||||||
;; Do not enable paredit for clojure
|
;; Do not enable paredit for clojure
|
||||||
;; (paredit-mode 1)
|
;; (paredit-mode 1)
|
||||||
|
|
|
||||||
|
|
@ -10,23 +10,18 @@
|
||||||
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.heex\\'" . elixir-mode))
|
(add-to-list 'auto-mode-alist '("\\.heex\\'" . elixir-mode))
|
||||||
|
|
||||||
(defhydra my-elixir/context-hydra (:color teal :hint nil)
|
(transient-define-prefix +my-transient-elixir-context-menu ()
|
||||||
"
|
"Elixir Buffer Commands"
|
||||||
^
|
[""
|
||||||
^ LSP ^^Buffer
|
["LSP"
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("m" "iMenu" lsp-ui-imenu)]
|
||||||
^ _m_: iMenu _r_: Reload
|
["Buffer"
|
||||||
^^^ _f_: Format
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
^^^ _i_: Indent
|
("f" "Format" elixir-format)
|
||||||
^^^ _e_: Show Errors
|
("i" "Indent" mark-and-indent-whole-buffer)
|
||||||
^
|
("e" "Show Errors" flycheck-list-errors)]]
|
||||||
"
|
[""
|
||||||
("q" nil "cancel" :color blue)
|
("q" "Quit" keyboard-quit)])
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" mark-and-indent-whole-buffer)
|
|
||||||
("f" elixir-format)
|
|
||||||
("e" flycheck-list-errors)
|
|
||||||
("m" lsp-ui-imenu))
|
|
||||||
|
|
||||||
(defun activate-elixir-mode ()
|
(defun activate-elixir-mode ()
|
||||||
"All things Elixir."
|
"All things Elixir."
|
||||||
|
|
@ -41,7 +36,7 @@
|
||||||
;; If needed, switch the one below to false to disable documentation pop-ups
|
;; If needed, switch the one below to false to disable documentation pop-ups
|
||||||
;; (setq-local lsp-ui-doc-enable t)
|
;; (setq-local lsp-ui-doc-enable t)
|
||||||
|
|
||||||
(define-key elixir-mode-map (kbd "C-c l") 'my-elixir/context-hydra/body)
|
(define-key elixir-mode-map (kbd "C-c l") '+my-transient-elixir-context-menu)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
|
|
|
||||||
|
|
@ -18,29 +18,11 @@
|
||||||
:straight t
|
:straight t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
(defhydra my-fsharp/context-hydra (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ FSharp actions^
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _r_: Reload buffer _f_: Format buffer
|
|
||||||
^ _i_: Indent buffer _m_: iMenu
|
|
||||||
^ _e_: Show errors
|
|
||||||
"
|
|
||||||
("q" nil "cancel" :color blue)
|
|
||||||
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" indent-region)
|
|
||||||
("e" flycheck-list-errors)
|
|
||||||
("f" lsp-format-buffer)
|
|
||||||
("m" lsp-ui-imenu))
|
|
||||||
|
|
||||||
(defun activate-fsharp-mode ()
|
(defun activate-fsharp-mode ()
|
||||||
"Activate F# goodies."
|
"Activate F# goodies."
|
||||||
(set-indent 4)
|
(set-indent 4)
|
||||||
(column-enforce-n 100)
|
(column-enforce-n 100)
|
||||||
(lsp-deferred)
|
(lsp-deferred)
|
||||||
(define-key fsharp-mode-map (kbd "C-c l") 'my-fsharp/context-hydra/body)
|
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
|
|
|
||||||
|
|
@ -25,31 +25,11 @@
|
||||||
:config
|
:config
|
||||||
(setq lsp-haskell-process-path-hie "haskell-language-server-wrapper"))
|
(setq lsp-haskell-process-path-hie "haskell-language-server-wrapper"))
|
||||||
|
|
||||||
(defhydra my-haskell/context-hydra (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ LSP ^^Buffer
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _m_: iMenu _r_: Reload
|
|
||||||
^ ^ ^ _f_: Format
|
|
||||||
^ ^ ^ _i_: Indent
|
|
||||||
^ ^ ^ _e_: Show Errors
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("q" nil "cancel" :color blue)
|
|
||||||
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" indent-region)
|
|
||||||
("f" lsp-format-buffer)
|
|
||||||
("e" flycheck-list-errors)
|
|
||||||
("m" lsp-ui-imenu))
|
|
||||||
|
|
||||||
(defun activate-haskell-mode ()
|
(defun activate-haskell-mode ()
|
||||||
"Run this in haskell-mode."
|
"Run this in haskell-mode."
|
||||||
(set-indent 2)
|
(set-indent 2)
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
(lsp)
|
(lsp)
|
||||||
(define-key haskell-mode-map (kbd "C-c l") 'my-haskell/context-hydra/body)
|
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
|
|
|
||||||
|
|
@ -23,22 +23,17 @@
|
||||||
:defer t
|
:defer t
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
|
(transient-define-prefix +my-transient-ocaml-context-menu ()
|
||||||
(defhydra my-ocaml/context-hydra (:color teal :hint nil)
|
"Ocaml Actions"
|
||||||
"
|
["OCaml actions"
|
||||||
^
|
[""
|
||||||
^ OCaml actions
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("i" "Indent" mark-and-indent-whole-buffer)]
|
||||||
^ _r_: Reload _f_: Format
|
[""
|
||||||
^ _i_: Indent _o_: Opam env
|
("f" "Format" ocamlformat)
|
||||||
^
|
("e" "Opam Env" tuareg-opam-update-env)]]
|
||||||
"
|
[""
|
||||||
("q" nil "cancel" :color blue)
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" mark-and-indent-whole-buffer)
|
|
||||||
("f" ocamlformat)
|
|
||||||
("o" tuareg-opam-update-env))
|
|
||||||
|
|
||||||
(defun load-ocaml-site-packages ()
|
(defun load-ocaml-site-packages ()
|
||||||
"Generate ocaml config."
|
"Generate ocaml config."
|
||||||
|
|
@ -53,7 +48,7 @@
|
||||||
|
|
||||||
;; Use opam switch to lookup ocamlmerlin binary
|
;; Use opam switch to lookup ocamlmerlin binary
|
||||||
(setq merlin-command 'opam)))
|
(setq merlin-command 'opam)))
|
||||||
(define-key tuareg-mode-map (kbd "C-c l") 'my-ocaml/context-hydra/body))
|
(define-key tuareg-mode-map (kbd "C-c l") '+my-transient-ocaml-context-menu))
|
||||||
|
|
||||||
;; OCaml setup
|
;; OCaml setup
|
||||||
(add-hook 'tuareg-mode-hook 'merlin-mode)
|
(add-hook 'tuareg-mode-hook 'merlin-mode)
|
||||||
|
|
@ -71,24 +66,22 @@
|
||||||
;; Use tuareg-opam with lock files
|
;; Use tuareg-opam with lock files
|
||||||
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
||||||
|
|
||||||
(defhydra my-reason/context-hydra (:color teal :hint nil)
|
(transient-define-prefix +my-transient-reasonml-context-menu ()
|
||||||
"
|
"ReasonML Actions"
|
||||||
^
|
["ReasonML actions"
|
||||||
^ Reason actions
|
[""
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
^ _r_: Reload _f_: Format
|
("i" "Indent" mark-and-indent-whole-buffer)]
|
||||||
^ _o_: Opam env
|
[""
|
||||||
^
|
("f" "Format" refmt)
|
||||||
"
|
("e" "Opam Env" tuareg-opam-update-env)]]
|
||||||
("q" nil "cancel" :color blue)
|
[""
|
||||||
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
("f" refmt)
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("o" tuareg-opam-update-env))
|
|
||||||
|
|
||||||
(defun my-reason-mode ()
|
(defun my-reason-mode ()
|
||||||
"Generate reason config."
|
"Generate reason config."
|
||||||
(define-key reason-mode-map (kbd "C-c l") 'my-reason/context-hydra/body))
|
(define-key reason-mode-map (kbd "C-c l") '+my-transient-reasonml-context-menu)
|
||||||
|
|
||||||
;; Reason setup
|
;; Reason setup
|
||||||
(add-hook 'reason-mode-hook
|
(add-hook 'reason-mode-hook
|
||||||
|
|
|
||||||
31
lang/php.el
31
lang/php.el
|
|
@ -18,31 +18,26 @@
|
||||||
:requires (lsp-mode lsp-ui)
|
:requires (lsp-mode lsp-ui)
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
(defhydra my-php/context-hydra (:color teal :hint nil)
|
(transient-define-prefix +my-transient-php-context-menu ()
|
||||||
"
|
"PHP Buffer Commands"
|
||||||
^
|
[""
|
||||||
^ LSP ^^Buffer
|
["LSP"
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("m" "iMenu" lsp-ui-imenu)]
|
||||||
^ _m_: iMenu _r_: Reload
|
["Buffer"
|
||||||
^ ^ ^ _f_: Format
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
^ ^ ^ _i_: Indent
|
("f" "Format" elixir-format)
|
||||||
^ ^ ^ _e_: Show Errors
|
("i" "Indent" mark-and-indent-whole-buffer)
|
||||||
^
|
("e" "Show Errors" flycheck-list-errors)]]
|
||||||
"
|
[""
|
||||||
("q" nil "cancel" :color blue)
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" indent-region)
|
|
||||||
("f" lsp-format-buffer)
|
|
||||||
("e" flycheck-list-errors)
|
|
||||||
("m" lsp-ui-imenu))
|
|
||||||
|
|
||||||
(defun activate-php-mode ()
|
(defun activate-php-mode ()
|
||||||
"All things php."
|
"All things php."
|
||||||
(set-indent 4)
|
(set-indent 4)
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
|
|
||||||
(define-key php-mode-map (kbd "C-c l") 'my-php/context-hydra/body)
|
(define-key php-mode-map (kbd "C-c l") '+my-transient-php-context-menu)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
|
|
|
||||||
11
pkg/deft.el
11
pkg/deft.el
|
|
@ -23,12 +23,13 @@
|
||||||
"\\)")
|
"\\)")
|
||||||
deft-auto-save-interval 30.0))
|
deft-auto-save-interval 30.0))
|
||||||
|
|
||||||
(defhydra +hydra-deft-menu (:color teal)
|
(transient-define-prefix +my-transient-deft-menu ()
|
||||||
"Start Deft"
|
"Start Deft"
|
||||||
("d" deft "Deft")
|
[""
|
||||||
("q" nil "quit"))
|
("d" "Deft" deft)
|
||||||
|
("q" "quit" keyboard-quit)])
|
||||||
|
|
||||||
(define-key +custom-keys-mode-map (kbd "C-c d") '+hydra-deft-menu/body)
|
(define-key +custom-keys-mode-map (kbd "C-c d") '+my-transient-deft-menu)
|
||||||
|
|
||||||
(provide '+custom-pkg-deft)
|
(provide '+custom-pkg-deft)
|
||||||
;;; deft.el ends here
|
;;; deft.el ends here
|
||||||
|
|
|
||||||
285
pkg/hydra.el
285
pkg/hydra.el
|
|
@ -5,196 +5,125 @@
|
||||||
|
|
||||||
(require '+custom-pkg-avy "$HOME/.emacs.d/pkg/avy.el")
|
(require '+custom-pkg-avy "$HOME/.emacs.d/pkg/avy.el")
|
||||||
|
|
||||||
|
(use-package transient :straight t)
|
||||||
|
|
||||||
(defun mark-and-indent-whole-buffer ()
|
(defun mark-and-indent-whole-buffer ()
|
||||||
"Mark and indent whole buffer."
|
"Mark and indent whole buffer."
|
||||||
(interactive)
|
(interactive)
|
||||||
(indent-region (point-min) (point-max)))
|
(indent-region (point-min) (point-max)))
|
||||||
|
|
||||||
(use-package hydra
|
(transient-define-prefix +my-transient-project-menu ()
|
||||||
:straight t
|
"Project Commands"
|
||||||
:defer t
|
[""
|
||||||
:config
|
["Projectile"
|
||||||
(defhydra +hydra-project-menu (:color teal :hint nil)
|
("s" "Switch project" counsel-projectile-switch-project)
|
||||||
"
|
("f" "Find file in project" counsel-projectile-find-file)
|
||||||
^
|
("g" "Grep in project" counsel-projectile-rg)
|
||||||
^ Projectile ^^Ivy ^^Magit
|
("c" "invalidate cache" projectile-invalidate-cache)
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
("n" "New project" projectile-add-known-project)]
|
||||||
^ _s_: Switch project _a_: Grep in buffer _m_: Git status
|
["Ivy"
|
||||||
^ _f_: Find file in project _b_: Buffer list _C_: Git checkout
|
("a" "Grep in buffer" counsel-rg)
|
||||||
^ _g_: Grep in project _t_: Find file _M_: Git blame
|
("b" "Buffer list" ibuffer)
|
||||||
^ _c_: Invalidate cache
|
("t" "Find file" counsel-find-file)]
|
||||||
^ _n_: New project
|
["Magit"
|
||||||
|
("m" "Git status" magit-status)
|
||||||
|
("C" "Git checkout" magit-checkout)
|
||||||
|
("M" "Git blame" magit-blame)]]
|
||||||
|
[""
|
||||||
|
["LISP"
|
||||||
|
("i" "IELM" ielm)
|
||||||
|
("e" "eval-region" eval-region)]
|
||||||
|
["Other"
|
||||||
|
("d" "deft" deft)
|
||||||
|
("T" "Speed Type" speed-type-text)]])
|
||||||
|
|
||||||
^ LISP ^^Other
|
(transient-define-prefix +my-transient-code-menu ()
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
"Code Commands"
|
||||||
^ _i_: Console _d_: Deft
|
[""
|
||||||
^ _e_: Eval region _T_: Speed type
|
["Manipulate"
|
||||||
^
|
("c" "Toggle Comment" comment-line)
|
||||||
"
|
("r" "Replace" vr/replace)
|
||||||
|
("i" "Indent" indent-region)
|
||||||
|
("a" "Align" align-regexp)]
|
||||||
|
["Complete"
|
||||||
|
("y" "Snippet" company-yasnippet)
|
||||||
|
("m" "Any (Company)" company-complete)]
|
||||||
|
["Find"
|
||||||
|
("s" "Swiper" swiper)
|
||||||
|
("u" "Undo tree" undo-tree-visualize)
|
||||||
|
("d" "Dash" dash-at-point)]])
|
||||||
|
|
||||||
("q" nil "cancel" :color blue)
|
(transient-define-prefix +my-transient-window-menu ()
|
||||||
|
"Windows Commands"
|
||||||
|
[""
|
||||||
|
["Move"
|
||||||
|
("<left>" " Left" windmove-left)
|
||||||
|
("<right>" "Right" windmove-right)
|
||||||
|
("<up>" " Up" windmove-up)
|
||||||
|
("<down>" " Down" windmove-down)]
|
||||||
|
["Split"
|
||||||
|
("h" "Horizontally" split-window-below)
|
||||||
|
("v" "Vertically" split-window-right)]
|
||||||
|
["Kill"
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
("k" "Kill Buffer" kill-buffer-and-window)]])
|
||||||
|
|
||||||
("a" counsel-rg)
|
(transient-define-prefix +my-transient-language-context-menu ()
|
||||||
("b" ibuffer)
|
"Language (Buffer) Commands"
|
||||||
("t" counsel-find-file)
|
[""
|
||||||
("d" deft)
|
["Buffer"
|
||||||
|
("r" "Reload" revert-buffer-no-confirm)
|
||||||
|
("f" "Format" lsp-format-buffer)
|
||||||
|
("i" "Indent" mark-and-indent-whole-buffer)]
|
||||||
|
["Other"
|
||||||
|
("m" "iMenu" lsp-ui-imenu)
|
||||||
|
("e" "Show Errors" flycheck-list-errors)]])
|
||||||
|
|
||||||
("s" counsel-projectile-switch-project)
|
(transient-define-prefix +my-transient-history-menu ()
|
||||||
("f" counsel-projectile-find-file)
|
"Buffer History Commands"
|
||||||
("g" counsel-projectile-rg)
|
["History"
|
||||||
("c" projectile-invalidate-cache)
|
("[" "Previous" previous-buffer)
|
||||||
("n" projectile-add-known-project)
|
("]" "Next" previous-buffer)])
|
||||||
|
|
||||||
("i" ielm)
|
(transient-define-prefix +my-transient-move-menu ()
|
||||||
("T" speed-type-text)
|
"Language (Buffer) Commands"
|
||||||
("e" eval-region)
|
[""
|
||||||
|
["Move this buffer"
|
||||||
|
("{" "Up" buf-move-left)
|
||||||
|
("[" "Left" buf-move-right)
|
||||||
|
("}" "Right" buf-move-up)
|
||||||
|
("]" "Down" buf-move-down)]
|
||||||
|
["Jump to"
|
||||||
|
("w" "Word" avy-goto-word-1)
|
||||||
|
("l" "Character" avy-goto-line)
|
||||||
|
("c" "Line" avy-goto-char-2)]])
|
||||||
|
|
||||||
("m" magit-status)
|
(transient-define-prefix +my-transient-font-menu ()
|
||||||
("C" magit-checkout)
|
"Font Commands"
|
||||||
("M" magit-blame))
|
[""
|
||||||
|
["Everywhere"
|
||||||
|
("R" "Set size" set-font-to-screen)
|
||||||
|
("s" "Reset to default" set-font-size)]
|
||||||
|
["In this buffer"
|
||||||
|
("i" "Bigger" (lambda ()
|
||||||
|
(interactive)
|
||||||
|
(text-scale-increase 1)))
|
||||||
|
("d" "Smaller" (lambda ()
|
||||||
|
(interactive)
|
||||||
|
(text-scale-decrease 1)))
|
||||||
|
("r" "Reset" (lambda ()
|
||||||
|
(interactive)
|
||||||
|
(text-scale-adjust 0)))]])
|
||||||
|
|
||||||
(defhydra +hydra-code-menu (:color teal :hint nil)
|
(define-key +custom-keys-mode-map (kbd "C-c p") '+my-transient-project-menu)
|
||||||
"
|
(define-key +custom-keys-mode-map (kbd "C-c c") '+my-transient-code-menu)
|
||||||
^
|
(define-key +custom-keys-mode-map (kbd "C-c w") '+my-transient-window-menu)
|
||||||
^ Manipulate ^^Complete ^^Find
|
(define-key +custom-keys-mode-map (kbd "C-c s") '+my-transient-history-menu)
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
(define-key +custom-keys-mode-map (kbd "C-c f") '+my-transient-font-menu)
|
||||||
^ _c_: Toggle comment _y_: Snippet _s_: Swiper
|
(define-key +custom-keys-mode-map (kbd "C-c m") '+my-transient-move-menu)
|
||||||
^ _r_: Replace _m_: Any (Company) _u_: Undo tree
|
(define-key +custom-keys-mode-map (kbd "C-c l") '+my-transient-language-context-menu)
|
||||||
^ _i_: Indent^^ _d_: Dash
|
|
||||||
^ _a_: Align
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("q" nil "cancel" :color blue)
|
|
||||||
|
|
||||||
("c" comment-line)
|
|
||||||
("r" vr/replace)
|
|
||||||
("i" indent-region)
|
|
||||||
("a" align-regexp)
|
|
||||||
("s" swiper)
|
|
||||||
("d" dash-at-point)
|
|
||||||
|
|
||||||
("u" undo-tree-visualize)
|
|
||||||
("y" company-yasnippet)
|
|
||||||
("m" company-complete))
|
|
||||||
|
|
||||||
(defhydra +hydra-window-menu (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^ Move Split Kill
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _<left>_: Left _h_: Horizontally
|
|
||||||
^ _<right>_: Right _v_: Vertically
|
|
||||||
^ _<up>_: Up
|
|
||||||
^ _<down>_: Down _k_: Kill Buffer
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("q" nil "cancel" :color blue)
|
|
||||||
|
|
||||||
("k" kill-buffer-and-window)
|
|
||||||
("h" split-window-below)
|
|
||||||
("v" split-window-right)
|
|
||||||
|
|
||||||
("<left>" windmove-left)
|
|
||||||
("<right>" windmove-right)
|
|
||||||
("<up>" windmove-up)
|
|
||||||
("<down>" windmove-down))
|
|
||||||
|
|
||||||
(defhydra +hydra-language-context-menu (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ Buffer Other
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _r_: Reload _m_: iMenu
|
|
||||||
^ _f_: Format _e_: Show Errors
|
|
||||||
^ _i_: Indent
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("q" nil "cancel" :color blue)
|
|
||||||
|
|
||||||
("r" revert-buffer-no-confirm)
|
|
||||||
("i" mark-and-indent-whole-buffer)
|
|
||||||
|
|
||||||
("f" lsp-format-buffer)
|
|
||||||
("m" lsp-ui-imenu)
|
|
||||||
("e" flycheck-list-errors))
|
|
||||||
|
|
||||||
(defhydra +hydra-history-menu (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ History
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _[_: Previous
|
|
||||||
^ _]_: Next
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("[" previous-buffer)
|
|
||||||
("]" next-buffer)
|
|
||||||
|
|
||||||
("q" nil "cancel" :color blue))
|
|
||||||
|
|
||||||
(defhydra +hydra-move-menu (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ Move this buffer ^^Jump to
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _{_: Up _w_: Word
|
|
||||||
^ _[_: Left _c_: Character
|
|
||||||
^ _]_: Right _l_: Line
|
|
||||||
^ _{_: Down
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("[" buf-move-left)
|
|
||||||
("]" buf-move-right)
|
|
||||||
("{" buf-move-up)
|
|
||||||
("}" buf-move-down)
|
|
||||||
("w" avy-goto-word-1)
|
|
||||||
("l" avy-goto-line)
|
|
||||||
("c" avy-goto-char-2)
|
|
||||||
("q" nil "quit"))
|
|
||||||
|
|
||||||
(defhydra +hydra-font-menu (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ Everywhere ^^In this buffer
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _s_: Set size _i_: Bigger
|
|
||||||
^ _R_: Reset to default _d_: Smaller
|
|
||||||
^^^ _r_: Reset
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("i" (text-scale-increase 1))
|
|
||||||
("d" (text-scale-decrease 1))
|
|
||||||
("r" (text-scale-adjust 0))
|
|
||||||
("R" set-font-to-screen)
|
|
||||||
("s" set-font-size)
|
|
||||||
("q" nil "cancel" :color blue))
|
|
||||||
|
|
||||||
(defhydra +hydra-of-hydras (:color teal :hint nil)
|
|
||||||
"
|
|
||||||
^
|
|
||||||
^ Hydras
|
|
||||||
^────────────────────────────────────────────────────────────────────────────────
|
|
||||||
^ _p_: Projects^^^ _h_: History
|
|
||||||
^ _c_: Code^^^ _m_: Move
|
|
||||||
^ _l_: Language^^^ _f_: Fonts
|
|
||||||
^
|
|
||||||
"
|
|
||||||
("p" +hydra-project-menu/body)
|
|
||||||
("c" +hydra-code-menu/body)
|
|
||||||
("w" +hydra-window-menu/body)
|
|
||||||
("h" +hydra-history-menu/body)
|
|
||||||
("f" +hydra-font-menu/body)
|
|
||||||
("m" +hydra-move-menu/body)
|
|
||||||
("l" +hydra-language-context-menu/body)
|
|
||||||
("q" nil "cancel"))
|
|
||||||
|
|
||||||
:bind ("C-c p" . +hydra-project-menu/body)
|
|
||||||
("C-c h" . +hydra-of-hydras/body)
|
|
||||||
("C-c c" . +hydra-code-menu/body)
|
|
||||||
("C-c w" . +hydra-window-menu/body)
|
|
||||||
("C-c s" . +hydra-history-menu/body)
|
|
||||||
("C-c f" . +hydra-font-menu/body)
|
|
||||||
("C-c m" . +hydra-move-menu/body)
|
|
||||||
("C-c l" . +hydra-language-context-menu/body))
|
|
||||||
|
|
||||||
(provide '+custom-pkg-hydra)
|
(provide '+custom-pkg-hydra)
|
||||||
;;; hydra.el ends here
|
;;; hydra.el ends here
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue