From 233e33348d0c1beafd9cf15930da043a9543706b Mon Sep 17 00:00:00 2001 From: Christopher Ramey Date: Sat, 15 Aug 2020 13:46:41 -0800 Subject: [PATCH] Added line counting --- main.go | 17 ++++++++++++++--- small.config | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 small.config 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