varuI=Object.create;varku=Object.defineProperty;varcI=Object.getOwnPropertyDescriptor;varlI=Object.getOwnPropertyNames;varfI=Object.getPrototypeOf,dI=Object.prototype.hasOwnProperty;varhI=(e,t,r)=>tine?ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;varv=(e,t)=>()=>(e&&(t=e(e=0)),t);varPi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Nn=(e,t)=>{for(varrint)ku(e,r,{get:t[r],enumerable:!0})},B_=(e,t,r,n)=>{if(t&&typeoft=="object"||typeoft=="function")for(letioflI(t))!dI.call(e,i)&&i!==r&&ku(e,i,{get:()=>t[i],enumerable:!(n=cI(t,i))||n.enumerable});returne};varln=(e,t,r)=>(r=e!=null?uI(fI(e)):{},B_(t||!e||!e.__esModule?ku(r,"default",{value:e,enumerable:!0}):r,e)),$_=e=>B_(ku({},"__esModule",{value:!0}),e);varzl=(e,t,r)=>(hI(e,typeoft!="symbol"?t+"":t,r),r),hp=(e,t,r)=>{if(!t.has(e))throwTypeError("Cannot "+r)};varMi=(e,t,r)=>(hp(e,t,"read from private field"),r?r.call(e):t.get(e)),Ru=(e,t,r)=>{if(t.has(e))throwTypeError("Cannot add the same private member more than once");tinstanceofWeakSet?t.add(e):t.set(e,r)},pp=(e,t,r,n)=>(hp(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);varH_=(e,t,r)=>(hp(e,t,"access private method"),r);varU_,V_=v(()=>{U_="5"});varWn=v(()=>{V_();typeofwindow<"u"&&((window.__svelte??={}).v??=newSet).add(U_)});varva,is,as,Fi,Pt,Ht,q_,z_,bt=v(()=>{va="[",is="[!",as="]",Fi={},Pt=Symbol(),Ht=Symbol("filename"),q_=Symbol("hmr"),z_="http://www.w3.org/1999/xhtml"});varYl,Y_=v(()=>{Yl=!0});varK_,se,j_=v(()=>{K_=globalThis.process?.env?.NODE_ENV,se=K_&&!K_.toLowerCase().startsWith("prod")});varW_=v(()=>{});varmt=v(()=>{Y_();j_();W_()});varxr,ss,Lu,G_,Nt=v(()=>{xr=Symbol("$state"),ss=Symbol("$state metadata"),Lu=Symbol("legacy props"),G_=Symbol("")});functionxa(e){returntypeofe=="function"}functionZ_(e){returne()}functionos(e){for(vart=0;t<e.length;t++)e[t]()}varfn,Q_,Pu,mp,Kt,Kr,Kl,gp,X_,Ta,Ut,it=v(()=>{fn=Array.isArray,Q_=Array.prototype.indexOf,Pu=Array.from,mp=Object.keys,Kt=Object.defineProperty,Kr=Object.getOwnPropertyDescriptor,Kl=Object.getOwnPropertyDescriptors,gp=Object.prototype,X_=Array.prototype,Ta=Object.getPrototypeOf;Ut=()=>{}});functionJ_(){vare=Mu;Mu=[],os(e)}functioneb(){vare=Fu;Fu=[],os(e)}functiondn(e){Mu.length===0&&queueMicrotask(J_),Mu.push(e)}functiontb(e){Fu.length===0&&pI(eb),Fu.push(e)}function_p(){Mu.length>0&&J_(),Fu.length>0&&eb()}varpI,Mu,Fu,On=v(()=>{it();pI=typeofrequestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback,Mu=[],Fu=[]});functionjl(e){returne===this.v}functioneo(e,t){returne!=e?t==t:e!==t||e!==null&&typeofe=="object"||typeofe=="function"}functionto(e){return!eo(e,this.v)}varus=v(()=>{});functionbp(){if(se){lete=newError("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/bind_invalid_checkbox_value")}functionrb(){if(se){lete=newError(`derived_references_self
\`${e}\` cannot be used inside an effect cleanup function
https://svelte.dev/e/effect_in_teardown`);throwt.name="Svelte error",t}elsethrownewError("https://svelte.dev/e/effect_in_teardown")}functionib(){if(se){lete=newError("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/effect_in_unowned_derived")}functionab(e){if(se){lett=newError(`effect_orphan
\`${e}\` can only be used inside an effect (e.g. during component initialisation)
Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops
The \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files
https://svelte.dev/e/rune_outside_svelte`);throwt.name="Svelte error",t}elsethrownewError("https://svelte.dev/e/rune_outside_svelte")}functionlb(){if(se){lete=newError("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/state_descriptors_fixed")}functionfb(){if(se){lete=newError("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/state_prototype_fixed")}functiondb(){if(se){lete=newError("state_unsafe_local_read\nReading state that was created inside the same derived is forbidden. Consider using `untrack` to read locally created state\nhttps://svelte.dev/e/state_unsafe_local_read");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/state_unsafe_local_read")}functionhb(){if(se){lete=newError("state_unsafe_mutation\nUpdating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throwe.name="Svelte error",e}elsethrownewError("https://svelte.dev/e/state_unsafe_mutation")}varhn=v(()=>{mt()});functionpb(){mi=!0}varmi,gi,Bi=v(()=>{mi=!1,gi=!1});varEp=v(()=>{mt()});varBu=v(()=>{mt();Ep();it()});function$i(e){lett=Error(),r=t.stack;if(r){letn=r.split(`
%cThe \`${e}\` attribute on \`${t}\` changed its value between server and client renders. The client value, \`${r}\`, will be ignored in favour of the server value
%c${e?`The value of an \`{@html ...}\` block ${e} changed between server and client renders. The client value will be ignored in favour of the server value`:"The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"}
%c${e?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${e}`:"Hydration failed because the initial UI does not match what was rendered on the server"}
%c${e?`${e} mutated a value owned by ${t}. This is strongly discouraged. Consider passing values to child components with \`bind:\`, or use a callback instead`:"Mutating a value outside the component that created it is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead"}
%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${e}\` will produce unexpected results
${n?`\u{1F44D} You have installed <a href="https://github.com/scambier/obsidian-text-extractor">Text Extractor</a>, Omnisearch can use it to index PDFs and images contents.
<br />Text extraction only works on desktop, but the cache can be synchronized with your mobile device.`:'\u26A0\uFE0F Omnisearch requires <a href="https://github.com/scambier/obsidian-text-extractor">Text Extractor</a> to index PDFs and images.'}
${i?'<br/>\u{1F44D} You have installed <a href="https://github.com/Swaggeroo/obsidian-ai-image-analyzer">AI Image Analyzer</a>, Omnisearch can use it to index images contents with ai.':'<br/>\u26A0\uFE0F Omnisearch requires <a href="https://github.com/Swaggeroo/obsidian-ai-image-analyzer">AI Image Analyzer</a> to index images with ai.'}`)),newJi.Setting(r).setName(`PDFs content indexing ${n?"":"\u26A0\uFE0F Disabled"}`).setDesc(ar("Omnisearch will use Text Extractor to index the content of your PDFs.")).addToggle(p=>p.setValue(t.PDFIndexing).onChange(asyncg=>{awaita.clearCache(),t.PDFIndexing=g,awaitke(e)})).setDisabled(!n),newJi.Setting(r).setName(`Images OCR indexing ${n?"":"\u26A0\uFE0F Disabled"}`).setDesc(ar("Omnisearch will use Text Extractor to OCR your images and index their content.")).addToggle(p=>p.setValue(t.imagesIndexing).onChange(asyncg=>{awaita.clearCache(),t.imagesIndexing=g,awaitke(e)})).setDisabled(!n);letl=newDocumentFragment;l.createSpan({},p=>{p.innerHTML='Omnisearch will use Text Extractor to index the content of your office documents (currently <pre style="display:inline">.docx</pre> and <pre style="display:inline">.xlsx</pre>).'}),newJi.Setting(r).setName(`Documents content indexing ${n?"":"\u26A0\uFE0F Disabled"}`).setDesc(l).addToggle(p=>p.setValue(t.officeIndexing).onChange(asyncg=>{awaita.clearCache(),t.officeIndexing=g,awaitke(e)})).setDisabled(!n);letd=newDocumentFragment;d.createSpan({},p=>{p.innerHTML=`Omnisearch will use AI Image Analyzer to index the content of your images with ai.<br/>
\u26A0\uFE0F <span style="color: var(--text-accent)">If both AI Image Analyzer and Text Extractor are enabled, Text Extractor will only be used as a fallback.</span>`}),newJi.Setting(r).setName(`Images AI indexing ${i?"":"\u26A0\uFE0F Disabled"}`).setDesc(d).addToggle(p=>p.setValue(t.aiImageIndexing).onChange(asyncg=>{awaita.clearCache(),t.aiImageIndexing=g,awaitke(e)})).setDisabled(!i),newJi.Setting(r).setName("Index paths of unsupported files").setDesc(ar(`
Omnisearch can index file<strong>names</strong> of "unsupported" files, such as e.g. <pre style="display:inline">.mp4</pre>
or non-extracted PDFs & images.<br/>
"Obsidian setting" will respect the value of "Files & Links > Detect all file extensions".`)).addDropdown(p=>{p.addOptions({yes:"Yes",no:"No",default:"Obsidian setting"}).setValue(t.unsupportedFilesIndexing).onChange(asyncg=>{awaito(),t.unsupportedFilesIndexing=g,awaitke(e)})}),newJi.Setting(r).setName("Set frontmatter property key as title").setDesc(ar(`If you have a custom property in your notes that you want to use as the title in search results. If you set this to '#heading', then use the first heading from a file as the title.<br>
Leave empty to disable.`)).addText(p=>{p.setValue(t.displayTitle).onChange(asyncg=>{awaito(),t.displayTitle=g,awaitke(e)})}),newJi.Setting(r).setName("Additional TEXT files to index").setDesc(ar(`In addition to standard <code>md</code> files, Omnisearch can also index other <strong style="color: var(--text-accent)">PLAINTEXT</strong> files.<br/>
Add extensions separated by a space, without the dot. Example: "<code>txt org csv</code>".<br />
\u26A0\uFE0F <span style="color: var(--text-accent)">Using extensions of non-plaintext files (like .pptx) WILL cause crashes,
because Omnisearch will try to index their content.</span>`)).addText(p=>{p.setValue(t.indexedFileTypes.join(" ")).setPlaceholder("Example: txt org csv").onChange(asyncg=>{awaita.clearCache(),t.indexedFileTypes=g.split(" "),awaitke(e)})})}varJi,Ty=v(()=>{Ji=require("obsidian");mr();mr();Dc()});functionxy(e,t,r){letn=e.database;newrn.Setting(r).setName("Behavior").setHeading(),newrn.Setting(r).setName("Save index to cache").setDesc("Enable caching to speed up indexing time. In rare cases, the cache write may cause a crash in Obsidian. This option will disable itself if it happens.").addToggle(i=>i.setValue(t.useCache).onChange(asynca=>{t.useCache=a,awaitke(e)})),newrn.Setting(r).setName("Show previous query results").setDesc("Re-executes the previous query when opening Omnisearch.").addToggle(i=>i.setValue(t.showPreviousQueryResults).onChange(asynca=>{t.showPreviousQueryResults=a,awaitke(e)})),newrn.Setting(r).setName(`Respect Obsidian's "Excluded Files"`).setDesc(`By default, files that are in Obsidian's "Options > Files & Links > Excluded Files" list are downranked in results.
Enable this option to completely hide them.`).addToggle(i=>i.setValue(t.hideExcluded).onChange(asynca=>{t.hideExcluded=a,awaitke(e)})),newrn.Setting(r).setName("Folders to downrank in search results").setDesc("Folders to downrank in search results. Files in these folders will be downranked in results. They will still be indexed for tags, unlike excluded files. Folders should be comma delimited.").addText(i=>{i.setValue(t.downrankedFoldersFilters.join(",")).setPlaceholder("Example: src,p2/dir").onChange(asynca=>{leto=a.split(",");o=o.map(l=>l.trim()),t.downrankedFoldersFilters=o,awaitke(e)})}),newrn.Setting(r).setName("Split CamelCaseWords").setDesc(ar(`Enable this if you want to be able to search for CamelCaseWords as separate words.<br/>
\u26A0\uFE0F <span style="color: var(--text-accent)">Changing this setting will clear the cache.</span><br>
${Ao}`)).addToggle(i=>i.setValue(t.splitCamelCase).onChange(asynca=>{awaitn.clearCache(),t.splitCamelCase=a,awaitke(e)})),newrn.Setting(r).setName("Simpler search").setDesc(`Enable this if Obsidian often freezes while making searches.
Words shorter than 3 characters won't be used as prefixes; this can reduce search delay but will return fewer results.`).addToggle(i=>i.setValue(t.simpleSearch).onChange(asynca=>{t.simpleSearch=a,awaitke(e)})),rn.Platform.isIosApp||newrn.Setting(r).setName("Tokenize URLs").setDesc(`Enable this if you want to be able to search for URLs as separate words.
This setting has a strong impact on indexing performance, and can crash Obsidian under certain conditions.`).addToggle(i=>i.setValue(t.tokenizeUrls).onChange(asynca=>{t.tokenizeUrls=a,awaitke(e)})),newrn.Setting(r).setName("Open in new pane").setDesc("Open and create files in a new pane instead of the current pane.").addToggle(i=>i.setValue(t.openInNewPane).onChange(asynca=>{t.openInNewPane=a,awaitke(e)})),newrn.Setting(r).setName("Set Vim like navigation keys").setDesc(`Navigate down the results with ${vn()} + J/N, or navigate up with ${vn()} + K/P.`).addToggle(i=>i.setValue(t.vimLikeNavigationShortcut).onChange(asynca=>{t.vimLikeNavigationShortcut=a,awaitke(e)})),newrn.Setting(r).setName("Fuzziness").setDesc("Define the level of fuzziness for the search. The higher the fuzziness, the more results you'll get.").addDropdown(i=>i.addOptions({0:"Exact match",1:"Not too fuzzy",2:"Fuzzy enough"}).setValue(t.fuzziness).onChange(asynca=>{["0","1","2"].includes(a)||(a="2"),t.fuzziness=a,awaitke(e)}))}varrn,yy=v(()=>{rn=require("obsidian");mr();mr();Nr()});functionAy(e,t,r){newMa.Setting(r).setName("User Interface").setHeading(),newMa.Setting(r).setName("Show ribbon button").setDesc("Add a button on the sidebar to open the Vault search modal.").addToggle(n=>n.setValue(t.ribbonIcon).onChange(asynci=>{t.ribbonIcon=i,awaitke(e),i?e.addRibbonButton():e.removeRibbonButton()})),newMa.Setting(r).setName("Show excerpts").setDesc("Shows the contextual part of the note that matches the search. Disable this to only show filenames in results.").addToggle(n=>n.setValue(t.showExcerpt).onChange(asynci=>{Fa.set(i)})),newMa.Setting(r).setName("Show embed references").setDesc(ar(`Some results are <a href="https://help.obsidian.md/Linking+notes+and+files/Embed+files">embedded</a> in other notes.<br>
This setting controls the maximum number of embeds to show in the search results. Set to 0 to disable.<br>
Also works with Text Extractor for embedded images and documents.`)).addSlider(n=>{n.setLimits(0,10,1).setValue(t.maxEmbeds).setDynamicTooltip().onChange(asynci=>{t.maxEmbeds=i,awaitke(e)})}),newMa.Setting(r).setName("Render line return in excerpts").setDesc("Activate this option to render line returns in result excerpts.").addToggle(n=>n.setValue(t.renderLineReturnInExcerpts).onChange(asynci=>{t.renderLineReturnInExcerpts=i,awaitke(e)})),newMa.Setting(r).setName('Show "Create note" button').setDesc(ar(`Shows a button next to the search input, to create a note.
Acts the same as the <code>shift \u21B5</code> shortcut, can be useful for mobile device users.`)).addToggle(n=>n.setValue(t.showCreateButton).onChange(asynci=>{t.showCreateButton=i,awaitke(e)})),newMa.Setting(r).setName("Highlight matching words in results").setDesc("Will highlight matching results when enabled. See README for more customization options.").addToggle(n=>n.setValue(t.highlight).onChange(asynci=>{t.highlight=i,awaitke(e)}))}varMa,wy=v(()=>{Ma=require("obsidian");wo();mr();mr()});functionCy(e,t,r,n){functioni(o,l){o.setLimits(1,10,.5).setValue(t[l]).setDynamicTooltip().onChange(asyncd=>{t[l]=d,awaitke(e)})}leta=kc(e.app);newFn.Setting(r).setName("Results weighting").setHeading(),newFn.Setting(r).setName(`File name & declared aliases (default: ${a.weightBasename})`).addSlider(o=>i(o,"weightBasename")),newFn.Setting(r).setName(`File directory (default: ${a.weightDirectory})`).addSlider(o=>i(o,"weightDirectory")),newFn.Setting(r).setName(`Headings level 1 (default: ${a.weightH1})`).addSlider(o=>i(o,"weightH1")),newFn.Setting(r).setName(`Headings level 2 (default: ${a.weightH2})`).addSlider(o=>i(o,"weightH2")),newFn.Setting(r).setName(`Headings level 3 (default: ${a.weightH3})`).addSlider(o=>i(o,"weightH3")),newFn.Setting(r).setName(`Tags (default: ${a.weightUnmarkedTags})`).addSlider(o=>i(o,"weightUnmarkedTags")),newFn.Setting(r).setName("Header properties fields").setDesc('You can set custom weights for values of header properties (e.g. "keywords"). Weights under 1.0 will downrank the results.');for(leto=0;o<t.weightCustomProperties.length;o++){letl=t.weightCustomProperties[o],d=newFn.Setting(r).setName((o+1).toString()+".");d.settingEl.style.paddingLeft="2em",d.addText(p=>{p.setPlaceholder("Property name").setValue(l.name).onChange(asyncg=>{l.name=g,awaitke(e)})}).addSlider(p=>{p.setLimits(.1,5,.1).setValue(l.weight).setDynamicTooltip().onChange(asyncg=>{l.weight=g,awaitke(e)})}).addButton(p=>{p.setButtonText("Remove"),p.onClick(async()=>{t.weightCustomProperties.splice(o,1),awaitke(e),n()})})}newFn.Setting(r).addButton(o=>{o.setButtonText("Add a new property"),o.onClick(l=>{t.weightCustomProperties.push({name:"",weight:1}),n()})}),newFn.Setting(r).setName("Recency boost (experimental)").setDesc("Files that have been modified more recently than [selected cutoff] are given a higher rank.").addDropdown(o=>o.addOptions({["0"]:"Disabled",["1"]:"24 hours",["2"]:"7 days",["3"]:"30 days"}).setValue(t.recencyBoost).onChange(asyncl=>{t.recencyBoost=l,awaitke(e)}))}varFn,Iy=v(()=>{Fn=require("obsidian");wo();mr();en()});functionNy(e,t,r){ks.Platform.isMobile||(newks.Setting(r).setName("API Access Through HTTP").setHeading().setDesc(ar('Omnisearch can be used through a simple HTTP server (<a href="https://publish.obsidian.md/omnisearch/Public+API+%26+URL+Scheme#HTTP+Server">more information</a>).')),newks.Setting(r).setName("Enable the HTTP server").addToggle(n=>n.setValue(t.httpApiEnabled).onChange(asynci=>{t.httpApiEnabled=i,i?e.apiHttpServer.listen(t.httpApiPort):e.apiHttpServer.close(),awaitke(e)})),newks.Setting(r).setName("HTTP Port").addText(n=>{n.setValue(t.httpApiPort).setPlaceholder("51361").onChange(asynci=>{parseInt(i)>65535&&(i=t.httpApiPort,n.setValue(t.httpApiPort)),t.httpApiPort=i,t.httpApiEnabled&&(e.apiHttpServer.close(),e.apiHttpServer.listen(t.httpApiPort)),awaitke(e)})}),newks.Setting(r).setName("Show a notification when the server starts").setDesc("Will display a notification if the server is enabled, at Obsidian startup.").addToggle(n=>n.setValue(t.httpApiNotice).onChange(asynci=>{t.httpApiNotice=i,awaitke(e)})))}varks,Oy=v(()=>{ks=require("obsidian");mr();mr()});functionDy(e,t,r){letn=e.database;newwi.Setting(r).setName("Danger Zone").setHeading(),newwi.Setting(r).setName("Ignore diacritics").setDesc(ar(`Normalize diacritics in search terms. Words like "br\xFBl\xE9e" or "\u017Elu\u0165ou\u010Dk\xFD" will be indexed as "brulee" and "zlutoucky".<br/>
\u26A0\uFE0F <span style="color: var(--text-accent)">You probably should <strong>NOT</strong> disable this.</span><br>
\u26A0\uFE0F <span style="color: var(--text-accent)">Changing this setting will clear the cache.</span><br>
${Ao}`)).addToggle(a=>a.setValue(t.ignoreDiacritics).onChange(asynco=>{awaitn.clearCache(),t.ignoreDiacritics=o,awaitke(e)})),newwi.Setting(r).setName("Ignore Arabic diacritics (beta)").addToggle(a=>a.setValue(t.ignoreArabicDiacritics).onChange(asynco=>{awaitn.clearCache(),t.ignoreArabicDiacritics=o,awaitke(e)}));leti=newDocumentFragment;i.createSpan({},a=>{a.innerHTML=`Disable Omnisearch on this device only.<br>
${Ao}`}),newwi.Setting(r).setName("Disable on this device").setDesc(i).addToggle(a=>a.setValue(Nf(e.app)).onChange(asynco=>{o?(e.app.saveLocalStorage(Ss,"1"),newwi.Notice("Omnisearch - Disabled. Please restart Obsidian.")):(e.app.saveLocalStorage(Ss),newwi.Notice("Omnisearch - Enabled. Please restart Obsidian."))})),newwi.Setting(r).setName("Force save the cache").setDesc(ar(`Omnisearch has a security feature that automatically disables cache writing if it cannot fully perform the operation.<br>
Use this option to force the cache to be saved, even if it causes a crash.<br>
\u26A0\uFE0F <span style="color: var(--text-accent)">Enabling this setting could lead to crash loops</span>`)).addToggle(a=>a.setValue(t.DANGER_forceSaveCache).onChange(asynco=>{t.DANGER_forceSaveCache=o,awaitke(e)})),Qi()&&newwi.Setting(r).setName("Clear cache data").setDesc(ar(`Erase all Omnisearch cache data.
Use this if Omnisearch results are inconsistent, missing, or appear outdated.<br>
<a href='https://ko-fi.com/B0B6LQ2C' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi2.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
`,vy(this.plugin,Or,r),r.createEl("hr"),xy(this.plugin,Or,r),r.createEl("hr"),Ay(this.plugin,Or,r),r.createEl("hr"),Cy(this.plugin,Or,r,this.display),r.createEl("hr"),Ny(this.plugin,Or,r),r.createEl("hr"),Dy(this.plugin,Or,r),r.createEl("hr"),newRc.Setting(r).setName("Debugging").setHeading(),newRc.Setting(r).setName("Enable verbose logging").setDesc('Adds a LOT of logs for debugging purposes. You also need to enable "Verbose" logging in the console to see these logs.').addToggle(a=>a.setValue(Or.verboseLogging).onChange(asynco=>{Or.verboseLogging=o,Sm(o),awaitke(this.plugin)}))}}});functiona0(e){vart=b6();we(e,t)}varb6,Ly=v(()=>{Wn();yi();Pn();b6=Le('<span class="suggestion-flair" aria-label="Not created yet, select to create"><svg viewBox="0 0 100 100" class="add-note-glyph" width="16" height="16"><path fill="currentColor" stroke="currentColor" d="M23.3,6.7c-3.7,0-6.7,3-6.7,6.7v73.3c0,3.7,3,6.7,6.7,6.7h28.4c-3.2-4.8-5.1-10.5-5.1-16.7c0-16.6,13.4-30,30-30 c2.3,0,4.5,0.3,6.7,0.8V31.7c0-0.9-0.3-1.7-1-2.4L60.7,7.6c-0.6-0.6-1.5-1-2.4-1L23.3,6.7z M56.7,13L77,33.3H60 c-1.8,0-3.3-1.5-3.3-3.3L56.7,13z M76.7,53.3c-12.9,0-23.3,10.4-23.3,23.3S63.8,100,76.7,100S100,89.6,100,76.7 S89.6,53.3,76.7,53.3z M76.7,63.3c1.8,0,3.3,1.5,3.3,3.3v6.7h6.7c1.8,0,3.3,1.5,3.3,3.3c0,1.8-1.5,3.3-3.3,3.3H80v6.7 c0,1.8-1.5,3.3-3.3,3.3c-1.8,0-3.3-1.5-3.3-3.3V80h-6.7c-1.8,0-3.3-1.5-3.3-3.3s1.5-3.3,3.3-3.3h6.7v-6.7 C73.3,64.8,74.8,63.3,76.7,63.3L76.7,63.3z"></path></svg></span>')});functionLc(e,t){letr=ze(t,"id",8),n=ze(t,"selected",8,!1),i=ze(t,"glyph",8,!1),a=ze(t,"cssClass",8,"");varo=E6();letl;vard=xe(o);{varp=E=>{a0(E,{})};tt(d,E=>{i()&&E(p)})}varg=Ye(d,2);zi(g,t,"default",{},null),Te(o),rr(E=>{Ki(o,"data-result-id",r()),l=Yi(o,1,`suggestion-item omnisearch-result ${a()??""}`,null,l,E)},[()=>({"is-selected":n()})],Br),pr("mousemove",o,function(E){Jr.call(this,t,E)}),pr("click",o,function(E){Jr.call(this,t,E)}),pr("keypress",o,function(E){Jr.call(this,t,E)}),pr("auxclick",o,function(E){Jr.call(this,t,E)}),we(e,o)}varE6,s0=v(()=>{Wn();yi();Pn();Ly();E6=Le("<div><!> <!></div>")});functionsd(e){returne.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}varPy,ad,o0=v(()=>{en();Nr();Py=require("obsidian");Dc();ad=class{constructor(t){this.plugin=t}highlightText(t,r){letn=`suggestion-highlight omnisearch-highlight ${this.plugin.settings.highlight?"omnisearch-default-highlight":""}`;if(!r.length)returnt;try{returnt.replace(newRegExp(`(${r.map(i=>Oc(i.match)).join("|")})`,"giu"),`<span class="${n}">$1</span>`)}catch(i){returnconsole.error("Omnisearch - Error in highlightText()",i),t}}stringsToRegex(t){if(!t.length)return/^$/g;t.sort((n,i)=>i.length-n.length);letr=`(${t.map(n=>`\\b${Oc(n)}\\b|${Oc(n)}`).join("|")})`;returnnewRegExp(`${r}`,"gui")}getMatches(t,r,n){r=r.map(sd);leti=this.stringsToRegex(r),a=t;this.plugin.settings.ignoreDiacritics&&(t=Wi(t,this.plugin.settings.ignoreArabicDiacritics));leto=newDate().getTime(),l=null,d=[],p=0;for(;(l=i.exec(t))!==null;){if(++p>=100||newDate().getTime()-o>50){Gi("Stopped getMatches at",p,"results");break}letg=l.index,E=g+l[0].length,_=a.substring(g,E).trim();_&&l.index>=0&&d.push({match:_,offset:l.index})}if(n&&(n.query.text.length>1||n.getExactTerms().length>0)){letg=t.indexOf(n.getBestStringForExcerpt());g>-1&&d.find(E=>E.offset===g)&&d.unshift({offset:g,match:n.getBestStringForExcerpt()})}returnd}makeExcerpt(t,r){letn=this.plugin.settings;try{leti=r??-1,a=Math.max(0,i-av),o=Math.min(t.length,i+cc);if(i>-1?t=(a>0?"\u2026":"")+t.slice(a,o).trim()+(o<t.length-1?"\u2026":""):t=t.slice(0,cc),n.renderLineReturnInExcerpts){letl=newRegExp(/(?:\r\n|\r|\n)/g);t=t.split(l).filter(p=>p).join(`
`,"<br>")),t}catch(i){returnnewPy.Notice("Omnisearch - Error while creating excerpt, see developer console"),console.error("Omnisearch - Error while creating excerpt"),console.error(i),""}}}});asyncfunctionMy(e){lett=e.app;if(!t.plugins.getPlugin("obsidian-icon-folder"))return{};letn=`${t.vault.configDir}/plugins/obsidian-icon-folder/data.json`;try{leti=awaitt.vault.adapter.read(n),a=JSON.parse(i),o={};for(letlina){letd=(0,qo.normalizePath)(l);o[d]=a[l]}returno}catch(i){returnGi("Failed to read data.json:",i),{}}}asyncfunctionFy(e){lett={Li:"lucide-icons"},r="icons",n=e.app,i=n.plugins.getPlugin("obsidian-icon-folder");if(i){r=i.settings?.iconPacksPath||"icons";leto=`${n.vault.configDir}/${r}`;try{letl=awaitn.vault.adapter.list(o);if(l.folders&&l.folders.length>0)for(letdofl.folders){letp=d.split("/"),g=p[p.length-1],E=v6(g);t[E]=g}}catch(l){Gi("Failed to list icon packs:",l)}}return{prefixToIconPack:t,iconsPath:r}}functionv6(e){if(e.includes("-")){lett=e.split("-"),r=t[0].charAt(0).toUpperCase();for(letn=1;n<t.length;n++)r+=t[n].charAt(0).toLowerCase();returnr}returne.charAt(0).toUpperCase()+e.charAt(1).toLowerCase()}functionu0(e,t){letr=(0,qo.normalizePath)(e),n=t[r];if(n){if(typeofn=="string")returnn;if(typeofn=="object"&&n.iconName)returnn.iconName}returnnull}functionT6(e){lett=e.match(/^[A-Z][a-z]*/);if(t){letr=t[0],n=e.substring(r.length);return{prefix:r,name:n}}elsereturn{prefix:"",name:e}}asyncfunctionc0(e,t,r,n){leti=T6(e),{prefix:a,name:o}=i;if(!a)return`<span class="omnisearch-result__icon--emoji">${sd(o)}</span>`;letl=n[a];if(!l)returnGi(`No icon pack found for prefix: ${a}`),null;if(l==="lucide-icons"){letd=o.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),p=(0,qo.getIcon)(d);returnp?p.outerHTML:(Gi(`Lucide icon not found: ${d}`),null)}else{if(!r)returnGi("Icons path is not set. Cannot load icon SVG."),null;letd=`${t.app.vault.configDir}/${r}/${l}/${o}.svg`;try{returnawaitt.app.vault.adapter.read(d)}catch(p){returnGi(`Failed to load icon SVG for ${e} at ${d}:`,p),null}}}functionl0(e){lett="file";e==="folder"?t="folder":Mn(e)?t="image":ti(e)?t="file-text":(Ai(e)||dc(e)||Cs(e))&&(t="layout-dashboard");letr=(0,qo.getIcon)(t);returnr?r.outerHTML:""}varqo,By=v(()=>{qo=require("obsidian");Nr();o0()});functionf0(e,t){dr(t,!1);let[r,n]=uc(),i=()=>oc(Fa,"$showExcerpt",r),a=ft(),o=ft(),l=ft(),d=ft(),p=ze(t,"selected",8,!1),g=ze(t,"note",8),E=ze(t,"plugin",8),_=ft(null),y=ft(""),C=ft(""),D={},P=ft(null),N=ft(null),L={},H,R=ft(!1);As(async()=>{D=awaitMy(E());letqe=awaitFy(E());L=qe.prefixToIconPack,H=qe.iconsPath,oe(R,!0)});asyncfunctionB(){letqe=u0(q(C),D);qe?oe(P,awaitc0(qe,E(),H,L)):oe(P,l0("folder"));letSt=u0(g().path,D);St?oe(N,awaitc0(St,E(),H,L)):oe(N,l0(g().path))}functionV(qe,St){returnqe.innerHTML=St,{update(Dt){qe.innerHTML=Dt},destroy(){qe.innerHTML=""}}}letX=null,ce=null,ve=ft(null);Qt(()=>(vt(g()),q(R),fc),()=>{g()&&g().path&&q(R)&&(async()=>(oe(y,g().displayTitle||g().basename),oe(C,fc(g().path)),awaitB()))()}),Qt(()=>(Mn,vt(g()),vt(E()),oi.TFile),()=>{if(oe(_,null),Mn(g().path)){letqe=E().app.vault.getAbstractFileByPath(g().path);qeinstanceofoi.TFile&&oe(_,E().app.vault.getResourcePath(qe))}}),Qt(()=>(vt(g()),fc,oi.setIcon,Mn,ti,Ai,dc,Cs,q(ve)),()=>{oe(y,g().displayTitle||g().basename),oe(C,fc(g().path)),X&&(0,oi.setIcon)(X,"folder-open"),ce&&(Mn(g().path)?(0,oi.setIcon)(ce,"image"):ti(g().path)?(0,oi.setIcon)(ce,"file-text"):Ai(g().path)||dc(g().path)||Cs(g().path)?(0,oi.setIcon)(ce,"layout-dashboard"):(0,oi.setIcon)(ce,"file")),q(ve)&&(0,oi.setIcon)(q(ve),"corner-down-right")}),Qt(()=>(vt(E()),q(y),vt(g())),()=>{oe(a,E().textProcessor.getMatches(q(y),g().foundWords))}),Qt(()=>(vt(E()),q(C),vt(g())),()=>{oe(o,E().textProcessor.getMatches(q(C),g().foundWords))}),Qt(()=>(vt(E()),vt(g())),()=>{oe(l,E().textProcessor.makeExcerpt(g().content,g().matches[0]?.offset??-1))}),Qt(()=>{},()=>{oe(d,!1)}),Jn(),En();letRe=Br(()=>g().isEmbed?"omnisearch-result__embed":"");Lc(e,{getglyph(){returnq(d)},getid(){returng().path},getcssClass()
Inordertobeiterable,non-arrayobjectsmusthavea[Symbol.iterator]()method.`)}var Je=!0,Ue=!1,ot;return{s:function(){te=te.call(F)},n:function(){var _t=te.next();return Je=_t.done,_t},e:function(_t){Ue=!0,ot=_t},f:function(){try{!Je&&te.return!=null&&te.return()}finally{if(Ue)throw ot}}}}function p(F,K){if(F){if(typeof F=="string")return g(F,K);var te=Object.prototype.toString.call(F).slice(8,-1);if(te==="Object"&&F.constructor&&(te=F.constructor.name),te==="Map"||te==="Set")return Array.from(F);if(te==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(te))return g(F,K)}}function g(F,K){(K==null||K>F.length)&&(K=F.length);for(var te=0,fe=new Array(K);te<K;te++)fe[te]=F[te];return fe}function E(F,K){if(!(F instanceof K))throw new TypeError("Cannot call a class as a function")}function _(F,K){for(var te=0;te<K.length;te++){var fe=K[te];fe.enumerable=fe.enumerable||!1,fe.configurable=!0,"value"in fe&&(fe.writable=!0),Object.defineProperty(F,fe.key,fe)}}function y(F,K,te){return K&&_(F.prototype,K),te&&_(F,te),Object.defineProperty(F,"prototype",{writable:!1}),F}function C(F,K,te){return K in F?Object.defineProperty(F,K,{value:te,enumerable:!0,configurable:!0,writable:!0}):F[K]=te,F}function D(F,K,te){P(F,K),K.set(F,te)}function P(F,K){if(K.has(F))throw new TypeError("Cannot initialize the same private elements twice on an object")}function N(F,K){var te=R(F,K,"get");return L(F,te)}function L(F,K){return K.get?K.get.call(F):K.value}function H(F,K,te){var fe=R(F,K,"set");return B(F,fe,te),te}function R(F,K,te){if(!K.has(F))throw new TypeError("attempted to "+te+" private field on non-instance");return K.get(F)}function B(F,K,te){if(K.set)K.set.call(F,te);else{if(!K.writable)throw new TypeError("attempted to set read only private field");K.value=te}}var V=typeof Symbol<"u"?Symbol.toStringTag:"@@toStringTag",X=new WeakMap,ce=new WeakMap,ve=function(){function F(K){var te=K.executor,fe=te===void 0?function(){}:te,Fe=K.internals,Je=Fe===void 0?lt():Fe,Ue=K.promise,ot=Ue===void 0?new Promise(function(ut,_t){return fe(ut,_t,function(qr){Je.onCancelList.push(qr)})}):Ue;E(this,F),D(this,X,{writable:!0,value:void 0}),D(this,ce,{writable:!0,value:void 0}),C(this,V,"CancelablePromise"),this.cancel=this.cancel.bind(this),H(this,X,Je),H(this,ce,ot||new Promise(function(ut,_t){return fe(ut,_t,function(qr){Je.onCancelList.push(qr)})}))}return y(F,[{key:"then",value:function(te,fe){return et(N(this,ce).then(Se(te,N(this,X)),Se(fe,N(this,X))),N(this,X))}},{key:"catch",value:function(te){return et(N(this,ce).catch(Se(te,N(this,X))),N(this,X))}},{key:"finally",value:function(te,fe){var Fe=this;return fe&&N(this,X).onCancelList.push(te),et(N(this,ce).finally(Se(function(){if(te)return fe&&(N(Fe,X).onCancelList=N(Fe,X).onCancelList.filter(function(Je){return Je!==te})),te()},N(this,X))),N(this,X))}},{key:"cancel",value:function(){N(this,X).isCanceled=!0;var te=N(this,X).onCancelList;N(this,X).onCancelList=[];var fe=d(te),Fe;try{for(fe.s();!(Fe=fe.n()).done;){var Je=Fe.value;if(typeof Je=="function")try{Je()}catch(Ue){console.error(Ue)}}}catch(Ue){fe.e(Ue)}finally{fe.f()}}},{key:"isCanceled",value:function(){return N(this,X).isCanceled===!0}}]),F}(),Re=function(F){t(te,F);var K=n(te);function te(fe){return E(this,te),K.call(this,{executor:fe})}return y(te)}(ve);e.CancelablePromise=Re,C(Re,"all",function(K){return je(K,Promise.all(K))}),C(Re,"allSettled",function(K){return je(K,Promise.allSettled(K))}),C(Re,"any",function(K){return je(K,Promise.any(K))}),C(Re,"race",function(K){return je(K,Promise.race(K))}),C(Re,"resolve",function(K){return St(Promise.resolve(K))}),C(Re,"reject",function(K){return St(Promise.reject(K))}),C(Re,"isCancelable",Dt);var qe=Re;e.default=qe;function St(F){return et(F,lt())}function Dt(F){return F instanceof Re||F instanceof ve}function Se(F,K){if(F)return function(te){if(!K.isCanceled){var fe=F(te);return Dt(fe)&&K.onCancelList.push(fe.cancel),fe}return te}}function et(F,K){return new ve({internals:K,promise:F})}function je(F,K){var te=lt();return te.onCancelList.push(function(){var fe=d(F),Fe;try{for(
characters.</span>`,1),q6=Le("We found 0 results for your search here. <!>",1),z6=Le('<!> <div style="text-align: center;"><!></div>',1),Y6=Le('<!> <!> <!> <div class="prompt-instructions"><div class="prompt-instruction"><span class="prompt-instruction-command">\u2191\u2193</span><span>to navigate</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to cycle history</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to open</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command">Tab</span> <span>to switch to In-File Search</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to open in a new pane</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"></span> <span>to open in a new split</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to open in the background</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to create</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to create in a new pane</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to insert a link</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command"> </span> <span>to toggle excerpts</span></div> <div class="prompt-instruction"><span class="prompt-instruction-command">Esc</span><span>to close</span></div></div>',1)});functiong0(e,t){dr(t,!1);letr=ft(),n=ze(t,"plugin",8),i=ze(t,"offset",8),a=ze(t,"note",8),o=ze(t,"index",8,0),l=ze(t,"selected",8,!1);Qt(()=>(vt(n()),vt(a()),vt(i())),()=>{oe(r,n().textProcessor.makeExcerpt(a()?.content??"",i()))}),Jn(),En();letd=Br(()=>o().toString());Lc(e,{getid(){returnq(d)},getselected(){returnl()},$$events:{auxclick(p){Jr.call(this,t,p)},click(p){Jr.call(this,t,p)},mousemove(p){Jr.call(this,t,p)}},children:(p,g)=>{varE=K6(),_=xe(E);Ts(_,()=>n().textProcessor.highlightText(q(r),a().matches),!1,!1),Te(E),we(p,E)},$$slots:{default:!0}}),hr()}varK6,Zy=v(()=>{Wn();yi();Pn();s0();K6=Le('<div class="omnisearch-result__body"><!></div>')});function_0(e,t){dr(t,!1);letr=ze(t,"plugin",8),n=ze(t,"modal",8),i=ze(t,"parent",8,null),a=ze(t,"singleFilePath",8,""),o=ze(t,"previousQuery",8),l=ft(),d=ft([]),p=ft(0),g=ft(),E=ft();As(()=>{Me.enable("infile"),Me.on("infile","enter",N),Me.on("infile","open-in-new-pane",P),Me.on("infile","arrow-up",()=>C(-1)),Me.on("infile","arrow-down",()=>C(1)),Me.on("infile","tab",L)}),gf(()=>{Me.disable("infile")});function_(Se){letet=[],je=-1,lt=0;for(;++lt<100;){letF=y(Se,je,cc);if(!F.length)break;je=F.last().offset,et.push(F)}returnet}functiony(Se,et,je){letlt=Se.find(F=>F.offset>et);returnlt?Se.filter(F=>F.offset>et&&F.offset<=lt.offset+je):[]}functionC(Se){oe(p,Sf(q(p)+Se,q(d).length)),D()}asyncfunctionD(){awaitEi(),document.querySelector(`[data-result-id="${q(p)}"]`)?.scrollIntoView({behavior:"auto",block:"nearest"})}asyncfunctionP(){returnN(!0)}asyncfunctionN(Se=!1){if(q(g)){n().close(),i()&&i().close();letet=r().textProcessor.stringsToRegex(q(g).foundWords);et.exec(q(g).content),awaitIf(r().app,q(g),et.lastIndex,Se);letje=r().app.workspace.getActiveViewOfType(fd.MarkdownView);if(!je)return;letlt=q(d)[q(p)]??0,F=je.editor.offsetToPos(lt);F.ch=0,je.editor.setCursor(F),je.editor.scrollIntoView({from:{line:F.line-10,ch:0},to:{line:F.line+10,ch:0}})}}functionL(){newta(r(),q(l)??o()).open(),n().close()}Qt(()=>vt(o()),()=>{oe(l,o()??"")}),Qt(()=>(q(l),q(E),ea,vt(r()),vt(a())),()=>{(async()=>(q(l)&&(oe(E,newea(q(l),{ignoreDiacritics:r().settings.ignoreDiacritics,ignoreArabicDiacritics:r().settings.ignoreArabicDiacritics})),oe(g,(awaitr().searchEngine.getSuggestions(q(E),{singleFilePath:a()}))[0]??null)),oe(p,0),awaitD()))()}),Qt(()=>(q(g),q(E)),()=>{if(q(g)){letSe=_(q(g).matches),et=q(E).getExactTerms();et.length&&(Se=Se.filter(je
`+(o.tokens?this.parseInline(o.tokens):o.text);n+=r?this.renderer.paragraph(l):l;continue}default:{let o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return n}parseInline(t,r){r=r||this.renderer;let n="";for(let i=0;i<t.length;i++){let a=t[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){let o=this.options.extensions.renderers[a.type].call({parser:this},a);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){n+=o||"";continue}}switch(a.type){case"escape":{let o=a;n+=r.text(o.text);break}case"html":{let o=a;n+=r.html(o.text);break}case"link":{let o=a;n+=r.link(o.href,o.title,this.parseInline(o.tokens,r));break}case"image":{let o=a;n+=r.image(o.href,o.title,o.text);break}case"strong":{let o=a;n+=r.strong(this.parseInline(o.tokens,r));break}case"em":{let o=a;n+=r.em(this.parseInline(o.tokens,r));break}case"codespan":{let o=a;n+=r.codespan(o.text);break}case"br":{n+=r.br();break}case"del":{let o=a;n+=r.del(this.parseInline(o.tokens,r));break}case"text":{let o=a;n+=r.text(o.text);break}default:{let o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return n}},Ba=class{options;constructor(t){this.options=t||Tt.defaults}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}};zl(Ba,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));var Ad=class{defaults=wd();options=this.setOptions;parse=this.#e(yn.lex,An.parse);parseInline=this.#e(yn.lexInline,An.parseInline);Parser=An;Renderer=Ps;TextRenderer=Ko;Lexer=yn;Tokenizer=Ls;Hooks=Ba;constructor(...t){this.use(...t)}walkTokens(t,r){let n=[];for(let i of t)switch(n=n.concat(r.call(this,i)),i.type){case"table":{let a=i;for(let o of a.header)n=n.concat(this.walkTokens(o.tokens,r));for(let o of a.rows)for(let l of o)n=n.concat(this.walkTokens(l.tokens,r));break}case"list":{let a=i;n=n.concat(this.walkTokens(a.items,r));break}default:{let a=i;this.defaults.extensions?.childTokens?.[a.type]?this.defaults.extensions.childTokens[a.type].forEach(o=>{let l=a[o].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...t){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let o=r.renderers[a.name];o?r.renderers[a.name]=function(...l){let d=a.renderer.apply(this,l);return d===!1&&(d=o.apply(this,l)),d}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=r[a.level];o?o.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new Ps(this.defaults);for(let o in n.renderer){if(!(o in a))throw new Error(`renderer'${o}'doesnotexist`);if(o==="options")continue;let l=o,d=n.renderer[l],p=a[l];a[l]=(...g)=>{let E=d.apply(a,g);return E===!1&&(E=p.apply(a,g)),E||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new Ls(this.defaults);for(let o in n.tokenizer){if(!(o in a))throw new Error(`tokenizer'${o}'doesnotexist`);if(["options","rules","lexer"].includes(o))continue;let l=o,d=n.tokenizer[l],p=a[l];a[l]=(...g)=>{let E=d.apply(a,g);return E===!1&&(E=p.apply(a,g)),E}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Ba;for(let o in n.hooks){if(!(o in a))throw new Error(`hook'${o}'doesnotexist`);if(o==="options")continue;let l=o,d=n.hooks[l],p=a[l];Ba.passThroughHooks.has(o)?a[l]=g=>{if(this.defaults.async)return Pro
Please report this to https://github.com/markedjs/marked.`,t){leti="<p>An error occurred:</p><pre>"+xn(n.message+"",!0)+"</pre>";returnr?Promise.resolve(i):i}if(r)returnPromise.reject(n);thrown}}},Ms=newAd;functionst(e,t){returnMs.parse(e,t)}st.options=st.setOptions=function(e){returnMs.setOptions(e),st.defaults=Ms.defaults,yA(st.defaults),st};st.getDefaults=wd;st.defaults=Tt.defaults;st.use=function(...e){returnMs.use(...e),st.defaults=Ms.defaults,yA(st.defaults),st};st.walkTokens=function(e,t){returnMs.walkTokens(e,t)};st.parseInline=Ms.parseInline;st.Parser=An;st.parser=An.parse;st.Renderer=Ps;st.TextRenderer=Ko;st.Lexer=yn;st.lexer=yn.lex;st.Tokenizer=Ls;st.Hooks=Ba;st.parse=st;varYR=st.options,KR=st.setOptions,jR=st.use,WR=st.walkTokens,GR=st.parseInline,QR=st,XR=An.parse,ZR=yn.lex;Tt.Hooks=Ba;Tt.Lexer=yn;Tt.Marked=Ad;Tt.Parser=An;Tt.Renderer=Ps;Tt.TextRenderer=Ko;Tt.Tokenizer=Ls;Tt.getDefaults=wd;Tt.lexer=ZR;Tt.marked=st;Tt.options=YR;Tt.parse=QR;Tt.parseInline=GR;Tt.parser=XR;Tt.setOptions=KR;Tt.use=jR;Tt.walkTokens=WR});functionLA(e){returne.type===Ze.Tag||e.type===Ze.Script||e.type===Ze.Style}varZe,PA,MA,FA,BA,$A,HA,UA,VA,qA,jo=v(()=>{(function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"})(Ze||(Ze={}));PA=Ze.Root,MA=Ze.Text,FA=Ze.Directive,BA=Ze.Comment,$A=Ze.Script,HA=Ze.Style,UA=Ze.Tag,VA=Ze.CDATA,qA=Ze.Doctype});function_e(e){returnLA(e)}functionWo(e){returne.type===Ze.CDATA}functionnn(e){returne.type===Ze.Text}functionHs(e){returne.type===Ze.Comment}functionId(e){returne.type===Ze.Directive}functionBn(e){returne.type===Ze.Root}functionht(e){returnObject.prototype.hasOwnProperty.call(e,"children")}functionGo(e,t=!1){letr;if(nn(e))r=newNi(e.data);elseif(Hs(e))r=newFs(e.data);elseif(_e(e)){letn=t?B0(e.children):[],i=new$s(e.name,{...e.attribs},n);n.forEach(a=>a.parent=i),e.namespace!=null&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),r=i}elseif(Wo(e)){letn=t?B0(e.children):[],i=newzc(n);n.forEach(a=>a.parent=i),r=i}elseif(Bn(e)){letn=t?B0(e.children):[],i=newwn(n);n.forEach(a=>a.parent=i),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),r=i}elseif(Id(e)){letn=newBs(e.name,e.data);e["x-name"]!=null&&(n["x-name"]=e["x-name"],n["x-publicId"]=e["x-publicId"],n["x-systemId"]=e["x-systemId"]),r=n}elsethrownewError(`Not implemented yet: ${e.type}`);returnr.startIndex=e.startIndex,r.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(r.sourceCodeLocation=e.sourceCodeLocation),r}functionB0(e){lett=e.map(r=>Go(r,!0));for(letr=1;r<t.length;r++)t[r].prev=t[r-1],t[r-1].next=t[r];returnt}varCd,Vc,Ni,Fs,Bs,qc,zc,wn,$s,$0=v(()=>{jo();Cd=class{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}getparentNode(){returnthis.parent}setparentNode(t){this.parent=t}getpreviousSibling(){returnthis.prev}setpreviousSibling(t){this.prev=t}getnextSibling(){returnthis.next}setnextSibling(t){this.next=t}cloneNode(t=!1){returnGo(this,t)}},Vc=classextendsCd{constructor(t){super(),this.data=t}getnodeValue(){returnthis.data}setnodeValue(t){this.data=t}},Ni=classextendsVc{constructor(){super(...arguments),this.type=Ze.Text}getnodeType(){return3}},Fs=classextendsVc{constructor(){super(...arguments),this.type=Ze.Comment}getnodeType(){return8}},Bs=classextendsVc{constructor(t,r){super(r),this.name=t,this.type=Ze.Directive}getnodeType(){return1}},qc=classextendsCd{constructor(t){super(),this.children=t}getfirstChild(){vart;return(t=this.children[0])!==null&&t!==void0?t:null}getlastChild(){returnthis.children.length>0?this.children[this.children.length-1]:null}getchildNodes(){returnthis.children}setchildNodes(t){this.children=t}},zc=classextendsqc{constructor(){super(...arguments),this.type=Ze.CDATA}getnodeType(){return4}},wn=classextendsqc{constructor(){super(...arguments),this.
)`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}});functionvg(e,t){returne===Un.default.falseFunc?Un.default.falseFunc:r=>t.isTag(r)&&e(r)}functionTg(e,t){letr=t.getSiblings(e);if(r.length<=1)return[];letn=r.indexOf(e);returnn<0||n===r.length-1?[]:r.slice(n+1).filter(t.isTag)}functionbg(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}varUn,Eg,_g,qd,zd=v(()=>{Un=ln(za(),1);hg();Eg={};_g=(e,t,r,n,i)=>{leta=i(t,bg(r),n);returna===Un.default.trueFunc?e:a===Un.default.falseFunc?Un.default.falseFunc:o=>a(o)&&e(o)},qd={is:_g,matches:_g,where:_g,not(e,t,r,n,i){leta=i(t,bg(r),n);returna===Un.default.falseFunc?e:a===Un.default.trueFunc?Un.default.falseFunc:o=>!a(o)&&e(o)},has(e,t,r,n,i){let{adapter:a}=r,o=bg(r);o.relativeSelector=!0;letl=t.some(g=>g.some(el))?[Eg]:void0,d=i(t,o,l);if(d===Un.default.falseFunc)returnUn.default.falseFunc;letp=vg(d,a);if(l&&d!==Un.default.trueFunc){let{shouldTestNextSiblings:g=!1}=d;returnE=>{if(!e(E))return!1;l[0]=E;let_=a.getChildren(E),y=g?[..._,...Tg(E,a)]:_;returna.existsOne(p,y)}}returng=>e(g)&&a.existsOne(p,a.getChildren(g))}}});functionG2(e,t,r,n,i){vara;let{name:o,data:l}=t;if(Array.isArray(l)){if(!(oinqd))thrownewError(`Unknown pseudo-class :${o}(${l})`);returnqd[o](e,l,r,n,i)}letd=(a=r.pseudos)===null||a===void0?void0:a[o],p=typeofd=="string"?d:Vd[o];if(typeofp=="string"){if(l!=null)thrownewError(`Pseudo ${o} doesn't have any arguments`);letg=ia(p);returnqd.is(e,g,r,n,i)}if(typeofd=="function")returngg(d,o,l,1),g=>d(g,l)&&e(g);if(oincu)returncu[o](e,l,r,n);if(oinrl){letg=rl[o];returngg(g,o,l,2),E=>g(E,r,l)&&e(E)}thrownewError(`Unknown pseudo-class :${o}`)}varxg=v(()=>{ou();K2();j2();W2();zd()});functionyg(e,t){letr=t.getParent(e);returnr&&t.isTag(r)?r:null}functionQ2(e,t,r,n,i){let{adapter:a,equals:o}=r;switch(t.type){caseEe.PseudoElement:thrownewError("Pseudo-elements are not supported by css-select");caseEe.ColumnCombinator:thrownewError("Column combinators are not yet supported by css-select");caseEe.Attribute:{if(t.namespace!=null)thrownewError("Namespaced attributes are not yet supported by css-select");return(!r.xmlMode||r.lowerCaseAttributeNames)&&(t.name=t.name.toLowerCase()),B2[t.action](e,t,r)}caseEe.Pseudo:returnG2(e,t,r,n,i);caseEe.Tag:{if(t.namespace!=null)thrownewError("Namespaced tag names are not yet supported by css-select");let{name:l}=t;return(!r.xmlMode||r.lowerCaseTags)&&(l=l.toLowerCase()),function(p){returna.getName(p)===l&&e(p)}}caseEe.Descendant:{if(r.cacheResults===!1||typeofWeakSet>"u")returnfunction(p){letg=p;for(;g=yg(g,a);)if(e(g))return!0;return!1};letl=newWeakSet;returnfunction(p){letg=p;for(;g=yg(g,a);)if(!l.has(g)){if(a.isTag(g)&&e(g))return!0;l.add(g)}return!1}}case"_flexibleDescendant":returnfunction(d){letp=d;doif(e(p))return!0;while(p=yg(p,a));return!1};caseEe.Parent:returnfunction(d){returna.getChildren(d).some(p=>a.isTag(p)&&e(p))};caseEe.Child:returnfunction(d){letp=a.getParent(d);returnp!=null&&a.isTag(p)&&e(p)};caseEe.Sibling:returnfunction(d){letp=a.getSiblings(d);for(letg=0;g<p.length;g++){letE=p[g];if(o(d,E))break;if(a.isTag(E)&&e(E))return!0}return!1};caseEe.Adjacent:returna.prevElementSibling?function(d){letp=a.prevElementSibling(d);returnp!=null&&e(p)}:funct
`)})):{name:i,value:a.replace(Tw,`\r
`)}}).toArray()}var vw,C4,Tw,xw=v(()=>{_r();vw="input,select,textarea,keygen",C4=/%20/g,Tw=/\r?\n/g});var Vg={};Nn(Vg,{extract:()=>D4});function O4(e){var t;return typeof e=="string"?{selector:e,value:"textContent"}:{selector:e.selector,value:(t=e.value)!==null&&t!==void 0?t:"textContent"}}function D4(e){let t={};for(let r in e){let n=e[r],i=Array.isArray(n),{selector:a,value:o}=O4(i?n[0]:n),l=typeof o=="function"?o:typeof o=="string"?d=>this._make(d).prop(o):d=>this._make(d).extract(o);if(i)t[r]=this._findBySelector(a,Number.POSITIVE_INFINITY).map((d,p)=>l(p,r,t)).get();else{let d=this._findBySelector(a,1);t[r]=d.length>0?l(d[0],r,t):void 0}}return t}var yw=v(()=>{});var ja,Aw=v(()=>{N2();dw();gw();Ew();xw();yw();ja=class{constructor(t,r,n){if(this.length=0,this.options=n,this._root=r,t){for(let i=0;i<t.length;i++)this[i]=t[i];this.length=t.length}}};ja.prototype.cheerio="[cheerio object]";ja.prototype.splice=Array.prototype.splice;ja.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator];Object.assign(ja.prototype,cg,Fg,$g,Hg,Ug,Vg)});function ww(e,t){return function r(n,i,a=!0){if(n==null)throw new Error("cheerio.load() expects a string");let o=Wc(i),l=e(n,o,a,null);class d extends ja{_make(E,_){let y=p(E,_);return y.prevObject=this,y}_parse(E,_,y,C){return e(E,_,y,C)}_render(E){return t(E,this.options)}}function p(g,E,_=l,y){if(g&&Hn(g))return g;let C=Wc(y,o),D=typeof _=="string"?[e(_,C,!1,null)]:"length"in _?_:[_],P=Hn(D)?D:new d(D,null,C);if(P._root=P,!g)return new d(void 0,P,C);let N=typeof g=="string"&&Qc(g)?e(g,C,!1,null).children:k4(g)?[g]:Array.isArray(g)?g:void 0,L=new d(N,P,C);if(N)return L;if(typeof g!="string")throw new TypeError("Unexpected type of selector");let H=g,R=E?typeof E=="string"?Qc(E)?new d([e(E,C,!1,null)],P,C):(H=`${E}${H}`,P):Hn(E)?E:new d(Array.isArray(E)?E:[E],P,C):P;return R?R.find(H):L}return Object.assign(p,ag,{load:r,_root:l,_options:o,fn:d.prototype,prototype:d.prototype}),p}}function k4(e){return!!e.name||e.type==="root"||e.type==="text"||e.type==="comment"}var Sw=v(()=>{ng();iu();Aw();au()});function Zd(e){return e>=55296&&e<=57343}function Cw(e){return e>=56320&&e<=57343}function Iw(e,t){return(e-55296)*1024+9216+t}function Jd(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function eh(e){return e>=64976&&e<=65007||R4.has(e)}var R4,xt,x,Vr,th=v(()=>{R4=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),xt="\uFFFD";(function(e){e[e.EOF=-1]="EOF",e[e.NULL=0]="NULL",e[e.TABULATION=9]="TABULATION",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.LINE_FEED=10]="LINE_FEED",e[e.FORM_FEED=12]="FORM_FEED",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_0=48]="DIGIT_0",e[e.DIGIT_9=57]="DIGIT_9",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",e[e.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_A=97]="LATIN_SMALL_A",e[e.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(x||(x={}));Vr={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"}});var Y,al=v(()=>{(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolid
`)}catch(g){console.error("Omnisearch: Error while parsing Dataloom file",t),console.error(g)}elseMn(t)?this.plugin.settings.aiImageIndexing&&o?.canBeAnalyzed(n)?i=awaito.analyzeImage(n):this.plugin.settings.imagesIndexing&&a?.canFileBeExtracted(t)&&(i=awaita.extractText(n)):ti(t)&&this.plugin.settings.PDFIndexing&&a?.canFileBeExtracted(t)?i=awaita.extractText(n):dv(t)&&this.plugin.settings.officeIndexing&&a?.canFileBeExtracted(t)?i=awaita.extractText(n):this.plugin.notesIndexer.isFilenameIndexable(t)&&(i=n.path);i==null&&(console.warn(`Omnisearch: ${i} content for file`,n.path),i="");letl=r.metadataCache.getFileCache(n);if(l){letg=bv(this.plugin.app,n,l);for(letEofg.filter(_=>!this.documents.has(_))){let_=this.plugin.notesIndexer.generateIndexableNonexistingDocument(E,n.path)}if(l.frontmatter?.["excalidraw-plugin"]){letE=l.sections?.filter(_=>_.type==="comment")??[];for(let{start:_,end:y}ofE.map(C=>C.position))i=i.substring(0,_.offset-1)+i.substring(y.offset)}}letd;this.plugin.settings.displayTitle==="#heading"?d=l?.headings?.find(g=>g.level===1)?.heading??"":d=l?.frontmatter?.[this.plugin.settings.displayTitle]??"";letp=fv(l);return{basename:n.basename,displayTitle:d,content:i,cleanedContent:cv(Wi(i)),path:n.path,mtime:n.stat.mtime,tags:p,unmarkedTags:p.map(g=>g.replace("#","")),aliases:lv(l).join(""),headings1:l?wf(l,1).join(" "):"",headings2:l?wf(l,2).join(" "):"",headings3:l?wf(l,3).join(" "):""}}};Nr();bc();Nr();varAh=class{constructor(t){this.plugin=t;this.notesToReindex=newSet}flagNoteForReindex(t){this.notesToReindex.add(t)}asyncrefreshIndex(){for(letrofthis.notesToReindex)Ke("Updating file",r.path),awaitthis.plugin.documentsRepository.addDocument(r.path);lett=[...this.notesToReindex].map(r=>r.path);t.length&&(this.plugin.searchEngine.removeFromPaths(t),awaitthis.plugin.searchEngine.addFromPaths(t),this.notesToReindex.clear())}isFileIndexable(t){returnthis.isFilenameIndexable(t)||this.isContentIndexable(t)}isContentIndexable(t){letr=this.plugin.settings,n=!!this.plugin.getTextExtractor(),i=!!this.plugin.getAIImageAnalyzer(),a=n&&r.PDFIndexing,o=n&&r.imagesIndexing,l=i&&r.aiImageIndexing;returnthis.isFilePlaintext(t)||Ai(t)||hc(t)||a&&ti(t)||o&&Mn(t)||l&&Mn(t)}isFilenameIndexable(t){returnthis.canIndexUnsupportedFiles()||this.isFilePlaintext(t)||Ai(t)||Cs(t)||hc(t)}canIndexUnsupportedFiles(){returnthis.plugin.settings.unsupportedFilesIndexing==="yes"||this.plugin.settings.unsupportedFilesIndexing==="default"&&!!this.plugin.app.vault.getConfig("showUnsupportedFiles")}generateIndexableNonexistingDocument(t,r){returnt=Om(t),{path:t+(t.endsWith(".md")?"":".md"),basename:t,displayTitle:"",mtime:0,content:"",cleanedContent:"",tags:[],unmarkedTags:[],aliases:"",headings1:"",headings2:"",headings3:"",doesNotExist:!0,parent:r}}isFilePlaintext(t){return[...this.plugin.settings.indexedFileTypes,"md"].some(r=>t.endsWith(`.${r}`))}};o0();varSh=require("obsidian");Nr();varwh=class{constructor(t){this.plugin=t;this.embeds=newMap}addEmbed(t,r){this.embeds.has(t)||this.embeds.set(t,newSet),this.embeds.get(t).add(r)}removeFile(t){this.embeds.delete(t),this.refreshEmbedsForNote(t)}renameFile(t,r){this.embeds.has(t)&&(this.embeds.set(r,this.embeds.get(t)),this.embeds.delete(t)),this.embeds.forEach((n,i)=>{n.has(t)&&(n.delete(t),n.add(r))})}refreshEmbedsForNote(t){this.embeds.forEach((r,n)=>{r.has(t)&&r.delete(t)}),this.addEmbedsForNote(t)}getEmbeds(t){returnthis.embeds.has(t)?[...this.embeds.get(t)]:[]}asyncwriteToCache(){Ke("Writing embeds to cache");lett=this.plugin.database,r=[];for(let[n,i]ofthis.embeds)r.push({embedded:n,referencedBy:[...i]});awaitt.embeds.clear(),awaitt.embeds.bulkAdd(r)}asyncloadFromCache(){try{lett=this.plugin.database;if(!t.embeds){Ke("No embeds in cache");return}Ke("Loading embeds from cache");letr=awaitt.embeds.toArray();for(let{embedded:n,referencedBy:i}ofr)for(letaofi)this.addEmbed(n,a)}catch{this.plugin.database.clearCache(),console.error("Omnisearch - Error while loading embeds cache"),newSh.Notice("Omnisearch - There was an error while loading the cac