Fisherman v0.2.0
* Improved README, added links to screencasts, updated
documentation with new changes and fixed other typos and
composition errors.
* Removed `fisher update --cache` in favor of
`fisher --cache | fisher update` and
`fisher uninstall --all` in favor of
`fisher --cache | fisher uninstall`.
* Fisherman does not move initialization / configuration
files following the convention `name`.config.fish to
`$fisher_config/functions`, but to `$fisher_config/conf.d`
now and evaluates each `*.config.fish` inside at shell
start as usual. Closes #13.
* Added `fisher --cache[=base]` option to retrieve contents
in `$fisher_cache`, eliminating flaky usage of `find(1)`.
Closes #11.
* Fisherman now generates information about plugins installed
via custom URLs. For the description, a shortened version of
the URL is used. For the URL the full URL is used. For tags,
the URL is fuzzily checked and tags such as _theme_, _plugin_,
_config_ and _omf_ are added. The tag _orphan_ is added by
default as well. Finally, the author is generated by
retrieving the e-mail or username of the author of the
first commit in the plugin's repository. Closes #9 and #14.
* Changed `--path-in-cache` to `--translate.` This function
translates an name or supported URL/URL variation into a path
inside `$fisher_cache`. This allows you to treat plugins
installed via custom URLs almost like regular plugins if they
are installed. Closes #8.
* Fixed a bug with `mktemp` failing on some systems.
Closes #7. Thanks @tobywf.
* Added [CODE_OF_CONDUCT][code_of_conduct]. Closes #6.
* Fisherman can now unload themes within the same shell,
without having to restart the session. Closes #5.
* Fisherman can now load themes within the same shell,
without having to restart the session using `exec fish`.
Shoddy themes, for example those failing to declare global
variables with the `-g` flag still require the session to
be reset. See [**related**][bobthefish-19]. Closes #4.
* Move `getopts` implementation to `share/getopts.awk`.
Closes #3.
* Support dots inside URIs in `fisher --validate`.
Closes #2.
2016-01-03 03:35:56 +00:00
|
|
|
set -l IFS ";"
|
2016-01-10 19:55:59 +00:00
|
|
|
|
2016-01-01 21:12:40 +00:00
|
|
|
for option in commands guides
|
2016-01-10 07:01:07 +00:00
|
|
|
fisher_help --$option=bare | sed -E 's/^ *([^ ]+) *(.*)/\1;\2/' | while read -l cmd info
|
2016-01-01 21:12:40 +00:00
|
|
|
|
2016-01-10 07:01:07 +00:00
|
|
|
complete -c fisher -n "__fish_seen_subcommand_from help" -a $cmd -d "$info"
|
2016-01-01 21:12:40 +00:00
|
|
|
|
2016-01-10 19:55:59 +00:00
|
|
|
if test $option != guides
|
|
|
|
complete -c fisher -n "__fish_use_subcommand" -a $cmd -d "$info"
|
|
|
|
|
|
|
|
fisher_help --usage=$cmd | __fisher_parse_help OFS=';' | while read -l 1 2 3
|
|
|
|
complete -c fisher -n "__fish_seen_subcommand_from $cmd" -s "$3" -l "$2" -d "$1"
|
|
|
|
end
|
2016-01-01 21:12:40 +00:00
|
|
|
end
|
2016-01-10 19:55:59 +00:00
|
|
|
end
|
|
|
|
end
|
2016-01-01 21:12:40 +00:00
|
|
|
|
2016-01-10 19:55:59 +00:00
|
|
|
begin
|
2016-01-01 21:12:40 +00:00
|
|
|
|
2016-01-10 19:55:59 +00:00
|
|
|
for plugin in (__fisher_list)
|
|
|
|
printf "%s;%s\n" $plugin ""
|
|
|
|
end
|
|
|
|
|
|
|
|
awk -F '\n' -v RS='' -v OFS=';' '/^ *#/ { next } { print $1, $3 }' $fisher_cache/.index
|
|
|
|
|
|
|
|
end | while read -l name info
|
|
|
|
if contains -- $name $fisher_plugins
|
|
|
|
complete -c fisher -n "__fish_seen_subcommand_from u update un uninstall" -a "$name" -d "$info"
|
|
|
|
else
|
|
|
|
complete -c fisher -n "__fish_seen_subcommand_from install i" -a "$name" -d "$info"
|
2016-01-01 21:12:40 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-01-10 19:55:59 +00:00
|
|
|
complete -c fisher -n "__fish_seen_subcommand_from search" -a "\t"
|
|
|
|
complete -c fisher -n "__fish_use_subcommand" -s l -l list -d "List plugins in the cache"
|
|
|
|
complete -c fisher -n "__fish_use_subcommand" -s f -l file -d "Read fishfiles"
|
|
|
|
complete -c fisher -n "__fish_use_subcommand" -s h -l help -d "Display help"
|
|
|
|
complete -c fisher -n "__fish_use_subcommand" -s v -l version -d "Show version information"
|
|
|
|
|
|
|
|
complete -xc fisher -d "Ahoy! Fisherman"
|