MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / searchVaultText

Function searchVaultText

apps/desktop/src/main/vault.ts:2590–2632  ·  view source on GitHub ↗
(
  root: string,
  query: string,
  preferredBackend: VaultTextSearchBackendPreference = 'auto',
  rawPaths: VaultTextSearchToolPaths = {},
  limit = 80
)

Source from the content-addressed store, hash-verified

2588}
2589
2590export async function searchVaultText(
2591 root: string,
2592 query: string,
2593 preferredBackend: VaultTextSearchBackendPreference = 'auto',
2594 rawPaths: VaultTextSearchToolPaths = {},
2595 limit = 80
2596): Promise<VaultTextSearchMatch[]> {
2597 const trimmed = query.trim()
2598 if (!trimmed) return []
2599 const paths = normalizeVaultTextSearchToolPaths(rawPaths)
2600 const capabilities = await searchVaultTextCapabilities(paths)
2601 const backend = resolveSearchBackend(preferredBackend, capabilities)
2602
2603 if (backend === 'builtin') {
2604 const candidates = await getCachedVaultTextSearchCandidates(root, 'builtin', paths, () =>
2605 collectBuiltinSearchCandidates(root)
2606 )
2607 const ranked = rankSearchCandidates(trimmed, candidates, limit)
2608 return await hydrateSearchOffsets(root, trimmed, ranked)
2609 }
2610
2611 if (backend === 'ripgrep') {
2612 const candidates = await getCachedVaultTextSearchCandidates(root, 'ripgrep', paths, () =>
2613 collectRipgrepSearchCandidates(root, paths)
2614 )
2615 const ranked = rankSearchCandidates(
2616 trimmed,
2617 candidates,
2618 limit
2619 )
2620 return await hydrateSearchOffsets(root, trimmed, ranked)
2621 }
2622
2623 const candidates = capabilities.ripgrep
2624 ? await getCachedVaultTextSearchCandidates(root, 'ripgrep', paths, () =>
2625 collectRipgrepSearchCandidates(root, paths)
2626 )
2627 : await getCachedVaultTextSearchCandidates(root, 'builtin', paths, () =>
2628 collectBuiltinSearchCandidates(root)
2629 )
2630 const ranked = await runFzfSearch(trimmed, candidates, limit, paths)
2631 return await hydrateSearchOffsets(root, trimmed, ranked)
2632}
2633
2634function resolveSafe(root: string, rel: string): string {
2635 const abs = path.resolve(root, rel)

Callers 3

vault.test.tsFile · 0.90
registerIpcFunction · 0.90
vault.perf.test.tsFile · 0.90

Calls 9

resolveSearchBackendFunction · 0.85
rankSearchCandidatesFunction · 0.85
hydrateSearchOffsetsFunction · 0.85
runFzfSearchFunction · 0.85

Tested by

no test coverage detected