- Add configurable hooks in templates (#150). This allows you to specify
arbitrary hooks for a plugin that can be used in templates. These are
specified under `plugins.<name>.hooks`. The default `source` templates have
been updated to support hooks with the names `pre` and `post`. The `pre` hook
will be inserted before the plugin is sourced and the `post` after the plugin
is sourced. If you are using a custom template like `defer` it will need to
be updated to support hooks.
For example this can be used to set variables after a plugin is sourced.
[plugins.enhancd]
github = "b4b4r07/enhancd"
[plugins.enhancd.hooks]
post = 'export ENHANCD_HOOK_AFTER_CD = "ls"'
- Add --non-interactive option to suppress prompts (#163). This option is
defined as a global option so it must be specified before the subcommand.
sheldon --non-interactive init --shell zsh
- Add experimental fish shell support (#128). It is now possible to initialize
Sheldon to use the Fish shell.
sheldon init --shell fish
This makes Sheldon change the global matches and templates to be tailored to
Fish. Add the following to your Fish config
eval "$(sheldon source)"
- Fix 'PermissionDenied' during rename of temporary clone directory (#162).
- Plugins from Git repositories
- Branch / tag / commit support
- Submodule support
- First class support for GitHub repositories
- First class support for Gists
- Arbitrary remote scripts or binary plugins
- Local plugins
- Inline plugins