declare-zsh is a parser for zi commands in .zshrc. It allows to perform the following actions on .zshrc from the command-line:
- enable and disable selected plugins and snippets,
- add plugins and snippets,
- delete plugins and snippets,
- it currently supports the classic ZI syntax only, i.e.: the one with two
(
zi ice …,zi load/snippet …) commands.
In other words, by issuing a declzsh command the user deploys a task of:
-
Reading and parsing of the
~/.zshrc. -
Making changes (like removal of a plugin, i.e. of
zi load {the-removed-plugin}command together with the possible associatedzi ice …command) and then… -
Writing the result back to the
zshrc(by default, the result is stored to~/.zshrc_genfile for safety, but the author wants to emhasize very strongly, that breaking something within the parsedzshrcis nearly impossible and the tool can be safely used with option-o ~/.zshrcwhich pointsdeclzshto the originalzshrcas the destination output file).
-
Example disabling of a plugin via the toggle option -TT – this works because the commands preceded by
:are ignored by the shell:
-
Example addition of a plugin via the option -AA – in order to also set up ice modifiers enclose them in a preceding square-bracket block, i.e.
declzsh -AA '[ wait"1" lucid ] z-shell/null':
-
Example deletion of a plugin via the purge option -PP – the argument is treated as pattern, pass
*to delete all plugins and snippets!:
Multiple actions, i.e. multiple options like -AA, -PP, -DD, etc. are
possible in a single declzsh run.
