Allow batch operations on multiple entities (#512)

commands now accept multiple arguments where it makes sense.

#### before
```
NAME:
   tea issues close - Change state of an issue to 'closed'

USAGE:
   tea issues close [command options] <issue index>
```

#### after
```
NAME:
   tea issues close - Change state of one ore more issues to 'closed'

USAGE:
   tea issues close [command options] <issue index> [<issue index>...]
```

Co-authored-by: Norwin <git@nroo.de>
Reviewed-on: https://gitea.com/gitea/tea/pulls/512
Reviewed-by: 6543 <6543@obermui.de>
Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io>
Co-authored-by: Norwin <noerw@noreply.gitea.io>
Co-committed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
Norwin
2022-09-27 04:35:59 +08:00
committed by 6543
parent 6a4ba6a689
commit 4487213581
12 changed files with 134 additions and 77 deletions

View File

@ -10,6 +10,18 @@ import (
"strings"
)
// ArgsToIndices take issue/pull index as string and returns int64s
func ArgsToIndices(args []string) ([]int64, error) {
indices := make([]int64, len(args))
for i, arg := range args {
var err error
if indices[i], err = ArgToIndex(arg); err != nil {
return nil, err
}
}
return indices, nil
}
// ArgToIndex take issue/pull index as string and return int64
func ArgToIndex(arg string) (int64, error) {
if strings.HasPrefix(arg, "#") {