"use strict";varm=Object.defineProperty;varw=Object.getOwnPropertyDescriptor;varS=Object.getOwnPropertyNames;varP=Object.prototype.hasOwnProperty;varT=(r,s)=>{for(vartins)m(r,t,{get:s[t],enumerable:!0})},V=(r,s,t,n)=>{if(s&&typeofs=="object"||typeofs=="function")for(letiofS(s))!P.call(r,i)&&i!==t&&m(r,i,{get:()=>s[i],enumerable:!(n=w(s,i))||n.enumerable});returnr};varx=r=>V(m({},"__esModule",{value:!0}),r);varI={};T(I,{default:()=>h});module.exports=x(I);varb=require("child_process"),a=require("obsidian");varl=require("obsidian"),o={ribbonIcon:!0,ribbonCommandUsesCode:!0,showFileContextMenuItem:!0,executeTemplate:'code "{{vaultpath}}" "{{vaultpath}}/{{filepath}}"',urlProtocol:"vscode",openFile:!0,workspacePath:"{{vaultpath}}"},c=classextendsl.PluginSettingTab{constructor(s,t){super(s,t),this.plugin=t}display(){let{containerEl:s}=this;s.empty(),s.createEl("h3",{text:"General settings"}),newl.Setting(s).setName("Display Ribbon Icon").setDesc("Toggle this OFF if you want to hide the Ribbon Icon.").addToggle(i=>i.setValue(this.plugin.settings.ribbonIcon).onChange(e=>{this.plugin.settings.ribbonIcon=e,this.plugin.saveSettings(),this.plugin.refreshIconRibbon()})),newl.Setting(s).setName("Ribbon opens via 'code' command").setDesc("Toggle this OFF if you'd prefer that the Ribbon Icon opens VS Code via URL.").addToggle(i=>i.setValue(this.plugin.settings.ribbonCommandUsesCode).onChange(e=>{this.plugin.settings.ribbonCommandUsesCode=e,this.plugin.saveSettings()})),newl.Setting(s).setName('Display "Open in VS Code" option for files/folders').setDesc('Toggle this OFF to hide the "Open in VS Code" option when right-clicking a file/folder.').addToggle(i=>i.setValue(this.plugin.settings.showFileContextMenuItem).onChange(e=>{this.plugin.settings.showFileContextMenuItem=e,this.plugin.saveSettings()})),s.createEl("h3",{text:"Open via 'code' CLI settings"});lett=document.createDocumentFragment();t.append(createEl("p",{text:"You can use the following variables: '{{vaultpath}}' (absolute), '{{filepath}}' (relative), '{{folderpath}}' (relative), '{{line}}' and '{{ch}}'."}),createEl("p",{text:`Example template: "'/usr/local/bin/code' '{{vaultpath}}' '{{vaultpath}}/{{filepath}}'"`}),createEl("span",{text:"For common issues, see the relevant part of the "}),createEl("a",{text:"readme",href:"https://github.com/NomarCub/obsidian-open-vscode#prerequisites"}),createEl("span",{text:"."})),newl.Setting(s).setName("Template for executing the 'code' command").setDesc(t).addText(i=>i.setPlaceholder(o.executeTemplate).setValue(this.plugin.settings.executeTemplate||o.executeTemplate).onChange(e=>{e=e.trim(),e===""&&(e=o.executeTemplate),this.plugin.settings.executeTemplate=e,this.plugin.saveData(this.plugin.settings)})),s.createEl("h3",{text:"Open via 'vscode://' URL settings"}),s.createEl("p",{text:"See: "}).appendChild(createEl("a",{text:"Opening VS Code with URLs",href:"https://code.visualstudio.com/docs/editor/command-line#_opening-vs-code-with-urls"})),newl.Setting(s).setName("Open current file").setDesc("Open the current file rather than the root of the vault.").addToggle(i=>i.setValue(this.plugin.settings.openFile||o.openFile).onChange(e=>{this.plugin.settings.openFile=e,this.plugin.saveData(this.plugin.settings)})),newl.Setting(s).setName("Path to VS Code Workspace").setDesc('Defaults to the {{vaultpath}} template variable. You can set this to an absolute path to a ".code-workspace" file if you prefer to use a ').addText(i=>i.setPlaceholder(o.workspacePath).setValue(this.plugin.settings.workspacePath||o.workspacePath).onChange(e=>{e=e.trim(),e===""&&(e=o.workspacePath),this.plugin.settings.workspacePath=e,this.plugin.saveData(this.plugin.settings)})).descEl.appendChild(createEl("a",{text:"multi-root workspace",href:"https://code.visualstudio.com/docs/editor/workspaces#_multiroot-workspaces"})).appendText("."),newl.Setting(s).setName("URL protocol").setDesc("You can override the default vscode:// to VS Code Insiders, VSCodium or other VS Code variants' protocol string").addText(i=>i.setPlaceholder(o.urlProtocol).setValue(