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.go35
1 files changed, 9 insertions, 26 deletions
diff --git a/pkg/server/env.go b/pkg/server/env.go
index 1618c62..818310c 100644
--- a/pkg/server/env.go
+++ b/pkg/server/env.go
@@ -2,41 +2,25 @@ package server
import (
"regexp"
- "sync"
)
-func init() {
- newCmd(varGet, "var", "get")
- newCmd(varSet, "var", "set")
- newCmd(varDel, "var", "del")
- newCmd(varShow, "var", "show")
- newCmd(varClear, "var", "clear")
-}
-
type env struct {
m map[string]string
- sync.Mutex
}
const varNamePattern = "[a-zA-Z][a-zA-Z0-9]*"
var isValidVarName = regexp.MustCompile("^" + varNamePattern + "$").MatchString
-var varTokenRe = regexp.MustCompile("%" + varNamePattern)
+var varTokenRe = regexp.MustCompile("@" + varNamePattern)
func (e *env) get(key string) (string, bool) {
- e.Lock()
- defer e.Unlock()
-
v, ok := e.m[key]
return v, ok
}
func (e *env) set(key string, value string) {
- e.Lock()
- defer e.Unlock()
-
if e.m == nil {
e.m = make(map[string]string)
}
@@ -45,9 +29,6 @@ func (e *env) set(key string, value string) {
}
func (e *env) del(key string) bool {
- e.Lock()
- defer e.Unlock()
-
if e.m == nil {
return false
}
@@ -62,9 +43,6 @@ func (e *env) del(key string) bool {
}
func (e *env) each(f func (string, string) bool) {
- e.Lock()
- defer e.Unlock()
-
for k, v := range e.m {
if !f(k, v) {
break
@@ -73,9 +51,6 @@ func (e *env) each(f func (string, string) bool) {
}
func (e *env) clear() {
- e.Lock()
- defer e.Unlock()
-
e.m = nil
}
@@ -117,3 +92,11 @@ func varShow(r *request) {
func varClear(r *request) {
r.c.s.env.clear()
}
+
+func init() {
+ newCmd(varGet, "var get")
+ newCmd(varSet, "var set")
+ newCmd(varDel, "var del")
+ newCmd(varShow, "var show")
+ newCmd(varClear, "var clear")
+}