Estou frequentemente trabalhando com o subversion no console usando seu client svn
. Uma das tarefas comuns é visualizar svn log
; no entanto, sua produção geralmente é bastante grande, apesar da --limit
opção. Eu gostaria de canalizar a saída para o meu $PAGER
(que é less
exato), assim como git log
faz. Eu me pergunto se isso pode ser alcançado com zsh
recursos avançados de conclusão; ou seja, sempre que digito
svn log path1 path2 path3<Enter>
a construção da tubulação será anexada:
svn log path1 path2 path3 | $PAGER
Para mim, isso se parece com o modo como os aliases funcionam, mas do "outro lado".
Isso é possível no zsh?
Responder1
Você pode fazer isso com uma função shell. Basta colocar isso no seu ~/.zshrc
.
svn() {
if [ "$1" = "log" ]
then
command svn "$@" | less -FX
else
command svn "$@"
fi
}
Eu testei isso com bash
and p4
, mas deve funcionar da mesma forma com zsh
and svn
. As -FX
opções para less
dizer para ele sair se o arquivo inteiro couber na primeira tela e não para mudar para a tela alternativa. Isso faz parecer que less
não foi usado se a saída couber em uma tela.