Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support to change spinner text using event updates #2944

Merged
merged 17 commits into from
Oct 28, 2022
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
- Add `--peer-address` flag to `network chain join` command.
- Change nightly tag format
- Add cosmos-sdk version in `version` command
- Add a new event "update" status option to `pkg/cliui`.
jeronimoalbi marked this conversation as resolved.
Show resolved Hide resolved
jeronimoalbi marked this conversation as resolved.
Show resolved Hide resolved
- [#2935](https://github.com/ignite/cli/pull/2935) Update `gobuffalo/plush` templating tool to `v4`

### Fixes
Expand Down
5 changes: 4 additions & 1 deletion ignite/cmd/chain_build.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ func chainBuildHandler(cmd *cobra.Command, _ []string) error {
releaseTargets, _ = cmd.Flags().GetStringSlice(flagReleaseTargets)
releasePrefix, _ = cmd.Flags().GetString(flagReleasePrefix)
output, _ = cmd.Flags().GetString(flagOutput)
session = cliui.New(cliui.WithVerbosity(getVerbosity(cmd)), cliui.StartSpinner())
session = cliui.New(
cliui.WithVerbosity(getVerbosity(cmd)),
cliui.StartSpinner(),
)
)

defer session.End()
Expand Down
5 changes: 4 additions & 1 deletion ignite/cmd/chain_serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@ production, you may want to run "appd start" manually.
}

func chainServeHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.WithVerbosity(getVerbosity(cmd)), cliui.StartSpinner())
session := cliui.New(
cliui.WithVerbosity(getVerbosity(cmd)),
cliui.StartSpinner(),
)
defer session.End()

chainOption := []chain.Option{
Expand Down
3 changes: 3 additions & 0 deletions ignite/cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ const (

checkVersionTimeout = time.Millisecond * 600
cacheFileName = "ignite_cache.db"

statusGenerating = "Generating..."
statusQuerying = "Querying..."
)

// New creates a new root command for `Ignite CLI` with its sub commands.
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/generate_dart.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ func NewGenerateDart() *cobra.Command {
}

func generateDartHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusGenerating))
defer session.End()

session.StartSpinner("Generating...")

c, err := newChainWithHomeFlags(
cmd,
chain.EnableThirdPartyModuleCodegen(),
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/generate_go.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ func NewGenerateGo() *cobra.Command {
}

func generateGoHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusGenerating))
defer session.End()

session.StartSpinner("Generating...")

c, err := newChainWithHomeFlags(
cmd,
chain.WithOutputer(session),
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/generate_openapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ func NewGenerateOpenAPI() *cobra.Command {
}

func generateOpenAPIHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusGenerating))
defer session.End()

session.StartSpinner("Generating...")

c, err := newChainWithHomeFlags(
cmd,
chain.WithOutputer(session),
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/generate_typescript_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@ func NewGenerateTSClient() *cobra.Command {
}

func generateTSClientHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusGenerating))
defer session.End()

session.StartSpinner("Generating...")

c, err := newChainWithHomeFlags(
cmd,
chain.EnableThirdPartyModuleCodegen(),
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/generate_vuex.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@ func NewGenerateVuex() *cobra.Command {
}

func generateVuexHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusGenerating))
defer session.End()

session.StartSpinner("Generating...")

c, err := newChainWithHomeFlags(
cmd,
chain.EnableThirdPartyModuleCodegen(),
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/network_reward_release.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,9 @@ func networkRewardRelease(cmd *cobra.Command, args []string) (err error) {
err = handleRelayerAccountErr(err)
}()

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText("Setting up chains..."))
defer session.End()

session.StartSpinner("Setting up chains...")

launchID, err := network.ParseID(args[0])
if err != nil {
return err
Expand Down
3 changes: 1 addition & 2 deletions ignite/cmd/node_query_bank_balances.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,8 @@ func nodeQueryBankBalancesHandler(cmd *cobra.Command, args []string) error {
return err
}

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusQuerying))
defer session.End()
session.StartSpinner("Querying...")

balances, err := client.BankBalances(cmd.Context(), address, pagination)
if err != nil {
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/node_query_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@ func NewNodeQueryTx() *cobra.Command {
}

func nodeQueryTxHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusQuerying))
defer session.End()

session.StartSpinner("Querying...")

bz, err := hex.DecodeString(args[0])
if err != nil {
return err
Expand Down
2 changes: 1 addition & 1 deletion ignite/cmd/node_tx_bank_send.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func nodeTxBankSendHandler(cmd *cobra.Command, args []string) error {
return err
}

session := cliui.New(cliui.StartSpinner())
session := cliui.New()
defer session.End()

if generateOnly {
Expand Down
2 changes: 1 addition & 1 deletion ignite/cmd/relayer_configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func relayerConfigureHandler(cmd *cobra.Command, _ []string) (err error) {
err = handleRelayerAccountErr(err)
}()

session := cliui.New(cliui.StartSpinner())
session := cliui.New()
defer session.End()

ca, err := cosmosaccount.New(
Expand Down
2 changes: 1 addition & 1 deletion ignite/cmd/relayer_connect.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func relayerConnectHandler(cmd *cobra.Command, args []string) (err error) {
err = handleRelayerAccountErr(err)
}()

session := cliui.New(cliui.StartSpinner())
session := cliui.New()
defer session.End()

ca, err := cosmosaccount.New(
Expand Down
6 changes: 3 additions & 3 deletions ignite/cmd/scaffold.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ const (
flagNoSimulation = "no-simulation"
flagResponse = "response"
flagDescription = "desc"

statusScaffolding = "Scaffolding..."
)

// NewScaffold returns a command that groups scaffolding related sub commands.
Expand Down Expand Up @@ -136,11 +138,9 @@ func scaffoldType(
}
}

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

sc, err := newApp(appPath)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_band.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,9 @@ func createBandchainHandler(cmd *cobra.Command, args []string) error {
signer = flagGetSigner(cmd)
)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

module, err := cmd.Flags().GetString(flagModule)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ about Cosmos SDK on https://docs.cosmos.network
}

func scaffoldChainHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

var (
name = args[0]
addressPrefix = getAddressPrefix(cmd)
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_flutter.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ func NewScaffoldFlutter() *cobra.Command {
}

func scaffoldFlutterHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

path := flagGetPath(cmd)
if err := scaffolder.Flutter(path); err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_message.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,9 @@ func messageHandler(cmd *cobra.Command, args []string) error {
withoutSimulation = flagGetNoSimulation(cmd)
)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

cacheStorage, err := newCache(cmd)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_module.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,9 @@ func scaffoldModuleHandler(cmd *cobra.Command, args []string) error {
appPath = flagGetPath(cmd)
)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

ibcModule, err := cmd.Flags().GetBool(flagIBC)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_mwasm.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ func NewScaffoldWasm() *cobra.Command {
func scaffoldWasmHandler(cmd *cobra.Command, args []string) error {
appPath := flagGetPath(cmd)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

cacheStorage, err := newCache(cmd)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_package.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,9 @@ func createPacketHandler(cmd *cobra.Command, args []string) error {
appPath = flagGetPath(cmd)
)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

module, err := cmd.Flags().GetString(flagModule)
if err != nil {
return err
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,9 @@ func NewScaffoldQuery() *cobra.Command {
func queryHandler(cmd *cobra.Command, args []string) error {
appPath := flagGetPath(cmd)

session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

// Get the module to add the type into
module, err := cmd.Flags().GetString(flagModule)
if err != nil {
Expand Down
4 changes: 1 addition & 3 deletions ignite/cmd/scaffold_vue.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ func NewScaffoldVue() *cobra.Command {
}

func scaffoldVueHandler(cmd *cobra.Command, args []string) error {
session := cliui.New(cliui.StartSpinner())
session := cliui.New(cliui.StartSpinnerWithText(statusScaffolding))
defer session.End()

session.StartSpinner("Scaffolding...")

path := flagGetPath(cmd)
if err := scaffolder.Vue(path); err != nil {
return err
Expand Down
17 changes: 15 additions & 2 deletions ignite/pkg/cliui/clispinner/clispinner.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,39 @@ type (

Options struct {
writer io.Writer
text string
}
)

// WithWriter configures an output for a spinner
// WithWriter configures an output for a spinner.
func WithWriter(w io.Writer) Option {
return func(options *Options) {
options.writer = w
}
}

// WithText configures the spinner text.
func WithText(text string) Option {
return func(options *Options) {
options.text = text
}
}

// New creates a new spinner.
func New(options ...Option) *Spinner {
o := Options{}
for _, apply := range options {
apply(&o)
}

text := o.text
if text == "" {
text = DefaultText
}

spOptions := []spinner.Option{
spinner.WithColor(spinnerColor),
spinner.WithSuffix(" " + DefaultText),
spinner.WithSuffix(" " + text),
}

if o.writer != nil {
Expand Down
Loading