Prezto: `$HISTFILE` não define `.zhistory` após a atualização para o macOS Catalina

Criado em 10 out. 2019  ·  3Comentários  ·  Fonte: sorin-ionescu/prezto

Descrição

A princípio parecia que history-substring-search e autosuggestions não funcionavam, mas o valor de $HISTFILE não estava definido .zhistory .

$ echo $HISTFILE
$ /Users/<user>/.zsh_history

Acho que isso ocorre porque /etc/zshrc é carregado após a atualização do macOS Catalina.
No entanto, como este arquivo não pode ser editado por root , não pode ser resolvido.

Comportamento esperado

O histórico de comandos precisa ser gravado em .zhistory .

Comportamento real

Além de .zhistory , um arquivo .zsh_history será criado.
O histórico anterior não será lido.

Passos para reproduzir

Basta atualizar o macOS.

Versões

  • Pré-compromisso: 2873885
  • Versão ZSH: zsh 5.7.1 (x86_64-apple-darwin18.2.0)
  • Informações do SO: macOS Catalina (10.15) Build: 19A583

Comentários muito úteis

O commit 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 introduziu a permissão de um HISTFILE previamente definido. Como essa variável está definida em /etc/zshrc desde Catalina, seu valor $HOME/.zsh_history tem precedência sobre o usado em .zprezto/modules/history/init.zsh desde então.

Como solução alternativa, adicione o seguinte snippet a .zshrc logo antes da origem do Prezto:

#
# Workaround for: https://github.com/sorin-ionescu/prezto/issues/1744
#
export HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.

O snippet acima define HISTFILE para $HOME/.zhistory que novamente é usado em .zprezto/modules/history/init.zsh em vez do valor definido anteriormente em /etc/zshrc .

Todos 3 comentários

O commit 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 introduziu a permissão de um HISTFILE previamente definido. Como essa variável está definida em /etc/zshrc desde Catalina, seu valor $HOME/.zsh_history tem precedência sobre o usado em .zprezto/modules/history/init.zsh desde então.

Como solução alternativa, adicione o seguinte snippet a .zshrc logo antes da origem do Prezto:

#
# Workaround for: https://github.com/sorin-ionescu/prezto/issues/1744
#
export HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file.

O snippet acima define HISTFILE para $HOME/.zhistory que novamente é usado em .zprezto/modules/history/init.zsh em vez do valor definido anteriormente em /etc/zshrc .

Interessante. Não tenho certeza se queremos substituir isso ou não, pois era um mecanismo que permitia aos usuários substituir a configuração, se quisessem.

Interessante. Não tenho certeza se queremos substituir isso ou não, pois era um mecanismo que permitia aos usuários substituir a configuração, se quisessem.

Eu preferiria alguma configuração no módulo de histórico que me permitisse configurar se qualquer valor predefinido teria precedência ou não. Como:

zstyle ':prezto:module:history:histfile:path' allowoverride 'yes'
Esta página foi útil?
0 / 5 - 0 avaliações