- (setq stgit-mode-map (make-keymap))
- (suppress-keymap stgit-mode-map)
- (mapc (lambda (arg) (define-key stgit-mode-map (car arg) (cdr arg)))
- '((" " . stgit-mark)
- ("m" . stgit-mark)
- ("\d" . stgit-unmark-up)
- ("u" . stgit-unmark-down)
- ("?" . stgit-help)
- ("h" . stgit-help)
- ("\C-p" . stgit-previous-line)
- ("\C-n" . stgit-next-line)
- ([up] . stgit-previous-line)
- ([down] . stgit-next-line)
- ("p" . stgit-previous-patch)
- ("n" . stgit-next-patch)
- ("\M-{" . stgit-previous-patch)
- ("\M-}" . stgit-next-patch)
- ("s" . stgit-git-status)
- ("g" . stgit-reload)
- ("r" . stgit-refresh)
- ("\C-c\C-r" . stgit-rename)
- ("e" . stgit-edit)
- ("M" . stgit-move-patches)
- ("S" . stgit-squash)
- ("N" . stgit-new)
- ("R" . stgit-repair)
- ("C" . stgit-commit)
- ("U" . stgit-uncommit)
- ("\r" . stgit-select)
- ("o" . stgit-find-file-other-window)
- ("i" . stgit-file-toggle-index)
- (">" . stgit-push-next)
- ("<" . stgit-pop-next)
- ("P" . stgit-push-or-pop)
- ("G" . stgit-goto)
- ("=" . stgit-show)
- ("D" . stgit-delete)
- ([(control ?/)] . stgit-undo)
- ("\C-_" . stgit-undo)
- ("B" . stgit-branch)
- ("q" . stgit-quit))))
+ (let ((toggle-map (make-keymap)))
+ (suppress-keymap toggle-map)
+ (mapc (lambda (arg) (define-key toggle-map (car arg) (cdr arg)))
+ '(("t" . stgit-toggle-worktree)))
+ (setq stgit-mode-map (make-keymap))
+ (suppress-keymap stgit-mode-map)
+ (mapc (lambda (arg) (define-key stgit-mode-map (car arg) (cdr arg)))
+ `((" " . stgit-mark)
+ ("m" . stgit-mark)
+ ("\d" . stgit-unmark-up)
+ ("u" . stgit-unmark-down)
+ ("?" . stgit-help)
+ ("h" . stgit-help)
+ ("\C-p" . stgit-previous-line)
+ ("\C-n" . stgit-next-line)
+ ([up] . stgit-previous-line)
+ ([down] . stgit-next-line)
+ ("p" . stgit-previous-patch)
+ ("n" . stgit-next-patch)
+ ("\M-{" . stgit-previous-patch)
+ ("\M-}" . stgit-next-patch)
+ ("s" . stgit-git-status)
+ ("g" . stgit-reload)
+ ("r" . stgit-refresh)
+ ("\C-c\C-r" . stgit-rename)
+ ("e" . stgit-edit)
+ ("M" . stgit-move-patches)
+ ("S" . stgit-squash)
+ ("N" . stgit-new)
+ ("R" . stgit-repair)
+ ("C" . stgit-commit)
+ ("U" . stgit-uncommit)
+ ("\r" . stgit-select)
+ ("o" . stgit-find-file-other-window)
+ ("i" . stgit-file-toggle-index)
+ (">" . stgit-push-next)
+ ("<" . stgit-pop-next)
+ ("P" . stgit-push-or-pop)
+ ("G" . stgit-goto)
+ ("=" . stgit-show)
+ ("D" . stgit-delete)
+ ([(control ?/)] . stgit-undo)
+ ("\C-_" . stgit-undo)
+ ("B" . stgit-branch)
+ ("t" . ,toggle-map)
+ ("q" . stgit-quit)))))