about summary refs log tree commit diff
path: root/src/view/lib/strings.ts
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-11-17 14:35:12 -0600
committerPaul Frazee <pfrazee@gmail.com>2022-11-17 14:35:12 -0600
commit2b98714548d585ff14dd09252233144f48b5f4b7 (patch)
treef200f39732aad5f7da3b554f02d5f78ce96bee12 /src/view/lib/strings.ts
parent859087f21d148d52d707b0057458e7dd2cbbea0a (diff)
downloadvoidsky-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.ts8
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],