summaryrefslogtreecommitdiff
path: root/vendor/github.com/yuin/goldmark/util/html5entities.go
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2025-09-30 13:34:10 +0200
committerStefan Majewsky <majewsky@gmx.net>2025-09-30 13:37:25 +0200
commite75d9e371269a4e46bffa6b3dd1fc7d040e82750 (patch)
treec1f2a9aa8022a2710af5e5a577578855584540df /vendor/github.com/yuin/goldmark/util/html5entities.go
parent0bb27576a37de4bf76dab35c73fa8790fcfa706a (diff)
downloadgofu-f8e0b3d1a52bae7500f4871cfcc855230216c279.tar.gz
add mdeditv2025.1
Diffstat (limited to 'vendor/github.com/yuin/goldmark/util/html5entities.go')
-rw-r--r--vendor/github.com/yuin/goldmark/util/html5entities.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/github.com/yuin/goldmark/util/html5entities.go b/vendor/github.com/yuin/goldmark/util/html5entities.go
new file mode 100644
index 0000000..ece2504
--- /dev/null
+++ b/vendor/github.com/yuin/goldmark/util/html5entities.go
@@ -0,0 +1,47 @@
+package util
+
+import (
+ "sync"
+)
+
+//go:generate go run ../_tools emb-structs -i ../_tools/html5entities.json -o ./html5entities.gen.go
+
+var _html5entitiesOnce sync.Once
+var _html5entitiesMap map[string]*HTML5Entity
+
+func buildHTML5Entities() {
+ _html5entitiesOnce.Do(func() {
+ entities := make([]HTML5Entity, _html5entitiesLength)
+ _html5entitiesMap = make(map[string]*HTML5Entity, _html5entitiesLength)
+
+ cName := 0
+ cCharacters := 0
+ for i := 0; i < _html5entitiesLength; i++ {
+ tName := cName + int(_html5entitiesNameIndex[i])
+ tCharacters := cCharacters + int(_html5entitiesCharactersIndex[i])
+
+ name := _html5entitiesName[cName:tName]
+ e := &entities[i]
+ e.Name = name
+ e.Characters = _html5entitiesCharacters[cCharacters:tCharacters]
+ _html5entitiesMap[name] = e
+
+ cName = tName
+ cCharacters = tCharacters
+ }
+ })
+}
+
+// HTML5Entity struct represents HTML5 entitites.
+type HTML5Entity struct {
+ Name string
+ Characters []byte
+}
+
+// LookUpHTML5EntityByName returns (an HTML5Entity, true) if an entity named
+// given name is found, otherwise (nil, false).
+func LookUpHTML5EntityByName(name string) (*HTML5Entity, bool) {
+ buildHTML5Entities()
+ v, ok := _html5entitiesMap[name]
+ return v, ok
+}