Comandos personalizados do Magit

10

O Magit exibe a progressão de comandos de várias etapas com janelas pop-up. Por exemplo, pressionar cabre o menu de confirmação, de onde pressionar aserá chamado magit-commit-amend.

Eu gostaria de incluir meu próprio comando magit-commit-snapshote invocá-lo com cn.
n: Snapshotdeve ser exibido no menu de confirmação, depois s: Squash.

Como posso fazer isso? Eu posso ver que as ligações existem magit-key-mode.el, mas não vejo uma maneira fácil de adicionar a elas a partir da minha .emacs.

Matthew Piziak
fonte

Respostas:

15

Começando com v2.1.0você pode fazer isso usando o seguinte:

(magit-define-popup-action 'magit-commit-popup
  ?n "Snapshot" 'magit-commit-snapshot)

A próxima versão do Magit substituirá o pop-up por transitório . (No momento da gravação, a versão atual do Magit é a v2.90.1.) Usando transitório, você pode adicionar um comando personalizado com transient-append-suffix:

(transient-append-suffix 'magit-commit "c"
  '("n" "Snapshot" magit-commit-snapshot))

Para obter mais informações, consulte a seção sobre modificação de transientes existentes no manual.

Kyle Meyer
fonte
11
@ Tarso, agradeço como você mantém sua resposta atualizada conforme o Magit muda.
Matthew Piziak
Tarso @ Eu acho que isso não funciona mais transient.el? Existe uma resposta mais atualizada?
Trey