mirror of
https://github.com/unixorn/awesome-zsh-plugins
synced 2024-11-22 09:23:01 +00:00
Start writing a "Writing Plugins" doc
This commit is contained in:
parent
ef2bc60a48
commit
46c327d4c9
1 changed files with 11 additions and 0 deletions
|
@ -0,0 +1,11 @@
|
|||
# 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.
|
||||
|
||||
1. Make 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. [Antigen](https://github.com/zsh-users/antigen) and [zgen](https://github.com/tarjoilija/zgen) users will be able to automatically clone the repository without having to specify subdirectories.
|
||||
|
||||
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 if the user renames your plugin directory.
|
||||
|
||||
3. Don't assume your plugin will be checked out into a directory with the same name as 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) uses, and [antigen](https://github.com/zsh-users/antigen), [zgen](https://github.com/tarjoilija/zgen) and most other frameworks support it as well.
|
Loading…
Reference in a new issue