diff options
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/markdown/entity.go')
-rw-r--r-- | vendor/gitlab.com/golang-commonmark/markdown/entity.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/entity.go b/vendor/gitlab.com/golang-commonmark/markdown/entity.go new file mode 100644 index 00000000..fd5fba9c --- /dev/null +++ b/vendor/gitlab.com/golang-commonmark/markdown/entity.go @@ -0,0 +1,35 @@ +// Copyright 2015 The Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package markdown + +import "gitlab.com/golang-commonmark/html" + +func ruleEntity(s *StateInline, silent bool) bool { + pos := s.Pos + src := s.Src + + if src[pos] != '&' { + return false + } + + max := s.PosMax + + if pos+1 < max { + if e, n := html.ParseEntity(src[pos:]); n > 0 { + if !silent { + s.Pending.WriteString(e) + } + s.Pos += n + return true + } + } + + if !silent { + s.Pending.WriteByte('&') + } + s.Pos++ + + return true +} |