Only create nip-27 regex once

This commit is contained in:
bu5hm4nn 2023-03-27 19:19:03 -06:00
parent d52545edb7
commit fe845c1850
2 changed files with 4 additions and 2 deletions

View File

@ -15,6 +15,7 @@ pub(super) fn render_content(
content: &str,
) -> Option<NoteData> {
let tag_re = app.tag_re.clone();
let nip27_re = app.nip27_re.clone();
ui.style_mut().spacing.item_spacing.x = 0.0;
// Optional repost return
@ -95,9 +96,8 @@ pub(super) fn render_content(
let rest = &s[pos..];
// implement NIP-27 nostr: links that include NIP-19 bech32 references
if rest.contains("nostr:") {
let regx = regex::Regex::new(r"(?i:nostr:[[:alnum:]]+)").unwrap();
let mut nospos = 0;
for mat in regx.find_iter(rest) {
for mat in nip27_re.find_iter(rest) {
ui.label(&s[nospos..mat.start()]); // print whatever comes before the match
let mut link_parsed = false;
let link = &s[mat.start() + 6..mat.end()];

View File

@ -135,6 +135,7 @@ struct GossipUi {
settings: Settings,
avatars: HashMap<PublicKeyHex, TextureHandle>,
tag_re: regex::Regex,
nip27_re: regex::Regex,
// Search result
search_result: String,
@ -279,6 +280,7 @@ impl GossipUi {
settings,
avatars: HashMap::new(),
tag_re: regex::Regex::new(r"(\#\[\d+\])").unwrap(),
nip27_re: regex::Regex::new(r"(?i:nostr:[[:alnum:]]+)").unwrap(),
search_result: "".to_owned(),
draft: "".to_owned(),
tag_someone: "".to_owned(),