Comandos personalizados Magit

10

Magit muestra la progresión de comandos de varios pasos con ventanas emergentes. Por ejemplo, al presionar se cabre el menú de confirmación, de donde ase invocará al presionar magit-commit-amend.

Me gustaría incluir mi propio comando magit-commit-snapshote invocarlo con cn.
n: Snapshotdebería mostrarse en el menú de confirmación, después s: Squash.

¿Cómo puedo hacer esto? Puedo ver que existen los enlaces magit-key-mode.el, pero no veo una manera fácil de agregarlos desde mi .emacs.

Matthew Piziak
fuente

Respuestas:

15

Comenzando con esto v2.1.0, puede hacerlo usando esto:

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

La próxima versión de Magit reemplazará magit-popup con transitoria . (Al momento de escribir, la versión actual de Magit es v2.90.1.) Usando transitoria, puede agregar un comando personalizado con transient-append-suffix:

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

Para obtener más información, consulte la sección sobre modificación de transitorios existentes en el manual.

Kyle Meyer
fuente
1
@tarsius, aprecio cómo mantienes tu respuesta actualizada a medida que cambia Magit.
Matthew Piziak
@tarsius Creo que esto ya no funciona transient.el? ¿Hay una respuesta más actualizada?
Trey