Compare commits

...

8 Commits
3.8.0 ... 3.9.0

Author SHA1 Message Date
c4dd3b52fd Merge pull request #554 from chrisallenlane/master
v3.9.0
2020-04-07 18:59:18 -04:00
e8a0ea0dc3 chore(version): bump version to 3.9.0 2020-04-07 18:50:00 -04:00
992ee66a56 Merge branch 'add-homebrew-release-flow' of https://github.com/chenrui333/cheat into v3.9.0 2020-04-07 18:48:57 -04:00
c9840c2d6f docs(autocompletion): update autocompletion docs
Update the autocompletion documentation (in `README` and `man` page) to
include information about configuring `zsh` autocompletion script.
2020-04-07 18:47:35 -04:00
bd53768f67 chore(zsh): set execute perm on cheat.zsh
Set execute permission on the `zsh` autocompletion script.
2020-04-07 18:41:00 -04:00
8092687956 change taglist and pathlist to local variable. 2020-04-07 14:56:34 +08:00
16ade50672 add complete script for zsh. 2020-04-03 15:34:01 +08:00
62c80d76eb Automate homebrew release flow 2020-03-24 21:21:54 -04:00
6 changed files with 100 additions and 14 deletions

17
.github/workflows/homebrew.yml vendored Normal file
View File

@ -0,0 +1,17 @@
name: homebrew
on:
push:
tags: '*'
jobs:
homebrew:
name: Bump Homebrew formula
runs-on: ubuntu-latest
steps:
- uses: mislav/bump-homebrew-formula-action@v1
with:
# A PR will be sent to github.com/Homebrew/homebrew-core to update this formula:
formula-name: cheat
env:
COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }}

View File

@ -196,14 +196,13 @@ cheat -p personal -t networking --regex -s '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
Advanced Usage Advanced Usage
-------------- --------------
Shell autocompletion is currently available for the `bash` and `fish` shells. Shell autocompletion is currently available for `bash`, `fish`, and `zsh`. Copy
Copy the relevant [completion script][completions] into the appropriate the relevant [completion script][completions] into the appropriate directory on
directory on your filesystem to enable autocompletion. (This directory will your filesystem to enable autocompletion. (This directory will vary depending
vary depending on operating system and shell specifics.) on operating system and shell specifics.)
Additionally, `cheat` supports enhanced autocompletion via integration with Additionally, `cheat` supports enhanced autocompletion via integration with
[fzf][]. (This feature is currently available on bash only.) To enable `fzf` [fzf][]. To enable `fzf` integration:
integration:
1. Ensure that `fzf` is available on your `$PATH` 1. Ensure that `fzf` is available on your `$PATH`
2. Set an envvar: `export CHEAT_USE_FZF=true` 2. Set an envvar: `export CHEAT_USE_FZF=true`

View File

@ -17,7 +17,7 @@ import (
"github.com/cheat/cheat/internal/installer" "github.com/cheat/cheat/internal/installer"
) )
const version = "3.8.0" const version = "3.9.0"
func main() { func main() {

View File

@ -175,15 +175,17 @@ For detailed instructions on how to configure cheatpaths, please refer
to the comments in conf.yml. to the comments in conf.yml.
.SS Autocompletion .SS Autocompletion
.PP .PP
Autocompletion scripts for \f[B]bash\f[]/\f[B]zsh\f[] and \f[B]fish\f[] Autocompletion scripts for \f[B]bash\f[], \f[B]zsh\f[], and
are available for download: \f[B]fish\f[] are available for download:
.IP \[bu] 2 .IP \[bu] 2
<https://github.com/cheat/cheat/blob/master/scripts/cheat.bash> <https://github.com/cheat/cheat/blob/master/scripts/cheat.bash>
.IP \[bu] 2 .IP \[bu] 2
<https://github.com/cheat/cheat/blob/master/scripts/cheat.fish> <https://github.com/cheat/cheat/blob/master/scripts/cheat.fish>
.IP \[bu] 2
<https://github.com/cheat/cheat/blob/master/scripts/cheat.zsh>
.PP .PP
The \f[B]bash\f[]/\f[B]zsh\f[] scripts provide optional integration with The \f[B]bash\f[] and \f[B]zsh\f[] scripts provide optional integration
\f[B]fzf\f[], if the latter is available on your \f[B]PATH\f[]. with \f[B]fzf\f[], if the latter is available on your \f[B]PATH\f[].
.PP .PP
The installation process will vary per system and shell configuration, The installation process will vary per system and shell configuration,
and thus will not be discussed here. and thus will not be discussed here.
@ -195,6 +197,12 @@ If \f[B]CHEAT_CONFIG_PATH\f[] is set, all other config paths will be
ignored. ignored.
.RS .RS
.RE .RE
.TP
.B \f[B]CHEAT_USE_FZF\f[]
If set, autocompletion scripts will attempt to integrate with
\f[B]fzf\f[].
.RS
.RE
.SH BUGS .SH BUGS
.PP .PP
See GitHub issues: <https://github.com/cheat/cheat/issues> See GitHub issues: <https://github.com/cheat/cheat/issues>

View File

@ -137,14 +137,15 @@ comments in conf.yml.
Autocompletion Autocompletion
-------------- --------------
Autocompletion scripts for **bash**/**zsh** and **fish** are available for Autocompletion scripts for **bash**, **zsh**, and **fish** are available for
download: download:
- <https://github.com/cheat/cheat/blob/master/scripts/cheat.bash> - <https://github.com/cheat/cheat/blob/master/scripts/cheat.bash>
- <https://github.com/cheat/cheat/blob/master/scripts/cheat.fish> - <https://github.com/cheat/cheat/blob/master/scripts/cheat.fish>
- <https://github.com/cheat/cheat/blob/master/scripts/cheat.zsh>
The **bash**/**zsh** scripts provide optional integration with **fzf**, if the The **bash** and **zsh** scripts provide optional integration with **fzf**, if
latter is available on your **PATH**. the latter is available on your **PATH**.
The installation process will vary per system and shell configuration, and thus The installation process will vary per system and shell configuration, and thus
will not be discussed here. will not be discussed here.
@ -158,6 +159,10 @@ ENVIRONMENT
: The path at which the config file is available. If **CHEAT_CONFIG_PATH** is : The path at which the config file is available. If **CHEAT_CONFIG_PATH** is
set, all other config paths will be ignored. set, all other config paths will be ignored.
**CHEAT_USE_FZF**
: If set, autocompletion scripts will attempt to integrate with **fzf**.
BUGS BUGS
==== ====

57
scripts/cheat.zsh Executable file
View File

@ -0,0 +1,57 @@
#compdef cheat
local cheats taglist pathlist
_cheat_complete_cheatsheets()
{
cheats=("${(f)$(cheat -l -t personal | tail -n +2 | cut -d' ' -f1)}")
_describe -t cheats 'cheats' cheats
}
_cheat_complete_tags()
{
taglist=("${(f)$(cheat -T)}")
_describe -t taglist 'taglist' taglist
}
_cheat_complete_paths()
{
pathlist=("${(f)$(cheat -d | cut -d':' -f1)}")
_describe -t pathlist 'pathlist' pathlist
}
_cheat() {
_arguments -C \
'(--init)--init[Write a default config file to stdout]: :->none' \
'(-c --colorize)'{-c,--colorize}'[Colorize output]: :->none' \
'(-d --directories)'{-d,--directories}'[List cheatsheet directories]: :->none' \
'(-e --edit)'{-e,--edit}'[Edit <sheet>]: :->full' \
'(-l --list)'{-l,--list}'[List cheatsheets]: :->full' \
'(-p --path)'{-p,--path}'[Return only sheets found on path <name>]: :->pathlist' \
'(-r --regex)'{-r,--regex}'[Treat search <phrase> as a regex]: :->none' \
'(-s --search)'{-s,--search}'[Search cheatsheets for <phrase>]: :->none' \
'(-t --tag)'{-t,--tag}'[Return only sheets matching <tag>]: :->taglist' \
'(-T --tags)'{-T,--tags}'[List all tags in use]: :->none' \
'(-v --version)'{-v,--version}'[Print the version number]: :->none' \
'(--rm)--rm[Remove (delete) <sheet>]: :->full' \
case $state in
(none)
;;
(full)
_cheat_complete_cheatsheets
;;
(taglist)
_cheat_complete_tags
;;
(pathlist)
_cheat_complete_paths
;;
(*)
_cheat_complete_cheatsheets
;;
esac
}
_cheat