Reword plugin writing guidelines

This commit is contained in:
Joe Block 2015-03-31 18:56:06 -07:00
parent 67d3ab23a5
commit 22aed12ad4

View file

@ -2,12 +2,12 @@
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.
1. 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](https://github.com/robbyrussell/oh-my-zsh) users install it with a simple `git clone git@github.com:you/yourplugin.git` in the `custom/plugins` directory. This will also let [Antigen](https://github.com/zsh-users/antigen) and [zgen](https://github.com/tarjoilija/zgen) users automatically clone the repository without having to specify a subdirectory path.
1. 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 allows [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) users install it with a simple `git clone git@github.com:you/yourplugin.git` in the `custom/plugins` directory and also let [Antigen](https://github.com/zsh-users/antigen) and [zgen](https://github.com/tarjoilija/zgen) users automatically clone the repository without having to specify a subdirectory path.
2. 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 when the user renames your plugin directory.
2. Only oh-my-zsh sets the `${ZSH_CUSTOM}` variable. `$(dirname $0)` will also tell you what directory your plugin is installed in and has the advantage of both being cross-framework and not breaking when a user inevitably renames your plugin directory.
3. 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.
4. Use `yourplugin.plugin.zsh` for the main plugin file. This is what [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) expects. [Antigen](https://github.com/zsh-users/antigen), [zgen](https://github.com/tarjoilija/zgen) and most other ZSH frameworks support that filename.
4. Use `yourplugin.plugin.zsh` for the main plugin file. This is what [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) expects. [Antigen](https://github.com/zsh-users/antigen), [zgen](https://github.com/tarjoilija/zgen) and most other ZSH frameworks will automatically load that filename.
5. Submit a PR here so your plugin is easy to find :-)