1.5 KiB
Writing Plugins
Try and keep your plugins as cross-framework compatible as possible. Here are some suggestions to make using your plugin as simple as possible, no matter what framework someone is using.
-
Make using it easier for everyone and put the plugin file at the root level of your plugin repository instead of in a subdirectory. This will let oh-my-zsh users install it with a simple
git clone git@github.com:you/yourplugin.git
in thecustom/plugins
directory. Antigen and zgen users will be able to automatically clone the repository without having to specify subdirectories. -
Only oh-my-zsh sets the
${ZSH_CUSTOM}
variable.$(dirname $0)
will also tell you what directory your plugin is installed in, has the advantage of being cross-framework and won't break if the user renames your plugin directory. -
Don't assume your plugin will be checked out into a directory with the same name you gave the plugin. This is another case where
$(dirname ${0})
will work and${ZSH_CUSTOM}/hardcoded-directory
will fail. -
Use
yourplugin.plugin.zsh
for the main plugin file. This is what oh-my-zsh expects. Antigen, zgen and most other ZSH frameworks support that filename. -
Submit a PR here so your plugin is easy to find :-)