Posso ter a opção git-log "--all" inicialmente selecionada?

7

Quando pressiono a tecla "l" no modo de status principal do Magit, ela abre uma janela onde eu posso ajustar as opções a serem passadas para o magit logcomando. Posso providenciar para que a --allopção seja sempre selecionada inicialmente, exatamente como a --graphopção é?

Sean
fonte
Chegará o dia em que você não quer isso, mas será tarde demais.
Sean Allred
Veja #magit-key-mode.el:715
Sean Allred
Tarde demais para quê?
Sean
Oh, minhas desculpas :) Confundi a --allopção de exibir todas as entradas de log. Meu erro! :)
Sean Allred

Respostas:

8

Você pode definir um comando personalizado para fazer o que deseja e vinculá-lo la substituir o comportamento padrão:

(defun magit-log-all ()
  (interactive)
  (magit-key-mode-popup-logging)
  (magit-key-mode-toggle-option (quote logging) "--all"))

(define-key magit-mode-map (kbd "l") 'magit-log-all)

Com isso, pressionar lin magit-modeseleciona automaticamente a --allopção no menu que aparece.


Informação adicional

Caso você esteja curioso, eis como cheguei à solução acima: Existem duas etapas envolvidas no que você está fazendo no momento para definir opções git log. Primeiro, você abre o menu para escolher opções pressionando l. Para dizer magitpara passar a --allopção git log, você precisa pressionar -al. Se você deseja definir um comando personalizado para automatizar esse processo, precisa saber quais comandos estão vinculados a essas teclas pressionadas. Esta informação pode ser obtida pressionando C-h c( describe-key-briefly) ou C-h k( describe-key) seguido da sequência de teclas que você deseja examinar.

  1. C-h c lem um magit-modebuffer fornece:

    l executa o comando magit-key-mode-popup-logging

  2. C-h c -al depois de pressionar l um magit-modebuffer, obtém:

    - a l executa o comando (lambda nil (interactive) (magit-key-mode-toggle-option (quote logging) "--all"))

Equipado com essas informações, basta criar um comando que chame as funções relevantes na ordem correta.

itsjeyd
fonte
Eu esperava uma configuração, mas isso funcionaria bem. Outras opções incluem aconselhamento magit-key-mode-popup-logginge ligação la uma macro do teclado.
Sean
@Sean Eu abriria um problema no GitHub - ele é anotado no código como algo que precisa ser melhorado; talvez eles estivessem esperando alguém com essa necessidade.
Sean Allred
2
Não há necessidade disso, no próximo ramo o suporte para definir argumentos padrão já está implementado.
tarsius
2

A partir v2.1.0do pop-up de registro do Magit, não há mais o --allargumento infix. Em vez disso, o pop-up fornece três novos comandos de sufixo relacionados .

  • l LRegistrar filiais locais ( --branches)
  • l bRegistrar todas as filiais ( --branches --remotes)
  • l aRegistrar todas as referências ( --all)

Embora não seja mais possível (ou necessário) definir o --allargumento, convém alterar o valor padrão de outro argumento. Veja Como posso ativar o sinalizador `--verbose` por padrão na tela de confirmação do magit? para obter informações sobre isso.

tarso
fonte