diff --git a/main.go b/main.go index 2cf2bff..c6e99cd 100644 --- a/main.go +++ b/main.go @@ -20,16 +20,26 @@ func main() { } defer file.Close() + split := &Splitter{} scan := bufio.NewScanner(file) - scan.Split(Split) - for scan.Scan() { + scan.Split(split.Split) + for lastline := 0; scan.Scan(); { + if lastline < split.Line { + lastline = split.Line + fmt.Printf("\n") + } word := scan.Text() fmt.Printf("[%s] ", word) } fmt.Printf("\n") } -func Split(data []byte, atEOF bool) (int, []byte, error) { + +type Splitter struct { + Line int +} + +func (sp *Splitter) Split(data []byte, atEOF bool) (int, []byte, error) { var ignoreline bool var started bool var startidx int @@ -39,6 +49,7 @@ func Split(data []byte, atEOF bool) (int, []byte, error) { c := data[i] switch c { case '\f', '\n', '\r': + sp.Line++ if ignoreline { return i + 1, nil, nil } diff --git a/small.config b/small.config new file mode 100644 index 0000000..f7b2492 --- /dev/null +++ b/small.config @@ -0,0 +1,2 @@ + # Address is optional, derived from host +monitor host monkey.com