Changeset 25 in code for trunk/zs.go
- Timestamp:
- Aug 30, 2015, 12:22:00 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/zs.go
r24 r25 133 133 return err 134 134 } 135 output := filepath.Join(PUBDIR, path) 136 if s, ok := vars["output"]; ok { 137 output = s 138 } 139 err = ioutil.WriteFile(output, []byte(content), 0666) 140 if err != nil { 141 return err 142 } 143 return nil 135 if w == nil { 136 f, err := os.Create(filepath.Join(PUBDIR, path)) 137 if err != nil { 138 return err 139 } 140 defer f.Close() 141 w = f 142 } 143 _, err = io.WriteString(w, content) 144 return err 144 145 } 145 146 … … 151 152 return err 152 153 } 154 155 data := map[string]interface{}{} 156 for k, v := range vars { 157 data[k] = v 158 } 159 for k, v := range funcs { 160 data[k] = v 161 } 162 153 163 t, err := a.Compile() 154 164 if err != nil { … … 163 173 w = f 164 174 } 165 return t.Execute(w, vars)175 return t.Execute(w, data) 166 176 } 167 177 … … 276 286 switch cmd { 277 287 case "build": 278 buildAll(false) 288 if len(args) == 0 { 289 buildAll(false) 290 } else if len(args) == 1 { 291 if err := build(args[0], os.Stdout, builtins(), globals()); err != nil { 292 fmt.Println("ERROR: " + err.Error()) 293 } 294 } else { 295 fmt.Println("ERROR: too many arguments") 296 } 279 297 case "watch": 280 298 buildAll(true) 281 case "print":282 if len(args) != 1 {283 fmt.Println("ERROR: filename expected")284 } else {285 build(args[0], os.Stdout, builtins(), globals())286 }287 299 case "var": 288 300 fmt.Println(Var(args))
Note:
See TracChangeset
for help on using the changeset viewer.