summaryrefslogtreecommitdiff
path: root/gemtext/parse.go
diff options
context:
space:
mode:
Diffstat (limited to 'gemtext/parse.go')
-rw-r--r--gemtext/parse.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/gemtext/parse.go b/gemtext/parse.go
deleted file mode 100644
index 7041fde..0000000
--- a/gemtext/parse.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package gemtext
-
-import (
- "bufio"
- "io"
-)
-
-// Parse parses the full contents of an io.Reader into a gemtext.Document.
-func Parse(input io.Reader) (Document, error) {
- rdr := bufio.NewReader(input)
-
- var lines []Line
- inPFT := false
-
- for {
- raw, err := rdr.ReadBytes('\n')
- if err != io.EOF && err != nil {
- return nil, err
- }
-
- var line Line
-
- if inPFT && (len(raw) < 3 || raw[0] != '`' || raw[1] != '`' || raw[2] != '`') {
- line = PreformattedTextLine{raw: raw}
- } else {
- line = ParseLine(raw)
- }
-
- if line != nil && line.Type() == LineTypePreformatToggle {
- if inPFT {
- toggle := line.(PreformatToggleLine)
- (&toggle).clearAlt()
- line = toggle
- }
-
- inPFT = !inPFT
- }
-
- if line != nil {
- lines = append(lines, line)
- }
-
- if err == io.EOF {
- break
- }
- }
-
- return Document(lines), nil
-}