Existe um equivalente fish para precmd (zsh) / PROMPT_COMMAND (bash)?
Estou procurando uma maneira de armazenar um histórico mais abrangente com caminho, data e comando em um arquivo de log separado
Existem várias maneiras de fazer isso. O prompt de Fish é um pedaço de código em uma função chamada fish_prompt
. Você pode modificá-lo via funced fish_prompt
e depois salvar essas alterações no disco com funcsave fish_prompt
(isso irá armazená-lo em ~ / .config / fish / functions / fish_prompt.fish, que você também pode modificar diretamente se assim o desejar).
Caso contrário, existe o evento fish_prompt
que será disparado antes de um prompt. Você pode escrever um ouvinte para ele, como
function dostuff --on-event fish_prompt
# do your stuff
end
Observe que isso não pode ser salvo no diretório de funções, pois essas são carregadas automaticamente. Salve-o em config.fish, um arquivo obtido por ele ou (na próxima versão do fish) ~ / .config / fish / conf.d (em um arquivo que termina em ".fish").
Há também os eventos fish_preexec
e fish_postexec
que serão disparados imediatamente antes / depois de um trabalho, respectivamente.
@gawells , isso respondeu à sua pergunta?
Sim obrigou
Comentários muito úteis
Existem várias maneiras de fazer isso. O prompt de Fish é um pedaço de código em uma função chamada
fish_prompt
. Você pode modificá-lo viafunced fish_prompt
e depois salvar essas alterações no disco comfuncsave fish_prompt
(isso irá armazená-lo em ~ / .config / fish / functions / fish_prompt.fish, que você também pode modificar diretamente se assim o desejar).Caso contrário, existe o evento
fish_prompt
que será disparado antes de um prompt. Você pode escrever um ouvinte para ele, comoObserve que isso não pode ser salvo no diretório de funções, pois essas são carregadas automaticamente. Salve-o em config.fish, um arquivo obtido por ele ou (na próxima versão do fish) ~ / .config / fish / conf.d (em um arquivo que termina em ".fish").
Há também os eventos
fish_preexec
efish_postexec
que serão disparados imediatamente antes / depois de um trabalho, respectivamente.