Documenten: zoek en spring naar exacte tekst in Visueel, Bron en Pagina’s #2706
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2706
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Onderdeel van #2705.
Probleem
Een document lezen of bewerken en een passage terugvinden vereist nu verschillende zoekgedragingen. Zoeken vanuit Pagina’s schakelt ongevraagd naar Bron. Een zoektreffer moet bereikbaar zijn in de weergave waarin de gebruiker bezig is.
Codebewijs en reproductieroute
Onderzocht op main
d96a06bf8f851a362855b3821853ebd9aff17330; statische bevindingen, niet live gereproduceerd._openFindinlib/widgets/document_editor_screen.dart:681-693zet de weergave expliciet op source._jumpToMatchenlib/widgets/markdown_editor/markdown_editor.dart:425-459. De code documenteert een benaderende selectie bij inline opmaak en vraagt editorfocus aan. Exacte markering en zoekveldfocus vragen dus expliciete borging.FindReplaceSession._proseMatchesgebruiktmarkdownNonTextRanges;lib/utils/text_search.dartmaskeert hele links en codeblokken. Daarmee vallen ook zichtbare linklabels en code buiten zoeken.next()verhoogt eerst de index. Borg dat de eerste Enter werkelijk treffer 1 opent.Uitvoering
Voer het gemeenschappelijke zoekcontract van het overzicht uit voor documenten. Eén compacte zoekbediening met tekstcontext, hoofdstuk/pagina waar betrouwbaar, vorige/volgende en rechtstreeks kiezen. Blijf in Visueel, Bron of Pagina’s. Breng in Pagina’s de juiste pagina én passage in beeld met tijdelijke markering; ook alleen-lezen tekst moet doorzoekbaar zijn.
Zoek in zichtbare documentinhoud (koppen, alinea’s, lijsten, tabelcellen, linklabels, code, onderschriften). Houd zichtbare tekst en bronposities correct gekoppeld, ook bij inline opmaak, Unicode en herhaalde identieke tekst. Tabellen en andere samengestelde blokken verdienen een echte locatie; spring niet stil naar de kop van het document. De aparte documentatielezer is een bestaand ander oppervlak: hergebruik zijn geschikte patronen zonder hem ongevraagd om te bouwen.
Acceptatiecriteria
een **belangrijke** passage,[jaarverslag](https://example.invalid)en zichtbare code hebben vindbare zichtbare woorden. Bestemmings-URL en opmaaksyntax tellen standaard niet mee.Verificatie en bouwgrenzen
Breid gericht
test/find_replace_session_test.dart,test/text_search_test.dart, de document-positie/caret-tests en relevante widgettests uit. Leg de eerste-Enter-regressie en Pagina’s-route eerst falend vast. Test daarnaast werkelijk scrollen naar een treffer onderaan een lang document, soft-wrap, inline opmaak, tabellen, meerdere treffers per blok en tabwissel. Laat de app visueel keuren; selectiebereik zonder zichtbare treffer is geen bewijs. Controleer de grote-documentfixture, vertalingen en handleiding. Geen nieuwe exportfunctie of vervangfunctie.Bestaande meldingen en verschil
De gesloten #1686 leverde de eerste documentzoekfunctie; #1760 en #1771 gingen over focus/vervangen; #2137 beschermde onzichtbare Markdown tegen tellen en herschrijven. Dit vervolg vraagt zichtbaar navigeren in de huidige weergave en volledige zichtbare inhoud. Het draait die beschermingen niet terug. Code die als code wordt getoond telt als inhoud; Mermaid/chart-specificaties, linkdoelen, comments en metadata tellen niet als zichtbare code. De eerdere oplossingen zijn geen bewijs dat deze zoek-en-springroute al volledig werkt.
Opgepakt op tak
codex/zoeken-en-springenin een geïsoleerde worktree. Reikwijdte: gedeelde zoeklogica/balk, documenteditor en paginaweergave, presentatie-editor en privé presentatorzoeken, regressies, vertalingen en gebruikersdocumentatie. Bestaande Markdown-vervangbescherming en projectiegrens blijven leidend.