fix: Klick-Erkennung des Abhängigkeits-Sprungs akzeptiert \s wie der Parser (D67)

Vor dem `:#…`-Token prüfte depIdAt nur Space/Tab, der Parser jedes \s —
vor einem geschützten Leerzeichen war das Token damit eine Abhängigkeit,
auf die Strg+Klick nichts tat. Test mit echtem NBSP; Gegenprobe: die alte
Prüfung lässt genau ihn fallen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-25 09:54:29 +02:00
co-authored by Claude Fable 5
parent 7236850f2b
commit 9999c7973e
3 changed files with 10 additions and 2 deletions
+5 -2
View File
@@ -103,8 +103,11 @@ export function depIdAt(text, caret){
let m;
while((m = DEP_TOKEN_G.exec(head))){
const p = m.index;
/* Alleinstehend angesetzt — `(:#a,#b)` bleibt damit Zitat (§1/D37). */
if(p !== idEnd && p > 0 && !/[ \t]/.test(head[p - 1])) continue;
/* Alleinstehend angesetzt — `(:#a,#b)` bleibt damit Zitat (§1/D37).
`\s` wie im Parser, nicht nur Space/Tab: Auch vor einem geschützten
Leerzeichen (etwa aus einer Web-Seite kopiert) ist das Token eine
Abhängigkeit, und der Sprung muss dieselbe Zeile lesen wie der Parser. */
if(p !== idEnd && p > 0 && !/\s/.test(head[p - 1])) continue;
const end = p + m[0].length;
if(col < p || col > end) continue;
let s = p + 1; /* hinter dem `:` */