diff --git a/cmd/tools/vdoc/html.v b/cmd/tools/vdoc/html.v
index 9832108e507e9a..d50d803c9bdc1f 100644
--- a/cmd/tools/vdoc/html.v
+++ b/cmd/tools/vdoc/html.v
@@ -13,13 +13,16 @@ import v.pref
import v.util { tabs }
const (
- css_js_assets = ['doc.css', 'normalize.css', 'doc.js', 'dark-mode.js']
- default_theme = os.resource_abs_path('theme')
- link_svg = ''
+ css_js_assets = ['doc.css', 'normalize.css', 'doc.js', 'dark-mode.js']
+ default_theme = os.resource_abs_path('theme')
+ link_svg = ''
- single_quote = "'"
- double_quote = '"'
- no_quotes_replacement = [single_quote, '', double_quote, '']
+ single_quote = "'"
+ double_quote = '"'
+ no_quotes_replacement = [single_quote, '', double_quote, '']
+
+ html_tag_escape_replacement = ['<', '<', '>', '>']
+ html_tag_escape_re = regex.regex_opt(r'`.+[(<)(>)].+`') or { panic(err) }
)
enum HighlightTokenTyp {
@@ -450,8 +453,8 @@ fn doc_node_html(dn doc.DocNode, link string, head bool, include_examples bool,
}
fn html_tag_escape(str string) string {
- escaped_string := str.replace_each(['<', '<', '>', '>'])
- mut re := regex.regex_opt(r'`.+[(<)(>)].+`') or { regex.RE{} }
+ escaped_string := str.replace_each(html_tag_escape_replacement)
+ mut re := html_tag_escape_re
if re.find_all_str(escaped_string).len > 0 {
return str
}