summaryrefslogtreecommitdiff
path: root/pkg/server/env.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/server/env.go')
-rw-r--r--pkg/server/env.go44
1 files changed, 16 insertions, 28 deletions
diff --git a/pkg/server/env.go b/pkg/server/env.go
index 3ed820e..aa0ed40 100644
--- a/pkg/server/env.go
+++ b/pkg/server/env.go
@@ -4,44 +4,32 @@ import (
"strings"
)
-func varGet(r *request) {
- r.expect(1)
-
- if v, ok := r.c.s.env.Find(r.args[0]); ok {
+func varGet(r *request, name string) {
+ if v, ok := r.c.s.env.Find(name); ok {
r.Print(v)
} else {
r.Fatal("no such variable")
}
}
-func varSet(r *request) {
- if len(r.args) < 2 {
- r.Fatal("not enough args")
- }
-
- value := strings.Join(r.args[1:], " ")
+func varSet(r *request, name string, args ...string) {
+ value := strings.Join(args, " ")
- if err := r.c.s.env.Set(r.args[0], value); err != nil {
+ if err := r.c.s.env.Set(name, value); err != nil {
r.Fatal(err)
}
}
-func varPush(r *request) {
- if len(r.args) < 2 {
- r.Fatal("not enough args")
- }
-
- value := strings.Join(r.args[1:], " ")
+func varPush(r *request, name string, args ...string) {
+ value := strings.Join(args, " ")
- if err := r.c.s.env.Push(r.args[0], value); err != nil {
+ if err := r.c.s.env.Push(name, value); err != nil {
r.Fatal(err)
}
}
-func varUnset(r *request) {
- r.expect(1)
-
- if !r.c.s.env.Del(r.args[0]) {
+func varUnset(r *request, name string) {
+ if !r.c.s.env.Del(name) {
r.Fatal("no such variable")
}
}
@@ -58,10 +46,10 @@ func varClear(r *request) {
}
func init() {
- newCmd(varGet, "get")
- newCmd(varSet, "set")
- newCmd(varPush, "push")
- newCmd(varUnset, "unset")
- newCmd(varShow, "env")
- newCmd(varClear, "clear")
+ newCmd("get", varGet, "name")
+ newCmd("set", varSet, "name value")
+ newCmd("push", varPush, "name value")
+ newCmd("unset", varUnset, "name")
+ newCmd("env", varShow, "name")
+ newCmd("clear", varClear, "")
}