diff --git a/src/search/omnisearch.ts b/src/search/omnisearch.ts index d77bdfa..b0872b0 100644 --- a/src/search/omnisearch.ts +++ b/src/search/omnisearch.ts @@ -172,8 +172,18 @@ export class Omnisearch { }) if (!results.length) return this.previousResults - // Downrank files that are in Obsidian's excluded list - if (settings.respectExcluded) { + // Hide or downrank files that are in Obsidian's excluded list + if (settings.hideExcluded) { + // Filter the files out + results = results.filter( + result => + !( + app.metadataCache.isUserIgnored && + app.metadataCache.isUserIgnored(result.id) + ) + ) + } else { + // Just downrank them results.forEach(result => { if ( app.metadataCache.isUserIgnored && diff --git a/src/settings.ts b/src/settings.ts index 943368d..6ffd654 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -19,7 +19,7 @@ interface WeightingSettings { export interface OmnisearchSettings extends WeightingSettings { /** Respect the "excluded files" Obsidian setting by downranking results ignored files */ - respectExcluded: boolean + hideExcluded: boolean /** Ignore diacritics when indexing files */ ignoreDiacritics: boolean /** Extensions of plain text files to index, in addition to .md */ @@ -158,11 +158,12 @@ export class SettingsTab extends PluginSettingTab { new Setting(containerEl) .setName('Respect Obsidian\'s "Excluded Files"') .setDesc( - 'Files that are in Obsidian\'s "Options > Files & Links > Excluded Files" list will be downranked in results.' + `By default, fFiles that are in Obsidian\'s "Options > Files & Links > Excluded Files" list are downranked in results. + Enable this option to completely hide them` ) .addToggle(toggle => - toggle.setValue(settings.respectExcluded).onChange(async v => { - settings.respectExcluded = v + toggle.setValue(settings.hideExcluded).onChange(async v => { + settings.hideExcluded = v await saveSettings(this.plugin) }) ) @@ -362,7 +363,7 @@ export class SettingsTab extends PluginSettingTab { } export const DEFAULT_SETTINGS: OmnisearchSettings = { - respectExcluded: true, + hideExcluded: false, ignoreDiacritics: true, indexedFileTypes: [] as string[], PDFIndexing: false,