Skip to content

Declare-zsh is a parser for Zi commands in .zshrc.

License

Notifications You must be signed in to change notification settings

z-shell/declare-zsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Declare Zsh

Introduction

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:

  1. Reading and parsing of the ~/.zshrc.

  2. Making changes (like removal of a plugin, i.e. of zi load {the-removed-plugin} command together with the possible associated zi ice … command) and then…

  3. Writing the result back to the zshrc (by default, the result is stored to ~/.zshrc_gen file for safety, but the author wants to emhasize very strongly, that breaking something within the parsed zshrc is nearly impossible and the tool can be safely used with option -o ~/.zshrc which points declzsh to the original zshrc as the destination output file).

Examples & Screenshots

  1. Example disabling of a plugin via the toggle option -TT – this works because the commands preceded by : are ignored by the shell: screenshot

  2. 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': screenshot

  3. Example deletion of a plugin via the purge option -PP – the argument is treated as pattern, pass * to delete all plugins and snippets!: screenshot

Usage

Multiple actions, i.e. multiple options like -AA, -PP, -DD, etc. are possible in a single declzsh run.

usage screenshot