diff --git a/go.mod b/go.mod index 2156d67..136b868 100644 --- a/go.mod +++ b/go.mod @@ -1,18 +1,3 @@ module github.com/rwxrob/bonzai go 1.18 - -require ( - github.com/rwxrob/compcmd v0.3.0 - github.com/rwxrob/fn v0.3.3 - github.com/rwxrob/scan v0.9.0 - github.com/rwxrob/structs v0.6.0 - github.com/rwxrob/term v0.2.8 - github.com/rwxrob/to v0.8.0 -) - -require ( - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect - golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index 0a6b348..0000000 --- a/go.sum +++ /dev/null @@ -1,48 +0,0 @@ -github.com/rwxrob/compcmd v0.1.1 h1:VCpA28yXWSS5ijAe6N5DswYektT1KT3ZryirINZVYgs= -github.com/rwxrob/compcmd v0.1.1/go.mod h1:l4anbcmNEBs4vNb2uxfD45jSgm2FmPvpYfBNGqlO3rc= -github.com/rwxrob/compcmd v0.2.3 h1:L05+CnLoJWpRp745+Hpz8fB0dz8SIzH0+uwSZxIZgEM= -github.com/rwxrob/compcmd v0.2.3/go.mod h1:fS9smeE6XIb/2511RU6618IimOJjg0tC69eXISxaxU4= -github.com/rwxrob/compcmd v0.3.0 h1:AlJNItb7+Yk17qmH5E7TJFyBXhna/rS3NeQAgjqbFls= -github.com/rwxrob/compcmd v0.3.0/go.mod h1:XOHl6bS2Uen6Wx2mxtbtUhT8Sbz1IhnaE55xPkhTBD4= -github.com/rwxrob/fn v0.3.3 h1:ymRQGWDhrrvoHKXLJ4WZlgI2qrC7gMOotowQMGvwmVQ= -github.com/rwxrob/fn v0.3.3/go.mod h1:omPqOqEB+dDna09z5pi5YFxq4IZqDvv3wFPUCES5LvY= -github.com/rwxrob/scan v0.6.1 h1:KMGi/kV7TY4pcVo8H/HVwwyQZ2gBFNQI3g7tT121Voo= -github.com/rwxrob/scan v0.6.1/go.mod h1:eF28AgH3YUvP7E9UrhjePRUyLq3Gh7+fR28P7Z/Ku4E= -github.com/rwxrob/scan v0.9.0 h1:0FhHGrjmwRvRJWCW6I2BlOgEZKa4Af/R6t/2or8abAE= -github.com/rwxrob/scan v0.9.0/go.mod h1:sDIllL5+Ppk33AHkhhdrkPLP0EheWQPoNotKMhUfCIg= -github.com/rwxrob/structs v0.5.1 h1:epff+4ihej+EgsQx0qOAS/cn7ix3qSLor0M/AjWiV3M= -github.com/rwxrob/structs v0.5.1/go.mod h1:e888JzBSTrMMizNYFnk426F77QneVUKgdxM5inMHErY= -github.com/rwxrob/structs v0.6.0 h1:t8JVd/Pee1OGaXgT6QYmGed470C9vOw6scdH8Cr5LPg= -github.com/rwxrob/structs v0.6.0/go.mod h1:txMfzPfEiIDNM5bwhzUqxr/1QQ3ekOuj3KLT8Nt1fA0= -github.com/rwxrob/term v0.2.6 h1:C8BqqHaEh8MGYp1cVrPRlDAYPEK3HfvhGjf7l5AvnV8= -github.com/rwxrob/term v0.2.6/go.mod h1:II0qQ7aHUdPniZCAPWOdYwugcZqdmRmEWIJQN7Z8NA0= -github.com/rwxrob/term v0.2.7 h1:uFhFcZkjphRQHhkzaV5G34r4es7R6qEw52XA3xD0yn0= -github.com/rwxrob/term v0.2.7/go.mod h1:II0qQ7aHUdPniZCAPWOdYwugcZqdmRmEWIJQN7Z8NA0= -github.com/rwxrob/term v0.2.8 h1:N9spr+owF8mRizSqPiATu5F0v2VJUIKwRldsibAUys8= -github.com/rwxrob/term v0.2.8/go.mod h1:UruWGJ5mrQH5v1XBg52s7ldZUBXxEODevbkoFUM4SrQ= -github.com/rwxrob/to v0.5.2 h1:BK2xKkWNhnR5TwEzbsPpXjGODFrTrgZfXzfEdtgCeyU= -github.com/rwxrob/to v0.5.2/go.mod h1:lojk6scni4ZRYjnKJO/f2DVRTW0BB6l9LZQ/NvZZt4Y= -github.com/rwxrob/to v0.5.4 h1:eUKF6O4eLhiA/pdcl/BXfp492PZ6Lz1Vs1gQZnSZlj4= -github.com/rwxrob/to v0.5.4/go.mod h1:lojk6scni4ZRYjnKJO/f2DVRTW0BB6l9LZQ/NvZZt4Y= -github.com/rwxrob/to v0.5.5 h1:gtcsVTF/0XAfsWLTQ3lC0byKc9XWE96Gz5icus3zk3I= -github.com/rwxrob/to v0.5.5/go.mod h1:PzU60XDkBkkiQxuiUsqwwAkjja2B5O0nKiRV9nHO84Q= -github.com/rwxrob/to v0.7.0 h1:hTs6pH6J4/JAex/T+ktsz3to8ojuuS9tCW4j4fHBTvY= -github.com/rwxrob/to v0.7.0/go.mod h1:5z3Y1tyXRmPfa+be5hvnxYuLQ0NSBQsE6mIBVTqlYTA= -github.com/rwxrob/to v0.8.0 h1:SUhUppTxrRZQpPP5twHxuyj08ENZkM0PD8RL5DkCYWY= -github.com/rwxrob/to v0.8.0/go.mod h1:5z3Y1tyXRmPfa+be5hvnxYuLQ0NSBQsE6mIBVTqlYTA= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/sys v0.0.0-20220412071739-889880a91fd5 h1:NubxfvTRuNb4RVzWrIDAUzUvREH1HkCD4JjyQTSG9As= -golang.org/x/sys v0.0.0-20220412071739-889880a91fd5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220808155132-1c4a2a72c664 h1:v1W7bwXHsnLLloWYTVEdvGvA7BHMeBYsPcF0GLDxIRs= -golang.org/x/sys v0.0.0-20220808155132-1c4a2a72c664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 h1:EH1Deb8WZJ0xc0WK//leUHXcX9aLE5SymusoTmMZye8= -golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= diff --git a/z/mark.go b/z/mark.go index 8a47c56..14321cb 100644 --- a/z/mark.go +++ b/z/mark.go @@ -6,7 +6,7 @@ import ( "strconv" "unicode" - "github.com/rwxrob/scan" + "github.com/rwxrob/pegn/scanner" "github.com/rwxrob/term" "github.com/rwxrob/to" ) @@ -85,7 +85,7 @@ func Blocks(in string) []*Block { in = to.Dedented(in) // also trims initial white space - s := scan.R{B: []byte(in)} + s := scanner.New(in) //s.Trace++ for s.Scan() { @@ -93,48 +93,48 @@ func Blocks(in string) []*Block { // Bulleted if s.Is("* ") { var beg, end int - beg = s.P - 1 + beg = s.E - 1 for s.Scan() { if s.Is("\n\n") { - end = s.P - 1 - s.P++ + end = s.E - 1 + s.E++ break } - end = s.P + end = s.E } - blocks = append(blocks, &Block{Bulleted, s.B[beg:end]}) + blocks = append(blocks, &Block{Bulleted, s.Buf[beg:end]}) continue } // Numbered if s.Is("1. ") { var beg, end int - beg = s.P - 1 + beg = s.E - 1 for s.Scan() { if s.Is("\n\n") { - end = s.P - 1 - s.P++ + end = s.E - 1 + s.E++ break } - end = s.P + end = s.E } - blocks = append(blocks, &Block{Numbered, s.B[beg:end]}) + blocks = append(blocks, &Block{Numbered, s.Buf[beg:end]}) continue } // Verbatim if ln := s.Match(begVerbatim); ln >= 4 { var beg, end int - beg = s.LP + beg = s.B for s.Scan() { if s.Is("\n\n") { - end = s.P - 1 - s.P++ + end = s.E - 1 + s.E++ break } - end = s.P + end = s.E } - dedented := to.Dedented(string(s.B[beg:end])) + dedented := to.Dedented(string(s.Buf[beg:end])) blocks = append(blocks, &Block{Verbatim, []byte(dedented)}) continue } @@ -142,17 +142,17 @@ func Blocks(in string) []*Block { // Paragraph (default) if !unicode.IsSpace(s.R) { var beg, end int - beg = s.LP + beg = s.B for s.Scan() { if s.Is("\n\n") { - end = s.P - 1 - s.P++ + end = s.E - 1 + s.E++ break } - end = s.P + end = s.E } blocks = append(blocks, &Block{Paragraph, - []byte(to.Words(string(s.B[beg:end])))}) + []byte(to.Words(string(s.Buf[beg:end])))}) continue } @@ -186,7 +186,7 @@ var endItalic = regexp.MustCompile(`^\p{L}\*`) func Emph[T string | []byte | []rune](buf T) string { var nbuf []rune - s := scan.R{B: []byte(string(buf))} + s := scanner.New(buf) for s.Scan() { @@ -199,7 +199,7 @@ func Emph[T string | []byte | []rune](buf T) string { nbuf = append(nbuf, s.R) nbuf = append(nbuf, []rune(term.Reset)...) nbuf = append(nbuf, '>') - s.P++ + s.E++ break } nbuf = append(nbuf, s.R) @@ -216,7 +216,7 @@ func Emph[T string | []byte | []rune](buf T) string { if s.Match(endBoldItalic) > 0 { nbuf = append(nbuf, s.R) nbuf = append(nbuf, []rune(term.Reset)...) - s.P += 3 + s.E += 3 break } nbuf = append(nbuf, s.R) @@ -227,12 +227,12 @@ func Emph[T string | []byte | []rune](buf T) string { // **Bold** if s.Match(begBold) > 0 { - s.P += 1 + s.E += 1 nbuf = append(nbuf, []rune(term.Bold)...) for s.Scan() { if s.Match(endBold) > 0 { nbuf = append(nbuf, s.R) - s.P += 2 + s.E += 2 nbuf = append(nbuf, []rune(term.Reset)...) break } @@ -248,7 +248,7 @@ func Emph[T string | []byte | []rune](buf T) string { if s.Match(endItalic) > 0 { nbuf = append(nbuf, s.R) nbuf = append(nbuf, []rune(term.Reset)...) - s.P++ + s.E++ break } nbuf = append(nbuf, s.R) diff --git a/z/mark_test.go b/z/mark_test.go index 3620933..a0e9b43 100644 --- a/z/mark_test.go +++ b/z/mark_test.go @@ -4,7 +4,6 @@ import ( "fmt" Z "github.com/rwxrob/bonzai/z" - // "github.com/rwxrob/scan" "github.com/rwxrob/term" ) @@ -14,7 +13,6 @@ func init() { term.BoldItalic = `` term.Under = `` term.Reset = `` - // scan.Trace++ } func ExampleLines() { @@ -72,10 +70,6 @@ func ExampleBlocks_numbered() { func ExampleBlocks_paragraph() { - // defer func() { scan.Trace = 0 }() - // log.SetFlags(0) - // scan.Trace = 1 - in := ` Simple paragraph here on multiple