aboutsummaryrefslogtreecommitdiff
path: root/mardown
diff options
context:
space:
mode:
Diffstat (limited to 'mardown')
-rw-r--r--mardown/ast_paragraph.go3
-rw-r--r--mardown/error.go15
2 files changed, 10 insertions, 8 deletions
diff --git a/mardown/ast_paragraph.go b/mardown/ast_paragraph.go
index 15d9bb8..21dc1ef 100644
--- a/mardown/ast_paragraph.go
+++ b/mardown/ast_paragraph.go
@@ -76,6 +76,9 @@ func paragraph(lxs *lexers, oneLine bool) (*astParagraph, *ParseError) {
tree.content = append(tree.content, ext)
}
case lexerCode:
+ if len(lxs.Current().Value) > 1 {
+ return nil, &ParseError{lxs: *lxs, internal: ErrInvalidCodeBlockPosition}
+ }
n = 0
b, err := code(lxs)
if err != nil {
diff --git a/mardown/error.go b/mardown/error.go
index f85dfbb..bdcd9df 100644
--- a/mardown/error.go
+++ b/mardown/error.go
@@ -24,14 +24,13 @@ func (e *ParseError) Pretty() string {
ind := ""
for lxs.Next() && lxs.Current().Type != lexerBreak {
contxt += lxs.Current().Value
- if lxs.current < current {
- if lxs.current == current-2 {
- ind += "^"
- } else {
- for range len(lxs.Current().Value) {
- ind += "~"
- }
- }
+ ln := len(lxs.Current().Value)
+ if lxs.current == current-1 {
+ ln--
+ ind += "^"
+ }
+ for range ln {
+ ind += "~"
}
}
return fmt.Sprintf("%v\n\n%s\n%s", e, contxt, ind)