Some checks failed
/ Test config on ${{matrix.node}} (20) (push) Has been cancelled
123 lines
3.8 KiB
EmacsLisp
123 lines
3.8 KiB
EmacsLisp
;;; pkg/transient -- summary -*- lexical-binding: t; -*-
|
|
;;; Commentary:
|
|
;;; Global Transient definitions.
|
|
;;; Code:
|
|
|
|
(require 'icejam-avy)
|
|
(use-package transient :straight t)
|
|
|
|
(defun icejam-mark-and-indent-whole-buffer ()
|
|
"Mark and indent whole buffer."
|
|
(interactive)
|
|
(indent-region (point-min) (point-max)))
|
|
|
|
(transient-define-prefix icejam/project-menu ()
|
|
"Project Commands."
|
|
[""
|
|
["Projectile"
|
|
("s" "Switch project" counsel-projectile-switch-project)
|
|
("f" "Find file in project" counsel-projectile-find-file)
|
|
("g" "Grep in project" counsel-projectile-rg)
|
|
("c" "invalidate cache" projectile-invalidate-cache)
|
|
("n" "New project" projectile-add-known-project)]
|
|
["Ivy"
|
|
("a" "Grep in buffer" counsel-rg)
|
|
("b" "Buffer list" ibuffer)
|
|
("t" "Find file" counsel-find-file)]
|
|
["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)]])
|
|
|
|
(transient-define-prefix icejam/code-menu ()
|
|
"Code Commands."
|
|
[""
|
|
["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)
|
|
("g" "Ask GPT" gptel-menu)]
|
|
["Find"
|
|
("s" "Swiper" swiper)
|
|
("u" "Vundo" vundo)
|
|
("d" "Dash" dash-at-point)]])
|
|
|
|
(transient-define-prefix icejam/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)]])
|
|
|
|
(transient-define-prefix icejam/language-context-menu ()
|
|
"Language (Buffer) Commands."
|
|
[""
|
|
["Buffer"
|
|
("r" "Reload" icejam-revert-buffer-no-confirm)
|
|
("f" "Format" lsp-format-buffer)
|
|
("i" "Indent" icejam-mark-and-indent-whole-buffer)]
|
|
["Other"
|
|
("m" "iMenu" lsp-ui-imenu)
|
|
("e" "Show Errors" flycheck-list-errors)]])
|
|
|
|
(transient-define-prefix icejam/history-menu ()
|
|
"Buffer History Commands."
|
|
["History"
|
|
("[" "Previous" previous-buffer)
|
|
("]" "Next" previous-buffer)])
|
|
|
|
(transient-define-prefix icejam/move-menu ()
|
|
"Move Commands."
|
|
[""
|
|
["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)]])
|
|
|
|
(transient-define-prefix icejam/font-menu ()
|
|
"Font Commands."
|
|
[""
|
|
["Everywhere"
|
|
("R" "Reset to default" set-font-to-screen)
|
|
("s" "Set size" 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)))]])
|
|
|
|
(define-key global-map (kbd "C-c p") 'icejam/project-menu)
|
|
(define-key global-map (kbd "C-c c") 'icejam/code-menu)
|
|
(define-key global-map (kbd "C-c w") 'icejam/window-menu)
|
|
(define-key global-map (kbd "C-c s") 'icejam/history-menu)
|
|
(define-key global-map (kbd "C-c f") 'icejam/font-menu)
|
|
(define-key global-map (kbd "C-c m") 'icejam/move-menu)
|
|
(define-key global-map (kbd "C-c l") 'icejam/language-context-menu)
|
|
|
|
(provide 'icejam-transient)
|
|
;;; icejam-transient.el ends here
|