From 748be0c096914240b2c43fa603f600d3f3a06028 Mon Sep 17 00:00:00 2001 From: Cameron Moore Date: Fri, 29 Nov 2019 13:20:34 -0600 Subject: [PATCH] Fix shadow declarations --- ast/ast.go | 2 +- extension/table.go | 8 ++++---- parser/attribute.go | 7 +++---- parser/atx_heading.go | 20 ++++++++++---------- parser/code_span.go | 2 +- parser/parser.go | 3 +-- 6 files changed, 20 insertions(+), 22 deletions(-) diff --git a/ast/ast.go b/ast/ast.go index 025c599..c5edfe5 100644 --- a/ast/ast.go +++ b/ast/ast.go @@ -436,7 +436,7 @@ func Walk(n Node, walker Walker) error { } if status != WalkSkipChildren { for c := n.FirstChild(); c != nil; c = c.NextSibling() { - if err := Walk(c, walker); err != nil { + if err = Walk(c, walker); err != nil { return err } } diff --git a/extension/table.go b/extension/table.go index 8ae999b..e20327d 100644 --- a/extension/table.go +++ b/extension/table.go @@ -84,10 +84,10 @@ func (b *tableParagraphTransformer) parseRow(segment text.Segment, alignments [] closure = len(line[pos:]) } node := ast.NewTableCell() - segment := text.NewSegment(segment.Start+pos, segment.Start+pos+closure) - segment = segment.TrimLeftSpace(source) - segment = segment.TrimRightSpace(source) - node.Lines().Append(segment) + seg := text.NewSegment(segment.Start+pos, segment.Start+pos+closure) + seg = seg.TrimLeftSpace(source) + seg = seg.TrimRightSpace(source) + node.Lines().Append(seg) node.Alignment = alignment row.AppendChild(row, node) pos += closure + 1 diff --git a/parser/attribute.go b/parser/attribute.go index e5f0250..42b1753 100644 --- a/parser/attribute.go +++ b/parser/attribute.go @@ -2,9 +2,10 @@ package parser import ( "bytes" + "strconv" + "github.com/yuin/goldmark/text" "github.com/yuin/goldmark/util" - "strconv" ) var attrNameID = []byte("id") @@ -104,7 +105,7 @@ func parseAttribute(reader text.Reader) (Attribute, bool) { } i := 0 for ; i < len(line); i++ { - c := line[i] + c = line[i] if !((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || c == ':' || c == '.' || c == '-') { @@ -125,7 +126,6 @@ func parseAttribute(reader text.Reader) (Attribute, bool) { return Attribute{}, false } return Attribute{Name: name, Value: value}, true - } func parseAttributeValue(reader text.Reader) (interface{}, bool) { @@ -153,7 +153,6 @@ func parseAttributeValue(reader text.Reader) (interface{}, bool) { return nil, false } return value, true - } func parseAttributeArray(reader text.Reader) ([]interface{}, bool) { diff --git a/parser/atx_heading.go b/parser/atx_heading.go index 67f55ac..c9843e3 100644 --- a/parser/atx_heading.go +++ b/parser/atx_heading.go @@ -108,19 +108,19 @@ func (b *atxHeadingParser) Open(parent ast.Node, reader text.Reader, pc Context) start-- closureClose := -1 closureOpen := -1 - for i := start; i < stop; { - c := line[i] - if util.IsEscapedPunctuation(line, i) { - i += 2 - } else if util.IsSpace(c) && i < stop-1 && line[i+1] == '#' { - closureOpen = i + 1 - j := i + 1 - for ; j < stop && line[j] == '#'; j++ { + for j := start; j < stop; { + c := line[j] + if util.IsEscapedPunctuation(line, j) { + j += 2 + } else if util.IsSpace(c) && j < stop-1 && line[j+1] == '#' { + closureOpen = j + 1 + k := j + 1 + for ; k < stop && line[k] == '#'; k++ { } - closureClose = j + closureClose = k break } else { - i++ + j++ } } if closureClose > 0 { diff --git a/parser/code_span.go b/parser/code_span.go index b815938..afb2b7f 100644 --- a/parser/code_span.go +++ b/parser/code_span.go @@ -43,7 +43,7 @@ func (s *codeSpanParser) Parse(parent ast.Node, block text.Reader, pc Context) a } closure := i - oldi if closure == opener && (i+1 >= len(line) || line[i+1] != '`') { - segment := segment.WithStop(segment.Start + i - closure) + segment = segment.WithStop(segment.Start + i - closure) if !segment.IsEmpty() { node.AppendChild(node, ast.NewRawTextSegment(segment)) } diff --git a/parser/parser.go b/parser/parser.go index 9eb0b8a..a06b643 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -903,7 +903,7 @@ retry: if w > 3 && !bp.CanAcceptIndentedLine() { continue } - lastBlock := pc.LastOpenedBlock() + lastBlock = pc.LastOpenedBlock() last := lastBlock.Node node, state := bp.Open(parent, reader, pc) if node != nil { @@ -1177,5 +1177,4 @@ func (p *parser) parseBlock(block text.BlockReader, parent ast.Node, pc Context) for _, ip := range p.closeBlockers { ip.CloseBlock(parent, block, pc) } - }