diff --git a/.madgerc b/.madgerc
new file mode 100644
index 0000000..4a7c725
--- /dev/null
+++ b/.madgerc
@@ -0,0 +1,7 @@
+{
+ "detectiveOptions": {
+ "ts": {
+ "skipTypeImports": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/components/ResultItemVault.svelte b/src/components/ResultItemVault.svelte
index 0e8f5ef..0030c80 100644
--- a/src/components/ResultItemVault.svelte
+++ b/src/components/ResultItemVault.svelte
@@ -1,6 +1,8 @@
+ {selected}>
{#if note.isEmbed}
+ bind:this={elEmbedIcon}
+ title="The document above is embedded in this note" />
{:else}
{#if fileIconSVG}
-
+
{/if}
{/if}
@@ -194,8 +192,7 @@
{#if folderIconSVG}
-
+
{/if}
{@html plugin.textProcessor.highlightText(notePath, matchesNotePath)}
@@ -218,7 +215,7 @@
{#if imagePath}
-

+
{/if}
diff --git a/src/main.ts b/src/main.ts
index ed9f125..a971a96 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -6,36 +6,26 @@ import {
type PluginManifest,
TFile,
} from 'obsidian'
-import {
- LocatorInFileModal,
- LocatorVaultModal,
-} from './components/modals'
-import {
- getDefaultSettings,
- loadSettings,
- SettingsTab,
- showExcerpt,
-} from './settings'
-import type { LocatorSettings } from './settings/utils'
-import { isCacheEnabled } from './settings/utils'
-import { saveSettings } from './settings/utils'
+import { LocatorInFileModal, LocatorVaultModal } from './components/modals'
+import { Database } from './database'
import {
eventBus,
EventNames,
indexingStep,
IndexingStepType,
- type TextExtractorApi,
- type AIImageAnalyzerAPI,
+ type TextExtractorApi
} from './globals'
-import { notifyOnIndexed, registerAPI } from './tools/api'
-import { Database } from './database'
-import { SearchEngine } from './search/search-engine'
-import { DocumentsRepository } from './repositories/documents-repository'
-import { logVerbose } from './tools/utils'
import { NotesIndexer } from './notes-indexer'
-import { TextProcessor } from './tools/text-processing'
+import { DocumentsRepository } from './repositories/documents-repository'
import { EmbedsRepository } from './repositories/embeds-repository'
+import { SearchEngine } from './search/search-engine'
import { SearchHistory } from './search/search-history'
+import { getDefaultSettings, loadSettings, SettingsTab } from './settings'
+import type { LocatorSettings } from './settings/utils'
+import { isCacheEnabled, saveSettings, showExcerpt } from './settings/utils'
+import { notifyOnIndexed, registerAPI } from './tools/api'
+import { TextProcessor } from './tools/text-processing'
+import { logVerbose } from './tools/utils'
export default class LocatorPlugin extends Plugin {
// FIXME: fix the type
diff --git a/src/settings/index.ts b/src/settings/index.ts
index ceba044..f50a6b9 100644
--- a/src/settings/index.ts
+++ b/src/settings/index.ts
@@ -1,21 +1,15 @@
// noinspection CssUnresolvedCustomProperty
import { App, Plugin, PluginSettingTab, Setting } from 'obsidian'
-import { writable } from 'svelte/store'
import { RecencyCutoff } from '../globals'
import type LocatorPlugin from '../main'
import { enableVerboseLogging } from '../tools/utils'
-import { injectSettingsIndexing } from './settings-indexing'
-import { type LocatorSettings, saveSettings } from './utils'
import { injectSettingsBehavior } from './settings-behavior'
+import { injectSettingsDanger } from './settings-danger'
+import { injectSettingsHttp } from './settings-http'
+import { injectSettingsIndexing } from './settings-indexing'
import { injectSettingsUserInterface } from './settings-ui'
import { injectSettingsWeighting } from './settings-weighting'
-import { injectSettingsHttp } from './settings-http'
-import { injectSettingsDanger } from './settings-danger'
-
-/**
- * A store to reactively toggle the `showExcerpt` setting on the fly
- */
-export const showExcerpt = writable(false)
+import { type LocatorSettings, saveSettings, showExcerpt } from './utils'
export class SettingsTab extends PluginSettingTab {
plugin: LocatorPlugin
diff --git a/src/settings/settings-ui.ts b/src/settings/settings-ui.ts
index 2ed61d1..193e231 100644
--- a/src/settings/settings-ui.ts
+++ b/src/settings/settings-ui.ts
@@ -1,9 +1,7 @@
import { Setting } from 'obsidian'
import type LocatorPlugin from 'src/main'
-import { showExcerpt } from '.'
import type { LocatorSettings } from './utils'
-import { saveSettings } from './utils'
-import { htmlDescription } from './utils'
+import { htmlDescription, saveSettings, showExcerpt } from './utils'
export function injectSettingsUserInterface(
plugin: LocatorPlugin,
diff --git a/src/settings/utils.ts b/src/settings/utils.ts
index 36e9669..2ad4453 100644
--- a/src/settings/utils.ts
+++ b/src/settings/utils.ts
@@ -1,7 +1,13 @@
-import { App, Platform, Plugin } from 'obsidian'
+import { Platform, Plugin } from 'obsidian'
import { RecencyCutoff } from 'src/globals'
+import { writable } from 'svelte/store'
import { settings } from '.'
+/**
+ * A store to reactively toggle the `showExcerpt` setting on the fly
+ */
+export const showExcerpt = writable(false)
+
export function htmlDescription(innerHTML: string): DocumentFragment {
const desc = new DocumentFragment()
desc.createSpan({}, span => {