Skip to content

Commit

Permalink
enforce sort order with kind flags
Browse files Browse the repository at this point in the history
  • Loading branch information
jesseduffield committed Apr 13, 2020
1 parent 8481350 commit 09d02ad
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
13 changes: 13 additions & 0 deletions pkg/commands/dependency.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ func KindFlagMap() map[string]string {
}
}

type KindFlag struct {
Kind string
Flag string
}

func KindFlags() []KindFlag {
return []KindFlag{
{Kind: "prod", Flag: "--save-prod"},
{Kind: "dev", Flag: "--save-dev"},
{Kind: "optional", Flag: "--save-optional"},
}
}

func (d *Dependency) kindKey() string {
return KindKeyMap()[d.Kind]
}
24 changes: 12 additions & 12 deletions pkg/gui/dependencies_panel.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,13 +134,13 @@ func (gui *Gui) wrappedDependencyHandler(f func(*commands.Dependency) error) fun

func (gui *Gui) handleChangeDepType(dep *commands.Dependency) error {
kindKeyMap := commands.KindKeyMap()
kindFlagMap := commands.KindFlagMap()
menuItems := make([]*menuItem, 0, len(commands.KindKeyMap()))
for kind := range kindFlagMap {
kind := kind
cmdStr := fmt.Sprintf("npm install %s %s", kindFlagMap[kind], dep.Name)
kindFlags := commands.KindFlags()
menuItems := make([]*menuItem, 0, len(kindFlags))
for _, kindFlag := range kindFlags {
kindFlag := kindFlag
cmdStr := fmt.Sprintf("npm install %s %s", kindFlag.Flag, dep.Name)
menuItems = append(menuItems, &menuItem{
displayStrings: []string{kindKeyMap[kind], utils.ColoredString(cmdStr, color.FgYellow)},
displayStrings: []string{kindKeyMap[kindFlag.Kind], utils.ColoredString(cmdStr, color.FgYellow)},
onPress: func() error {
return gui.newMainCommand(cmdStr, dep.ID())
},
Expand All @@ -161,13 +161,13 @@ func (gui *Gui) handleAddDependency(dep *commands.Dependency) error {
}

kindKeyMap := commands.KindKeyMap()
kindFlagMap := commands.KindFlagMap()
menuItems := make([]*menuItem, 0, len(commands.KindKeyMap()))
for kind := range kindFlagMap {
kind := kind
cmdStr := fmt.Sprintf("npm install %s", kindFlagMap[kind])
kindFlags := commands.KindFlags()
menuItems := make([]*menuItem, 0, len(kindFlags))
for _, kindFlag := range kindFlags {
kindFlag := kindFlag
cmdStr := fmt.Sprintf("npm install %s", kindFlag.Flag)
menuItems = append(menuItems, &menuItem{
displayStrings: []string{kindKeyMap[kind], utils.ColoredString(cmdStr, color.FgYellow)},
displayStrings: []string{kindKeyMap[kindFlag.Kind], utils.ColoredString(cmdStr, color.FgYellow)},
onPress: func() error {
return prompt(cmdStr)
},
Expand Down

0 comments on commit 09d02ad

Please sign in to comment.