diff options
author | Niall Sheridan <nsheridan@gmail.com> | 2017-01-24 23:43:28 +0000 |
---|---|---|
committer | Niall Sheridan <nsheridan@gmail.com> | 2017-01-25 00:02:37 +0000 |
commit | f635033e3e953e74d67b76a520c9760786330af5 (patch) | |
tree | 8e41d7d07c489edbfb45f1d4ffff921b2f6bc265 /vendor/github.com/homemade/scl/scanner_line.go | |
parent | 0f4344348419ed6c3ee4236188e456d79e2d51b4 (diff) |
Switch to scl, an extension of hcl
Diffstat (limited to 'vendor/github.com/homemade/scl/scanner_line.go')
-rw-r--r-- | vendor/github.com/homemade/scl/scanner_line.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/github.com/homemade/scl/scanner_line.go b/vendor/github.com/homemade/scl/scanner_line.go new file mode 100644 index 0000000..972c766 --- /dev/null +++ b/vendor/github.com/homemade/scl/scanner_line.go @@ -0,0 +1,38 @@ +package scl + +import ( + "fmt" + "strings" +) + +type lineContent string + +func (s lineContent) indent() int { + return len(s) - len(strings.TrimLeft(string(s), " \t")) +} + +type scannerLine struct { + file string + line int + column int + content lineContent + children scannerTree +} + +func newLine(fileName string, lineNumber, column int, content string) *scannerLine { + return &scannerLine{ + file: fileName, + line: lineNumber, + column: column, + content: lineContent(content), + children: make(scannerTree, 0), + } +} + +func (l *scannerLine) branch() *scannerLine { + return newLine(l.file, l.line, l.content.indent(), strings.Trim(string(l.content), " \t")) +} + +func (l *scannerLine) String() string { + return fmt.Sprintf("%s:%d", l.file, l.line) +} |