diff zs_util.go @ 24:d052f3a44195 draft

fixed output file names in html pages, fixed amber function bindings, replaced print command with build, fixed plugin functions, implemented zs and exec functions
author zaitsev.serge
date Sun, 30 Aug 2015 12:22:00 +0000
parents 40f55059fbfa
children b2f491299cee
line wrap: on
line diff
--- a/zs_util.go	Sun Aug 30 12:20:35 2015 +0000
+++ b/zs_util.go	Sun Aug 30 12:22:00 2015 +0000
@@ -19,7 +19,7 @@
 func pluginFunc(cmd string, vars Vars) func(args ...string) string {
 	return func(args ...string) string {
 		out := bytes.NewBuffer(nil)
-		if err := run(cmd, args, vars, out); err != nil {
+		if err := run(filepath.Join(ZSDIR, cmd), args, vars, out); err != nil {
 			return cmd + ":" + err.Error()
 		} else {
 			return string(out.Bytes())
@@ -28,15 +28,19 @@
 }
 
 func builtins() Funcs {
-	exec := func(s ...string) string {
+	exec := func(cmd string, args ...string) string {
+		out := bytes.NewBuffer(nil)
+		if err := run(cmd, args, Vars{}, out); err != nil {
+			return cmd + ":" + err.Error()
+		} else {
+			return string(out.Bytes())
+		}
 		return ""
 	}
 	return Funcs{
 		"exec": exec,
 		"zs": func(args ...string) string {
-			cmd := []string{"zs"}
-			cmd = append(cmd, args...)
-			return exec(cmd...)
+			return exec(os.Args[0], args...)
 		},
 	}
 }