all repos

clerk @ e586ae2

missing tooling for ledger/hledger

clerk/journal/lexer/dump.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
lexer & parser & ast..., 14 days ago
1
package lexer
2
3
import (
4
	"fmt"
5
	"strings"
6
7
	"github.com/olexsmir/ledger-tools/journal/token"
8
)
9
10
func (l *Lexer) Dump() string {
11
	var b strings.Builder
12
	for {
13
		t := l.Next()
14
		fmt.Fprintf(&b, "%-12s %-20q %d:%d-%d:%d\n",
15
			t.Type,
16
			t.Literal,
17
			t.Span.Start.Line,
18
			t.Span.Start.Col,
19
			t.Span.End.Line,
20
			t.Span.End.Col)
21
		if t.Type == token.EOF {
22
			break
23
		}
24
	}
25
	return b.String()
26
}