mirror of
https://github.com/42wim/matterbridge.git
synced 2024-11-25 12:12:05 -08:00
36 lines
583 B
Go
36 lines
583 B
Go
|
// 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
|
||
|
}
|