commands: add a "select" command to select a bug for future implicit use

This commit is contained in:
Michael Muré 2018-09-18 13:17:39 +02:00
parent 0d5998eb67
commit 5f9fd2a2d9
No known key found for this signature in database
GPG Key ID: A4457C029293126F
10 changed files with 148 additions and 101 deletions

50
commands/select.go Normal file
View File

@ -0,0 +1,50 @@
package commands
import (
"errors"
"fmt"
"github.com/MichaelMure/git-bug/cache"
"github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runSelect(cmd *cobra.Command, args []string) error {
if len(args) == 0 {
return errors.New("You must provide a bug id")
}
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
prefix := args[0]
b, err := backend.ResolveBugPrefix(prefix)
if err != nil {
return err
}
_select.Select(backend, b.Id())
fmt.Printf("selected bug %s: %s\n", b.HumanId(), b.Snapshot().Title)
return nil
}
var selectCmd = &cobra.Command{
Use: "select [<id>]",
Short: "Select a bug for implicit use in future commands",
Example: `git bug select 2f15
git bug comment
git bug status
`,
RunE: runSelect,
}
func init() {
RootCmd.AddCommand(selectCmd)
selectCmd.Flags().SortFlags = false
}

View File

@ -1,29 +0,0 @@
.TH "GIT-BUG" "1" "Sep 2018" "Generated from git-bug's source code" ""
.nh
.ad l
.SH NAME
.PP
git\-bug\-close \- Mark the bug as closed
.SH SYNOPSIS
.PP
\fBgit\-bug close <id> [flags]\fP
.SH DESCRIPTION
.PP
Mark the bug as closed
.SH OPTIONS
.PP
\fB\-h\fP, \fB\-\-help\fP[=false]
help for close
.SH SEE ALSO
.PP
\fBgit\-bug(1)\fP

View File

@ -1,41 +0,0 @@
.TH "GIT-BUG" "1" "Sep 2018" "Generated from git-bug's source code" ""
.nh
.ad l
.SH NAME
.PP
git\-bug\-new \- Create a new bug
.SH SYNOPSIS
.PP
\fBgit\-bug new [flags]\fP
.SH DESCRIPTION
.PP
Create a new bug
.SH OPTIONS
.PP
\fB\-t\fP, \fB\-\-title\fP=""
Provide a title to describe the issue
.PP
\fB\-m\fP, \fB\-\-message\fP=""
Provide a message to describe the issue
.PP
\fB\-F\fP, \fB\-\-file\fP=""
Take the message from the given file. Use \- to read the message from the standard input
.PP
\fB\-h\fP, \fB\-\-help\fP[=false]
help for new
.SH SEE ALSO
.PP
\fBgit\-bug(1)\fP

View File

@ -1,29 +0,0 @@
.TH "GIT-BUG" "1" "Sep 2018" "Generated from git-bug's source code" ""
.nh
.ad l
.SH NAME
.PP
git\-bug\-open \- Mark the bug as open
.SH SYNOPSIS
.PP
\fBgit\-bug open <id> [flags]\fP
.SH DESCRIPTION
.PP
Mark the bug as open
.SH OPTIONS
.PP
\fB\-h\fP, \fB\-\-help\fP[=false]
help for open
.SH SEE ALSO
.PP
\fBgit\-bug(1)\fP

43
doc/man/git-bug-select.1 Normal file
View File

@ -0,0 +1,43 @@
.TH "GIT-BUG" "1" "Sep 2018" "Generated from git-bug's source code" ""
.nh
.ad l
.SH NAME
.PP
git\-bug\-select \- Select a bug for implicit use in future commands
.SH SYNOPSIS
.PP
\fBgit\-bug select [<id>] [flags]\fP
.SH DESCRIPTION
.PP
Select a bug for implicit use in future commands
.SH OPTIONS
.PP
\fB\-h\fP, \fB\-\-help\fP[=false]
help for select
.SH EXAMPLE
.PP
.RS
.nf
git bug select 2f15
git bug comment
git bug status
.fi
.RE
.SH SEE ALSO
.PP
\fBgit\-bug(1)\fP

View File

@ -29,4 +29,4 @@ It use the same internal storage so it doesn't pollute your project. As you woul
.SH SEE ALSO
.PP
\fBgit\-bug\-add(1)\fP, \fBgit\-bug\-commands(1)\fP, \fBgit\-bug\-comment(1)\fP, \fBgit\-bug\-label(1)\fP, \fBgit\-bug\-ls(1)\fP, \fBgit\-bug\-pull(1)\fP, \fBgit\-bug\-push(1)\fP, \fBgit\-bug\-show(1)\fP, \fBgit\-bug\-status(1)\fP, \fBgit\-bug\-termui(1)\fP, \fBgit\-bug\-title(1)\fP, \fBgit\-bug\-webui(1)\fP
\fBgit\-bug\-add(1)\fP, \fBgit\-bug\-commands(1)\fP, \fBgit\-bug\-comment(1)\fP, \fBgit\-bug\-label(1)\fP, \fBgit\-bug\-ls(1)\fP, \fBgit\-bug\-pull(1)\fP, \fBgit\-bug\-push(1)\fP, \fBgit\-bug\-select(1)\fP, \fBgit\-bug\-show(1)\fP, \fBgit\-bug\-status(1)\fP, \fBgit\-bug\-termui(1)\fP, \fBgit\-bug\-title(1)\fP, \fBgit\-bug\-webui(1)\fP

View File

@ -27,6 +27,7 @@ git-bug [flags]
* [git-bug ls](git-bug_ls.md) - List bugs
* [git-bug pull](git-bug_pull.md) - Pull bugs update from a git remote
* [git-bug push](git-bug_push.md) - Push bugs update to a git remote
* [git-bug select](git-bug_select.md) - Select a bug for implicit use in future commands
* [git-bug show](git-bug_show.md) - Display the details of a bug
* [git-bug status](git-bug_status.md) - Show the bug status
* [git-bug termui](git-bug_termui.md) - Launch the terminal UI

31
doc/md/git-bug_select.md Normal file
View File

@ -0,0 +1,31 @@
## git-bug select
Select a bug for implicit use in future commands
### Synopsis
Select a bug for implicit use in future commands
```
git-bug select [<id>] [flags]
```
### Examples
```
git bug select 2f15
git bug comment
git bug status
```
### Options
```
-h, --help help for select
```
### SEE ALSO
* [git-bug](git-bug.md) - A bugtracker embedded in Git

View File

@ -487,6 +487,26 @@ _git-bug_push()
noun_aliases=()
}
_git-bug_select()
{
last_command="git-bug_select"
command_aliases=()
commands=()
flags=()
two_word_flags=()
local_nonpersistent_flags=()
flags_with_completion=()
flags_completion=()
must_have_one_flag=()
must_have_one_noun=()
noun_aliases=()
}
_git-bug_show()
{
last_command="git-bug_show"
@ -670,6 +690,7 @@ _git-bug_root_command()
commands+=("ls")
commands+=("pull")
commands+=("push")
commands+=("select")
commands+=("show")
commands+=("status")
commands+=("termui")

View File

@ -8,7 +8,7 @@ case $state in
level1)
case $words[1] in
git-bug)
_arguments '1: :(add commands comment label ls pull push show status termui title webui)'
_arguments '1: :(add commands comment label ls pull push select show status termui title webui)'
;;
*)
_arguments '*: :_files'