diff --git a/src/components/ResultItemInFile.svelte b/src/components/ResultItemInFile.svelte index 27a5805..db9bfa5 100644 --- a/src/components/ResultItemInFile.svelte +++ b/src/components/ResultItemInFile.svelte @@ -1,19 +1,22 @@ - {@html cleanedContent.replace(reg, highlighterGroups)} + {@html highlightText(cleanedContent.content, matchesExcerpt)} diff --git a/src/components/ResultItemVault.svelte b/src/components/ResultItemVault.svelte index 3360581..45f8f0d 100644 --- a/src/components/ResultItemVault.svelte +++ b/src/components/ResultItemVault.svelte @@ -3,17 +3,16 @@ import type { ResultNote } from '../globals' import { getExtension, - highlighterGroups, isFileCanvas, isFileImage, isFilePDF, - makeExcerpt, pathWithoutFilename, removeDiacritics, - stringsToRegex, } from '../tools/utils' import ResultItemContainer from './ResultItemContainer.svelte' import { setIcon } from 'obsidian' + import { cloneDeep } from 'lodash-es' + import { stringsToRegex, getMatches, makeExcerpt, highlightText } from 'src/tools/text-processing' export let selected = false export let note: ResultNote @@ -36,6 +35,11 @@ } } $: reg = stringsToRegex(note.foundWords) + $: matchesTitle = getMatches(title, reg) + $: matchesExcerpt = cloneDeep(note.matches).map(m => { + m.offset = m.offset - cleanedContent.offset + return m + }) $: cleanedContent = makeExcerpt(note.content, note.matches[0]?.offset ?? -1) $: glyph = false //cacheManager.getLiveDocument(note.path)?.doesNotExist $: { @@ -70,7 +74,7 @@