Skip to content

Commit e1cacb0

Browse files
committed
Experiment with adding autocomplete
1 parent f730dfe commit e1cacb0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+641
-180
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Ignore Oasis CLI binary.
22
oasis
3+
# Ignore generated completions (created by goreleaser).
4+
completions/
35
# Ignore Python cache directories.
46
__pycache__/
57
# Ignore temporary files.

.goreleaser.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ project_name: Oasis CLI
55
before:
66
hooks:
77
- go mod tidy
8+
- mkdir -p completions
9+
- sh -c "go run . completion bash > completions/oasis.bash"
10+
- sh -c "go run . completion zsh > completions/oasis.zsh"
11+
- sh -c "go run . completion fish > completions/oasis.fish"
812

913
universal_binaries:
1014
- id: oasis-darwin-universal
@@ -82,6 +86,8 @@ archives:
8286
format_overrides:
8387
- goos: windows
8488
formats: [ 'zip' ]
89+
files:
90+
- completions/*
8591

8692
checksum:
8793
name_template: SHA256SUMS-{{.Version}}.txt

cmd/account/allow.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ import (
1414
)
1515

1616
var allowCmd = &cobra.Command{
17-
Use: "allow <beneficiary> <amount>",
18-
Short: "Configure beneficiary allowance",
19-
Args: cobra.ExactArgs(2),
17+
Use: "allow <beneficiary> <amount>",
18+
Short: "Configure beneficiary allowance",
19+
Args: cobra.ExactArgs(2),
20+
ValidArgsFunction: common.AddressesAt(0), // <beneficiary> at position 1.
2021
Run: func(_ *cobra.Command, args []string) {
2122
cfg := cliConfig.Global()
2223
npa := common.GetNPASelection(cfg)
@@ -63,6 +64,6 @@ var allowCmd = &cobra.Command{
6364
}
6465

6566
func init() {
66-
allowCmd.Flags().AddFlagSet(common.SelectorNAFlags)
67+
common.AddSelectorNAFlags(allowCmd)
6768
allowCmd.Flags().AddFlagSet(common.TxFlags)
6869
}

cmd/account/amend_commission_schedule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func init() {
174174
"The minimum rate is rate_min_numerator divided by %v, and the maximum rate is "+
175175
"rate_max_numerator divided by %v", staking.CommissionRateDenominator, staking.CommissionRateDenominator,
176176
))
177-
amendCommissionScheduleCmd.Flags().AddFlagSet(common.SelectorNAFlags)
177+
common.AddSelectorNAFlags(amendCommissionScheduleCmd)
178178
amendCommissionScheduleCmd.Flags().AddFlagSet(common.TxFlags)
179179
amendCommissionScheduleCmd.Flags().AddFlagSet(f)
180180
}

cmd/account/burn.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ var burnCmd = &cobra.Command{
5353
}
5454

5555
func init() {
56-
burnCmd.Flags().AddFlagSet(common.SelectorNAFlags)
56+
common.AddSelectorNAFlags(burnCmd)
5757
burnCmd.Flags().AddFlagSet(common.TxFlags)
5858
}

cmd/account/delegate.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ import (
1818
)
1919

2020
var delegateCmd = &cobra.Command{
21-
Use: "delegate <amount> <to>",
22-
Short: "Delegate given amount of tokens to an entity",
23-
Args: cobra.ExactArgs(2),
21+
Use: "delegate <amount> <to>",
22+
Short: "Delegate given amount of tokens to an entity",
23+
Args: cobra.ExactArgs(2),
24+
ValidArgsFunction: common.AddressesAt(1), // <to> at position 2.
2425
Run: func(_ *cobra.Command, args []string) {
2526
cfg := cliConfig.Global()
2627
npa := common.GetNPASelection(cfg)
@@ -122,6 +123,6 @@ var delegateCmd = &cobra.Command{
122123
}
123124

124125
func init() {
125-
delegateCmd.Flags().AddFlagSet(common.SelectorFlags)
126+
common.AddSelectorFlags(delegateCmd)
126127
delegateCmd.Flags().AddFlagSet(common.RuntimeTxFlags)
127128
}

cmd/account/deposit.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ import (
2020
)
2121

2222
var depositCmd = &cobra.Command{
23-
Use: "deposit <amount> [to]",
24-
Short: "Deposit tokens into ParaTime",
25-
Args: cobra.RangeArgs(1, 2),
23+
Use: "deposit <amount> [to]",
24+
Short: "Deposit tokens into ParaTime",
25+
Args: cobra.RangeArgs(1, 2),
26+
ValidArgsFunction: common.AddressesAt(1), // [to] at position 2.
2627
Run: func(_ *cobra.Command, args []string) {
2728
cfg := cliConfig.Global()
2829
npa := common.GetNPASelection(cfg)
@@ -116,7 +117,7 @@ var depositCmd = &cobra.Command{
116117
}
117118

118119
func init() {
119-
depositCmd.Flags().AddFlagSet(common.SelectorFlags)
120+
common.AddSelectorFlags(depositCmd)
120121
depositCmd.Flags().AddFlagSet(common.RuntimeTxFlags)
121122
depositCmd.Flags().AddFlagSet(common.ForceFlag)
122123
}

cmd/account/entity.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,10 @@ func init() {
235235
entityInitCmd.Flags().AddFlagSet(common.AccountFlag)
236236
entityInitCmd.Flags().AddFlagSet(common.AnswerYesFlag)
237237

238-
entityRegisterCmd.Flags().AddFlagSet(common.SelectorNAFlags)
238+
common.AddSelectorNAFlags(entityRegisterCmd)
239239
entityRegisterCmd.Flags().AddFlagSet(common.TxFlags)
240240

241-
entityDeregisterCmd.Flags().AddFlagSet(common.SelectorNAFlags)
241+
common.AddSelectorNAFlags(entityDeregisterCmd)
242242
entityDeregisterCmd.Flags().AddFlagSet(common.TxFlags)
243243

244244
entityMetadataUpdateCmd.Flags().StringVarP(&registryPath, "registry-dir", "r", "", "path to the metadata registry directory")

cmd/account/node_unfreeze.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ var nodeUnfreezeCmd = &cobra.Command{
5353
}
5454

5555
func init() {
56-
nodeUnfreezeCmd.Flags().AddFlagSet(common.SelectorNAFlags)
56+
common.AddSelectorNAFlags(nodeUnfreezeCmd)
5757
nodeUnfreezeCmd.Flags().AddFlagSet(common.TxFlags)
5858
}

cmd/account/show/show.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ var (
2626
showDelegations bool
2727

2828
Cmd = &cobra.Command{
29-
Use: "show [address]",
30-
Short: "Show balance and other information",
31-
Aliases: []string{"s", "balance", "b"},
32-
Args: cobra.MaximumNArgs(1),
29+
Use: "show [address]",
30+
Short: "Show balance and other information",
31+
Aliases: []string{"s", "balance", "b"},
32+
Args: cobra.MaximumNArgs(1),
33+
ValidArgsFunction: common.CompleteAccountAndAddressBookNames,
3334
Run: func(_ *cobra.Command, args []string) {
3435
cfg := cliConfig.Global()
3536
npa := common.GetNPASelection(cfg)
@@ -241,7 +242,7 @@ var (
241242
func init() {
242243
f := flag.NewFlagSet("", flag.ContinueOnError)
243244
f.BoolVar(&showDelegations, "show-delegations", false, "show incoming and outgoing delegations")
244-
Cmd.Flags().AddFlagSet(common.SelectorFlags)
245+
common.AddSelectorFlags(Cmd)
245246
Cmd.Flags().AddFlagSet(common.HeightFlag)
246247
Cmd.Flags().AddFlagSet(f)
247248
}

0 commit comments

Comments
 (0)