diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-11-17 14:35:12 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-11-17 14:35:12 -0600 |
commit | 2b98714548d585ff14dd09252233144f48b5f4b7 (patch) | |
tree | f200f39732aad5f7da3b554f02d5f78ce96bee12 /src/view/lib/strings.ts | |
parent | 859087f21d148d52d707b0057458e7dd2cbbea0a (diff) | |
download | voidsky-2b98714548d585ff14dd09252233144f48b5f4b7.tar.zst |
Add live search to autocomplete and only highlight known handles
Diffstat (limited to 'src/view/lib/strings.ts')
-rw-r--r-- | src/view/lib/strings.ts | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/view/lib/strings.ts b/src/view/lib/strings.ts index df134e37b..6d963b281 100644 --- a/src/view/lib/strings.ts +++ b/src/view/lib/strings.ts @@ -57,11 +57,17 @@ export function ago(date: number | string | Date): string { } } -export function extractEntities(text: string): Entity[] | undefined { +export function extractEntities( + text: string, + knownHandles?: Set<string>, +): Entity[] | undefined { let match let ents: Entity[] = [] const re = /(^|\s)(@)([a-zA-Z0-9\.-]+)(\b)/dg while ((match = re.exec(text))) { + if (knownHandles && !knownHandles.has(match[3])) { + continue // not a known handle + } ents.push({ type: 'mention', value: match[3], |