summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/stdlib/gensrcmods.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-04-06 22:18:25 +0200
committerGitHub <noreply@github.com>2019-04-06 22:18:25 +0200
commit115d20373c21b107a428a55247c64f900e116038 (patch)
treec7299b3d3be2a48c0f2d5bfbd856cbd1b27d2e55 /vendor/github.com/d5/tengo/stdlib/gensrcmods.go
parentcdf33e5748c110e12097130bdb44637e3d14b229 (diff)
downloadmatterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.gz
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.bz2
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.zip
Update tengo vendor and load the stdlib. Fixes #789 (#792)
Diffstat (limited to 'vendor/github.com/d5/tengo/stdlib/gensrcmods.go')
-rw-r--r--vendor/github.com/d5/tengo/stdlib/gensrcmods.go53
1 files changed, 53 insertions, 0 deletions
diff --git a/vendor/github.com/d5/tengo/stdlib/gensrcmods.go b/vendor/github.com/d5/tengo/stdlib/gensrcmods.go
new file mode 100644
index 00000000..fada66bd
--- /dev/null
+++ b/vendor/github.com/d5/tengo/stdlib/gensrcmods.go
@@ -0,0 +1,53 @@
+// +build ignore
+
+package main
+
+import (
+ "bytes"
+ "io/ioutil"
+ "log"
+ "regexp"
+ "strconv"
+)
+
+var tengoModFileRE = regexp.MustCompile(`^srcmod_(\w+).tengo$`)
+
+func main() {
+ modules := make(map[string]string)
+
+ // enumerate all Tengo module files
+ files, err := ioutil.ReadDir(".")
+ if err != nil {
+ log.Fatal(err)
+ }
+ for _, file := range files {
+ m := tengoModFileRE.FindStringSubmatch(file.Name())
+ if m != nil {
+ modName := m[1]
+
+ src, err := ioutil.ReadFile(file.Name())
+ if err != nil {
+ log.Fatalf("file '%s' read error: %s", file.Name(), err.Error())
+ }
+
+ modules[modName] = string(src)
+ }
+ }
+
+ var out bytes.Buffer
+ out.WriteString(`// Code generated using gensrcmods.go; DO NOT EDIT.
+
+package stdlib
+
+// SourceModules are source type standard library modules.
+var SourceModules = map[string]string{` + "\n")
+ for modName, modSrc := range modules {
+ out.WriteString("\t\"" + modName + "\": " + strconv.Quote(modSrc) + ",\n")
+ }
+ out.WriteString("}\n")
+
+ const target = "source_modules.go"
+ if err := ioutil.WriteFile(target, out.Bytes(), 0644); err != nil {
+ log.Fatal(err)
+ }
+}