Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / present / html.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/present/html.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/present/html.go
new file mode 100644 (file)
index 0000000..0bb6438
--- /dev/null
@@ -0,0 +1,33 @@
+package present
+
+import (
+       "errors"
+       "html/template"
+       "path/filepath"
+       "strings"
+)
+
+func init() {
+       Register("html", parseHTML)
+}
+
+func parseHTML(ctx *Context, fileName string, lineno int, text string) (Elem, error) {
+       p := strings.Fields(text)
+       if len(p) != 2 {
+               return nil, errors.New("invalid .html args")
+       }
+       name := filepath.Join(filepath.Dir(fileName), p[1])
+       b, err := ctx.ReadFile(name)
+       if err != nil {
+               return nil, err
+       }
+       return HTML{text, template.HTML(b)}, nil
+}
+
+type HTML struct {
+       Cmd string // original command from present source
+       template.HTML
+}
+
+func (s HTML) PresentCmd() string   { return s.Cmd }
+func (s HTML) TemplateName() string { return "html" }