diff --git a/README.md b/README.md
index af78043..28b1084 100644
--- a/README.md
+++ b/README.md
@@ -36,16 +36,10 @@ curl -sL get.fisherman.sh | fish
The Fisherman CLI consists of the following commands: *install*, *update*, *uninstall*, *list*, *search* and *help*.
-Fisherman knows the following aliases too: *i* for install, *u* for update, *l* for list, *s* for search and *h* for help.
+Fisherman knows the following aliases: *i* for install, *u* for update, *l* for list, *s* for search and *h* for help.
### Examples
-* Update Fisherman.
-
-```fish
-fisher update
-```
-
* Install plugins.
```fish
@@ -70,6 +64,12 @@ fisher install owner/repo
fisher install gist.github.com/owner/1f40e1c6e0551b2666b2
```
+* Update Fisherman.
+
+```fish
+fisher update
+```
+
* Update plugins.
```fish
@@ -270,8 +270,8 @@ This file is automatically updated as you install and uninstall plugins.
* $fisher_cache
The cache directory. Plugins are downloaded to this location.
-* $fisher_alias *command*=*alias*[,*alias2*] ...
- Use this variable to customize Fisherman command aliases.
+* $fisher_alias *command*=*alias* ...
+ Use this variable to create aliases of Fisherman commands.
## Plugins
diff --git a/functions/fisher.fish b/functions/fisher.fish
index 7ddffe6..a88eacf 100644
--- a/functions/fisher.fish
+++ b/functions/fisher.fish
@@ -25,26 +25,14 @@ function fisher -d "Fish plugin manager"
switch "$option"
case command
- switch "$version"
- case 2.1.\* 2.0.0
- if test ! -z "$fisher_alias"
- printf "fisher: fish 2.2.0 or above is required to use aliases."
- end
+ set -l IFS =
+ set -l default_alias install=i update=u search=s list=l help=h new=n
- case \*
- if test -z "$fisher_alias"
- set -g fisher_alias install=i update=u search=s list=l help=h
- end
-
- printf "%s\n" $fisher_alias | sed 's/[=,]/ /g' | while read -la alias
- if set -q alias[2]
- switch "$value"
- case $alias[2..-1]
- set value $alias[1]
- break
- end
- end
- end
+ printf "%s\n" $fisher_alias $default_alias | while read -l command alias
+ if test "$value" = "$alias"
+ set value "$command"
+ break
+ end
end
if not functions -q "fisher_$value"
@@ -66,21 +54,27 @@ function fisher -d "Fish plugin manager"
sed 's/^/fisher version /' $fisher_home/VERSION
case help
- printf "Usage: fisher [] [--help] [--version]\n\n"
+ printf "Usage: fisher [] [--help] [--version]\n\n"
set -l color (set_color $fish_color_command -u)
set -l color_normal (set_color normal)
- printf "Available Commands:\n"
+ printf "Commands:\n"
- fisher_help --commands=bare | sed -E "
- s/ (h)/ $color\1$color_normal/
- s/ (i)/ $color\1$color_normal/
- s/ (l)/ $color\1$color_normal/
- s/ (s)/ $color\1$color_normal/
- s/ (u)p/ $color\1$color_normal"p"/
- "
+ __fisher_help_commands | sed "
- printf "\nUse fisher help to access a man page.\n"
+ s/^/ /
+ s/;/"\t" /
+
+ " | column -ts\t | sed -E "
+ s/^ (h)(elp)/ $color\1$color_normal\2/
+ s/^ (i)(nstall)/ $color\1$color_normal\2/
+ s/^ (s)(earch)/ $color\1$color_normal\2/
+ s/^ (u)(pdate)/ $color\1$color_normal\2/
+ s/^ (l)(ist)/ $color\1$color_normal\2/
+ s/^ (n)(ew)/ $color\1$color_normal\2/
+ "
+
+ printf "\nUse fisher help to get help.\n"
end
end
diff --git a/functions/fisher_help.fish b/functions/fisher_help.fish
index f823a8d..0e28ef8 100644
--- a/functions/fisher_help.fish
+++ b/functions/fisher_help.fish
@@ -13,16 +13,12 @@ function fisher_help -d "Show help"
set option man
set value $2
- case commands
- set option $option commands
- set value $2
-
case usage
set option usage
set value $value $2
case h
- printf "Usage: fisher help [] [--help]\n"
+ printf "Usage: fisher help []\n"
return
case \*
@@ -32,10 +28,6 @@ function fisher_help -d "Show help"
end
end
- if not set -q option[1]
- set option commands
- end
-
switch "$option"
case man
set -l value (printf "%s\n" $value | awk '{ print tolower($0) }')
@@ -50,15 +42,5 @@ function fisher_help -d "Show help"
case usage
__fisher_help_usage $value
-
- case \*
- if test "$value" != bare
- fisher --help=$option
- return
- end
-
- if contains -- commands $option
- __fisher_help_commands
- end | sed 's/^/ /;s/;/'\t'/' | column -ts\t
end
end
diff --git a/man/man1/fisher-help.1 b/man/man1/fisher-help.1
index a15c46a..766fe1a 100644
--- a/man/man1/fisher-help.1
+++ b/man/man1/fisher-help.1
@@ -1,13 +1,13 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "FISHER\-HELP" "1" "February 2016" "" "fisherman"
+.TH "FISHER\-HELP" "1" "March 2016" "" "fisherman"
.
.SH "NAME"
\fBfisher\-help\fR \- Show help about Fisherman
.
.SH "SYNOPSIS"
-fisher help [\fIkeyword\fR] [\-\-all] [\-\-guides] [\-\-usage[=\fIcommand\fR]] [\-\-help]
+fisher help [\fIcommand\fR] [\-\-help]
.
.br
.
@@ -15,12 +15,6 @@ fisher help [\fIkeyword\fR] [\-\-all] [\-\-guides] [\-\-usage[=\fIcommand\fR]] [
fisher help \fIcommand\fR
.
.br
-fisher help \fIguide\fR
-.
-.br
-fisher help \-\-usage=[\fIcommand\fR]
-.
-.br
.
.SH "DESCRIPTION"
Help displays \fIcommand\fR documentation, usage, guides and tutorials\.
@@ -51,71 +45,8 @@ There are utilities that can help you generate man pages from other text formats
.SH "OPTIONS"
.
.TP
-\-a, \-\-all
-List all available commands and guides\.
-.
-.TP
-\-g, \-\-guides[=\fIbare\fR]
-List guides / tutorials\. Use \fIbare\fR to generate easy to parse output\.
-.
-.TP
-\-\-commands[=\fIbare\fR]
-List commands\. This is the default behavior of fisher help\. Use \fIbare\fR to generate easy to parse output\.
-.
-.TP
-\-\-usage[=\fIcommand\fR]
-Display usage help for \fIcommand\fR\. To teach Fisherman how to display help for your command, \fIcommand\fR must implement a \-h flag\.
-.
-.TP
\-h, \-\-help
Show usage help\.
.
-.SH "EXAMPLES"
-.
-.IP "\(bu" 4
-Show all the existing documentation\.
-.
-.IP "" 0
-.
-.IP "" 4
-.
-.nf
-
-fisher help \-\-all
-.
-.fi
-.
-.IP "" 0
-.
-.IP "\(bu" 4
-Show help about help\.
-.
-.IP "" 0
-.
-.IP "" 4
-.
-.nf
-
-fisher help help
-.
-.fi
-.
-.IP "" 0
-.
-.IP "\(bu" 4
-Show usage help for all available commands\.
-.
-.IP "" 0
-.
-.IP "" 4
-.
-.nf
-
-fisher help \-\-commands=bare | fisher help \-\-usage
-.
-.fi
-.
-.IP "" 0
-.
.SH "SEE ALSO"
man(1), fisher(1)
diff --git a/man/man1/fisher-help.md b/man/man1/fisher-help.md
index e337a7e..18f30d7 100644
--- a/man/man1/fisher-help.md
+++ b/man/man1/fisher-help.md
@@ -3,13 +3,11 @@ fisher-help(1) -- Show help about Fisherman
## SYNOPSIS
-fisher help [*keyword*] [--all] [--guides] [--usage[=*command*]] [--help]
+fisher help [*command*] [--help]
## USAGE
fisher help *command*
-fisher help *guide*
-fisher help --usage=[*command*]
## DESCRIPTION
@@ -31,41 +29,9 @@ There are utilities that can help you generate man pages from other text formats
## OPTIONS
-* -a, --all:
- List all available commands and guides.
-
-* -g, --guides[=*bare*]:
- List guides / tutorials. Use *bare* to generate easy to parse output.
-
-* --commands[=*bare*]:
- List commands. This is the default behavior of fisher help. Use *bare* to generate easy to parse output.
-
-* --usage[=*command*]:
- Display usage help for *command*. To teach Fisherman how to display help for your command, *command* must implement a -h flag.
-
* -h, --help:
Show usage help.
-## EXAMPLES
-
-* Show all the existing documentation.
-
-```
-fisher help --all
-```
-
-* Show help about help.
-
-```
-fisher help help
-```
-
-* Show usage help for all available commands.
-
-```
-fisher help --commands=bare | fisher help --usage
-```
-
## SEE ALSO
man(1), fisher(1)
diff --git a/man/man1/fisher.1 b/man/man1/fisher.1
index 1352ef3..a087fd6 100644
--- a/man/man1/fisher.1
+++ b/man/man1/fisher.1
@@ -7,7 +7,7 @@
\fBfisher\fR \- Fish plugin manager
.
.SH "SYNOPSIS"
-fisher \fIcommand\fR [\fIarguments\fR] [\-\-version] [\-\-help]
+fisher \fIcommand\fR [\fIoptions\fR] [\-\-version] [\-\-help]
.
.br
.
@@ -24,7 +24,7 @@ Run a command\.
.
.nf
-fisher []
+fisher []
.
.fi
.
@@ -44,7 +44,7 @@ fisher help
.IP "" 0
.
.P
-Fisherman knows the following too: \fIi\fR for install, \fIu\fR for update, \fIl\fR for list, \fIs\fR for search and \fIh\fR for help\.
+Fisherman knows the following aliases: \fIi\fR for install, \fIu\fR for update, \fIl\fR for list, \fIs\fR for search and \fIh\fR for help\.
.
.SH "OPTIONS"
.
@@ -57,19 +57,6 @@ Show version information\. Fisherman follows Semantic Versioning and uses Git an
Show usage help\.
.
.SH "EXAMPLES"
-Update Fisherman\.
-.
-.IP "" 4
-.
-.nf
-
-fisher update
-.
-.fi
-.
-.IP "" 0
-.
-.P
Install plugins\.
.
.IP "" 4
@@ -122,6 +109,19 @@ fisher install gist\.github\.com/owner/1f40e1c6e0551b2666b2
.IP "" 0
.
.P
+Update Fisherman\.
+.
+.IP "" 4
+.
+.nf
+
+fisher update
+.
+.fi
+.
+.IP "" 0
+.
+.P
Update plugins\.
.
.IP "" 4
@@ -447,8 +447,8 @@ $fisher_cache
The cache directory\. Plugins are downloaded to this location\.
.
.TP
-$fisher_alias \fIcommand\fR=\fIalias\fR[,\fIalias2\fR] \.\.\.
-Use this variable to customize Fisherman command aliases\.
+$fisher_alias \fIcommand\fR=\fIalias\fR \.\.\.
+Use this variable to create aliases of Fisherman commands\.
.
.SH "PLUGINS"
Plugins can be utilities, prompts, commands or snippets\.
diff --git a/man/man1/fisher.md b/man/man1/fisher.md
index b41614b..94c3693 100644
--- a/man/man1/fisher.md
+++ b/man/man1/fisher.md
@@ -3,7 +3,7 @@ fisher(1) -- Fish plugin manager
## SYNOPSIS
-fisher *command* [*arguments*] [--version] [--help]
+fisher *command* [*options*] [--version] [--help]
## DESCRIPTION
@@ -16,7 +16,7 @@ The CLI consists of the following commands: *install*, *update*, *uninstall*, *l
Run a command.
```
-fisher []
+fisher []
```
Get help about a command.
@@ -25,7 +25,7 @@ Get help about a command.
fisher help
```
-Fisherman knows the following too: *i* for install, *u* for update, *l* for list, *s* for search and *h* for help.
+Fisherman knows the following aliases: *i* for install, *u* for update, *l* for list, *s* for search and *h* for help.
## OPTIONS
@@ -37,12 +37,6 @@ Fisherman knows the following too: *i* for install, *u* for update, *l* for list
## EXAMPLES
-Update Fisherman.
-
-```fish
-fisher update
-```
-
Install plugins.
```fish
@@ -67,6 +61,12 @@ Install a plugin from a Gist URL.
fisher install gist.github.com/owner/1f40e1c6e0551b2666b2
```
+Update Fisherman.
+
+```fish
+fisher update
+```
+
Update plugins.
```
@@ -266,8 +266,8 @@ This file is automatically updated as you install and uninstall plugins.
* $fisher_cache:
The cache directory. Plugins are downloaded to this location.
-* $fisher_alias *command*=*alias*[,*alias2*] ...:
- Use this variable to customize Fisherman command aliases.
+* $fisher_alias *command*=*alias* ...:
+ Use this variable to create aliases of Fisherman commands.
## PLUGINS
diff --git a/test/fisher.fish b/test/fisher.fish
index 1e9210b..289fe44 100644
--- a/test/fisher.fish
+++ b/test/fisher.fish
@@ -1,7 +1,7 @@
set -l mock_command awk
function -S setup
- set -g fisher_alias "$mock_command=A,B"
+ set -g fisher_alias "$mock_command=A"
function fisher_$mock_command
if not set -q argv[1]
@@ -29,17 +29,20 @@ test "$TESTNAME - Display version information"
end
test "$TESTNAME - Handle \$fisher_alias aliases"
- (fisher A; fisher B) = (fisher $mock_command; fisher $mock_command)
+ (fisher A) = (
+ fisher $mock_command
+ fisher $mock_command
+ )
end
test "$TESTNAME - Display usage help"
- (fisher | sed 1q) = "Usage: fisher [] [--help] [--version]"
+ (fisher | sed 1q) = "Usage: fisher [] [--help] [--version]"
end
test "$TESTNAME - Display basic information help info about 'help'"
- (fisher | tail -n2 | xargs) = "Use fisher help to access a man page."
+ (fisher | tail -n2 | xargs) = "Use fisher help to get help."
end
test "$TESTNAME - Display basic information about available commands"
- (fisher | sed -E 's/ +//' | grep "^$mock_command\$")
+ (fisher | sed -E 's/^[ ]+//' | grep "^$mock_command")
end
diff --git a/test/fixtures/help/usage.txt b/test/fixtures/help/usage.txt
index 1fa97a9..a60e084 100644
--- a/test/fixtures/help/usage.txt
+++ b/test/fixtures/help/usage.txt
@@ -28,4 +28,4 @@ Usage: fisher install [] [--force] [--quiet] [--help]
-f --force Reinstall given plugin/s
-q --quiet Enable quiet mode
-h --help Show usage help
-Usage: fisher help [] [--help]
+Usage: fisher help []
diff --git a/test/help.fish b/test/help.fish
index 70e5365..b5ee3f1 100644
--- a/test/help.fish
+++ b/test/help.fish
@@ -28,5 +28,7 @@ for i in $sections
end
test "$TESTNAME - Display usage help for every command"
- (cat $DIRNAME/fixtures/help/usage.txt) = (fisher help --commands=bare | fisher help --usage)
+ (cat $DIRNAME/fixtures/help/usage.txt) = (
+ __fisher_help_commands | cut -f1 -d \; | fisher help --usage
+ )
end
diff --git a/test/man.fish b/test/man.fish
deleted file mode 100644
index 48eb904..0000000
--- a/test/man.fish
+++ /dev/null
@@ -1,8 +0,0 @@
-# We need to iterate over each page because piping to | xargs man will use
-# the system `man` instead of our fish-only wrapper.
-
-for page in (fisher help --commands=bare | awk '{ print "fisher-"$1 }')
- test "$TESTNAME - Wrap man and add fisherman to MANPATH to display fisher docs"
- "$page(1)" = (man $page | awk '{ print tolower($1); exit }')
- end
-end