Skip to content

Commit

Permalink
handles env manually
Browse files Browse the repository at this point in the history
  • Loading branch information
moqsien committed Mar 29, 2024
1 parent 34ae90d commit 809dcc9
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
18 changes: 18 additions & 0 deletions cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,24 @@ func (c *Cli) initiate() {
},
})

envHandler := &cobra.Command{
Use: "env",
Aliases: []string{"e"},
GroupID: GroupID,
Short: "Handles env manually.",
Long: "Example: vm e <-r>",
Run: func(cmd *cobra.Command, args []string) {
enableRemove, _ := cmd.Flags().GetBool("remove")
if enableRemove {
envs.RemoveEnvManually()
} else {
envs.AddEnvManually()
}
},
}
envHandler.Flags().BoolP("remove", "r", false, "<false>(by default): adds env; <true>: removes env.")
c.rootCmd.AddCommand(envHandler)

c.rootCmd.AddCommand(&cobra.Command{
Use: "version",
Aliases: []string{"v"},
Expand Down
50 changes: 50 additions & 0 deletions pkgs/envs/manual.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package envs

import (
"fmt"
"strings"

"github.com/gvcgo/goutils/pkgs/gtea/gprint"
)

/*
Adds env manually.
*/
func AddEnvManually() {
var key, value string
fmt.Println(gprint.CyanStr("Input env name: "))
fmt.Scanln(&key)
fmt.Println(gprint.CyanStr("Input env value: "))
fmt.Scanln(&value)
key = strings.TrimSpace(key)
value = strings.TrimSpace(value)
if value != "" && key != "" {
em := NewEnvManager()
if strings.ToLower(key) == "path" {
em.AddToPath(value)
} else {
em.Set(key, value)
}
}
}

/*
Removes env manually.
*/
func RemoveEnvManually() {
var key, value string
fmt.Println(gprint.CyanStr("Input env name: "))
fmt.Scanln(&key)
key = strings.TrimSpace(key)
if strings.ToLower(key) == "path" {
fmt.Println(gprint.CyanStr("Input the value in $PATH: "))
fmt.Scanln(&value)
value = strings.TrimSpace(value)
}
em := NewEnvManager()
if key != "" && strings.ToLower(key) != "path" {
em.UnSet(key)
} else if value != "" {
em.DeleteFromPath(value)
}
}

0 comments on commit 809dcc9

Please sign in to comment.