tarjoilija / zgen

A lightweight and simple plugin manager for ZSH
BSD 2-Clause "Simplified" License
1.49k stars 98 forks source link

Fix assignment of variable ZSH #114

Open laggardkernel opened 5 years ago

laggardkernel commented 5 years ago

Details about this in #111.

In short, prezto doesn't use ZSH variable at all. Only oh-my-zsh needs this variable ZSH. If ZSH directs to path of prezto, error occurs during loading of oh-my-zsh:

/Users/<username>/.zgen/robbyrussell/oh-my-zsh-master/oh-my-zsh.sh:34: no matches found: /Users/<username>/.zgen/sorin-ionescu/prezto-master/lib/*.zsh

And here is where the error above occurred,

# from oh-my-zsh.sh, starts at line 32
# Load all of the config files in ~/oh-my-zsh that end in .zsh
# TIP: Add files you don't want in git to .gitignore
for config_file ($ZSH/lib/*.zsh); do
  custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}"
  [ -f "${custom_config_file}" ] && config_file=${custom_config_file}
  source $config_file
done

So, ZSH should always directs to path of oh-my-zsh repo.

Besides, in init.zsh generated by zgen, sorin-ionescu/prezto-master/init.zsh should be sourced after robbyrussell/oh-my-zsh-master/oh-my-zsh.sh. Or prompt theme from prezto module named prompt may failed to be loaded. This could be achieved in configuration file, by writing zgen prezto after zgen oh-my-zsh, which tip I added into README.md.