fisher/man/man1/fisher-search.1
Jorge Bucaran 9a4f0f0650
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-05 06:05:11 +09:00

255 lines
5.4 KiB
Groff

.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "FISHER\-SEARCH" "1" "January 2016" "" "fisherman"
.
.SH "NAME"
\fBfisher\-search\fR \- Search Fisherman Index
.
.SH "SYNOPSIS"
fisher \fBsearch\fR [\fIname\fR or \fIurl\fR]
.
.br
fisher \fBsearch\fR [\fB\-\-select\fR=\fIall\fR|\fIcache\fR|\fIremote\fR]
.
.br
fisher \fBsearch\fR [\fB\-\-field\fR=\fIname\fR|\fIurl\fR|\fIinfo\fR|\fItag\fR|\fIauthor\fR]
.
.br
fisher \fBsearch\fR [\fB\-\-\fR\fIfield\fR=\fImatch\fR]
.
.br
fisher \fBsearch\fR [\fB\-\-\fR\fIfield\fR~\fB/\fR\fIregex\fR\fB/\fR]
.
.br
fisher \fBsearch\fR [\fB\-\-query\fR=\fIfield\fR[\fB&&\fR,\fB||\fR]\fIfield\fR\.\.\.]
.
.br
fisher \fBsearch\fR [\fB\-\-and\fR] [\fB\-\-or\fR] [\fB\-\-quiet\fR] [\fB\-\-help\fR]
.
.br
.
.SH "USAGE"
fisher \fBsearch\fR \fIplugin\fR
.
.br
fisher \fBsearch\fR \fIowner/repo\fR
.
.br
fisher \fBsearch\fR \-\-field=\fIname\fR \-\-select=all | column
.
.br
fisher \fBsearch\fR \-\-tag=tag1 \-\-and \-\-tag=tag2
.
.SH "DESCRIPTION"
Search the Fisherman index database\. You can use a custom index file by setting \fB$fisher_index\fR to your preferred url or file\. See \fBfisher help config\fR and \fBfisher\fR(7)#{\fBIndex\fR}\.
.
.P
A copy of the index is downloaded each time a search query happens, keeping the index up to date all the time\.
.
.P
The index file consists of records separated by blank lines \fB\'\en\en\'\fR and each record consists of fields separated by a single line \fB\'\en\'\fR\.
.
.IP "" 4
.
.nf
name
url
info | description
tag1 tag2 \.\.\.
author
.
.fi
.
.IP "" 0
.
.P
See #{\fBOutput\fR} for more information\.
.
.SH "OPTIONS"
.
.TP
\fB\-s\fR \fB\-\-select\fR[=\fIall\fR|\fIcache\fR|\fIremote\fR]
Select the record source\. \-\-select=\fIcache\fR queries only local plugins, i\.e\., those inside \fB$fisher_cache\fR\. \-\-select=\fIremote\fR queries all plugins not in the cache, i\.e, those available to install\. \-\-select=\fIall\fR queries everything\.
.
.TP
\fB\-f\fR \fB\-\-field\fR=\fIname\fR|\fIurl\fR|\fIinfo\fR|\fItag\fR|\fIauthor\fR
Display only the given fields from the selected records\. Use \-\-\fIfield\fR instead as a shortcut for \fB\-\-field\fR=name\.
.
.TP
\-\-\fIfield\fR[=\fImatch\fR]
Filter the result set by \fIfield\fR=\fImatch\fR, where \fIfield\fR can be one or more of \fBname\fR, \fBurl\fR, \fBinfo\fR, \fBtag\fR or \fBauthor\fR\. If \fImatch\fR is not given, this is equivalent to \fB\-\-select\fR=\fIfield\fR\. Use \fB!=\fR to negate the query\.
.
.TP
\-\-\fIfield\fR[~\fB/\fR\fIregex\fR\fB/\fR]
Essentially the same as \-\-\fIfield\fR=\fImatch\fR, but with Regular Expression support\. \-\-\fIfield\fR~\fB/\fR\fIregex\fR\fB/\fR filters the result set using the given \fB/\fR\fIregex\fR\fB/\fR\. For example, \-\-name=\fB/\fR^\fImatch\fR$\fB/\fR is the same as \-\-\fIfield\fR=\fImatch\fR and \-\-url~\fB/\fRoh\-my\-fish\fB/\fR selects only Oh My Fish! plugins\. Use \fB!~\fR to negate the query\.
.
.TP
\fB\-a\fR \fB\-\-and\fR
Join query with a logical AND operator\.
.
.TP
\fB\-o\fR \fB\-\-or\fR
Join query with a logical OR operator\. This the default operator for each query operation\.
.
.TP
\fB\-Q\fR \fB\-\-query\fR=\fIfield\fR[\fB&&\fR,\fB||\fR]\fIfield\fR\.\.\.
Use a custom search expression\. For example, \-\-query=\'name~\fB/\fR[0\-9]\fB/\fR||name~\fB/\fR^[xyz]\fB/\fR\' selects all plugins that contain numbers in their name \fIor\fR begin with the characters \fIx\fR, \fIy\fR or \fIz\fR\.
.
.TP
\fB\-q\fR \fB\-\-quiet\fR
Enable quiet mode\.
.
.TP
\fB\-h\fR \fB\-\-search\fR
Show usage search\.
.
.SH "OUTPUT"
The default behavior is to print the result set to standard output in its original format\.
.
.IP "" 4
.
.nf
fisher search shark
.
.fi
.
.IP "" 0
.
.P
\fB\.\.\.\fR
.
.IP "" 4
.
.nf
shark
https://github\.com/bucaran/shark
Sparklines for your Fish
chart tool
bucaran
.
.fi
.
.IP "" 0
.
.P
Search is optimized for parsing when using filters: \fB\-\-name\fR, \fB\-\-url\fR, \fB\-\-info\fR, \fB\-\-tags\fR, \fB\-\-author\fR or \fB\-\-field\fR=\fIname\fR|\fIurl\fR|\fIinfo\fR|\fItag\fR|\fIauthor\fR\.
.
.IP "" 4
.
.nf
fisher search shark \-\-name \-\-url
.
.fi
.
.IP "" 0
.
.P
\fB\.\.\.\fR
.
.IP "" 4
.
.nf
shark;https://github\.com/bucaran/shark
.
.fi
.
.IP "" 0
.
.P
The result set above consists of single line \fB\'\en\'\fR separated records where each record consists of one or more of the given fields separated by a semicolon \fB\';\'\fR\.
.
.SH "EXAMPLES"
.
.IP "\(bu" 4
Display all plugins by name and format into multiple columns\.
.
.IP "" 0
.
.IP "" 4
.
.nf
fisher search \-\-name | column
.
.fi
.
.IP "" 0
.
.IP "\(bu" 4
Display all plugins by url, sans \fIhttps://github\.com/\fR and format into multiple columns\.
.
.IP "" 0
.
.IP "" 4
.
.nf
fisher search \-\-field=url \-\-select=all | sed \'s|https://github\.com/||\' | column
.
.fi
.
.IP "" 0
.
.IP "\(bu" 4
Display all remote plugins by name tagged as \fIa\fR or \fIb\fR\.
.
.IP "" 0
.
.IP "" 4
.
.nf
fisher search \-\-select=remote \-\-name \-\-tag=github \-\-or \-\-tag=tool
.
.fi
.
.IP "" 0
.
.IP "\(bu" 4
Search plugins from a list of one or more urls and / or names and display their authors\.
.
.IP "" 0
.
.IP "" 4
.
.nf
fisher search $urls $names \-\-url
.
.fi
.
.IP "" 0
.
.IP "\(bu" 4
Search all plugins in the cache whose name does not start with the letter \fBs\fR\.
.
.IP "" 0
.
.IP "" 4
.
.nf
fisher search \-\-select=cache \-\-name~/^[^s]/
.
.fi
.
.IP "" 0
.
.SH "SEE ALSO"
\fBfisher\fR(1)
.
.br
\fBfisher\fR(7){\fBIndex\fR}
.
.br
\fBfisher help plugins\fR
.
.br