šŸŽ© You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP →
Sign In

launch-ide

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

launch-ide - npm Package Compare versions

Comparing version
1.4.4
to
1.4.5
+1
-1
dist/index.js

@@ -1,1 +0,1 @@

"use strict";var F=Object.defineProperty,H=Object.defineProperties;var X=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable;var A=(t,e,n)=>e in t?F(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,g=(t,e)=>{for(var n in e||(e={}))q.call(e,n)&&A(t,n,e[n]);if(B)for(var n of B(e))Q.call(e,n)&&A(t,n,e[n]);return t},I=(t,e)=>H(t,X(e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("fs"),w=require("path"),v=require("child_process"),j=require("os"),l=require("chalk"),J=require("dotenv"),U={"/Kiro.app/Contents/MacOS/Electron":"/Kiro.app/Contents/MacOS/Electron","/Antigravity.app/Contents/MacOS/Electron":"/Antigravity.app/Contents/MacOS/Electron","/Cursor.app/Contents/MacOS/Cursor":"/Cursor.app/Contents/MacOS/Cursor","/Comate.app/Contents/MacOS/Electron":"/Comate.app/Contents/MacOS/Electron","/Qoder.app/Contents/MacOS/Electron":"/Qoder.app/Contents/MacOS/Electron","/Qoder CN.app/Contents/MacOS/Electron":"/Qoder CN.app/Contents/MacOS/Electron","/Windsurf.app/Contents/MacOS/Electron":"/Windsurf.app/Contents/MacOS/Electron","/Trae.app/Contents/MacOS/Electron":"/Trae.app/Contents/MacOS/Electron","/Trae CN.app/Contents/MacOS/Electron":"/Trae CN.app/Contents/MacOS/Electron","/Applications/CodeBuddy.app/Contents/MacOS/Electron":"/Applications/CodeBuddy.app/Contents/MacOS/Electron","/Applications/CodeBuddy CN.app/Contents/MacOS/Electron":"/Applications/CodeBuddy CN.app/Contents/MacOS/Electron","/Visual Studio Code.app/Contents/MacOS/Electron":"/Visual Studio Code.app/Contents/MacOS/Electron","/Visual Studio Code.app/Contents/MacOS/Code":"/Visual Studio Code.app/Contents/MacOS/Code","/Visual Studio Code - Insiders.app/Contents/MacOS/Electron":"/Visual Studio Code - Insiders.app/Contents/MacOS/Electron","/VSCodium.app/Contents/MacOS/Electron":"/VSCodium.app/Contents/MacOS/Electron","/WebStorm.app/Contents/MacOS/webstorm":"/WebStorm.app/Contents/MacOS/webstorm","/HBuilderX.app/Contents/MacOS/HBuilderX":"/HBuilderX.app/Contents/MacOS/HBuilderX","/Atom.app/Contents/MacOS/Atom":"atom","/Atom Beta.app/Contents/MacOS/Atom Beta":"/Atom Beta.app/Contents/MacOS/Atom Beta","/Brackets.app/Contents/MacOS/Brackets":"brackets","/Sublime Text.app/Contents/MacOS/Sublime Text":"/Sublime Text.app/Contents/SharedSupport/bin/subl","/Sublime Text.app/Contents/MacOS/sublime_text":"/Sublime Text.app/Contents/SharedSupport/bin/subl","/Sublime Text 2.app/Contents/MacOS/Sublime Text 2":"/Sublime Text 2.app/Contents/SharedSupport/bin/subl","/Sublime Text Dev.app/Contents/MacOS/Sublime Text":"/Sublime Text Dev.app/Contents/SharedSupport/bin/subl","/PhpStorm.app/Contents/MacOS/phpstorm":"/PhpStorm.app/Contents/MacOS/phpstorm","/PyCharm.app/Contents/MacOS/pycharm":"/PyCharm.app/Contents/MacOS/pycharm","/PyCharm CE.app/Contents/MacOS/pycharm":"/PyCharm CE.app/Contents/MacOS/pycharm","/IntelliJ IDEA.app/Contents/MacOS/idea":"/IntelliJ IDEA.app/Contents/MacOS/idea","/IntelliJ IDEA Ultimate.app/Contents/MacOS/idea":"/IntelliJ IDEA Ultimate.app/Contents/MacOS/idea","/IntelliJ IDEA Community Edition.app/Contents/MacOS/idea":"/IntelliJ IDEA Community Edition.app/Contents/MacOS/idea","/Zed.app/Contents/MacOS/zed":"zed","/GoLand.app/Contents/MacOS/goland":"/GoLand.app/Contents/MacOS/goland","/AppCode.app/Contents/MacOS/appcode":"/AppCode.app/Contents/MacOS/appcode","/CLion.app/Contents/MacOS/clion":"/CLion.app/Contents/MacOS/clion","/RubyMine.app/Contents/MacOS/rubymine":"/RubyMine.app/Contents/MacOS/rubymine","/MacVim.app/Contents/MacOS/MacVim":"mvim","/Rider.app/Contents/MacOS/rider":"/Rider.app/Contents/MacOS/rider"},z={kiro:["/Kiro.app/Contents/MacOS/Electron"],cursor:["/Cursor.app/Contents/MacOS/Cursor"],comate:["/Comate.app/Contents/MacOS/Electron"],qoder:["/Qoder.app/Contents/MacOS/Electron","/Qoder CN.app/Contents/MacOS/Electron"],windsurf:["/Windsurf.app/Contents/MacOS/Electron"],trae:["/Trae.app/Contents/MacOS/Electron","/Trae CN.app/Contents/MacOS/Electron"],codebuddy:["/Applications/CodeBuddy.app/Contents/MacOS/Electron","/Applications/CodeBuddy CN.app/Contents/MacOS/Electron"],antigravity:["Antigravity.app/Contents/MacOS/Electron"],code:["/Visual Studio Code.app/Contents/MacOS/Electron","/Visual Studio Code.app/Contents/MacOS/Code"],"code-insiders":["/Visual Studio Code - Insiders.app/Contents/MacOS/Electron"],webstorm:["/WebStorm.app/Contents/MacOS/webstorm"],atom:["/Atom.app/Contents/MacOS/Atom"],hbuilder:["/HBuilderX.app/Contents/MacOS/HBuilderX"],phpstorm:["/PhpStorm.app/Contents/MacOS/phpstorm"],pycharm:["/PyCharm.app/Contents/MacOS/pycharm"],idea:["/IntelliJ IDEA.app/Contents/MacOS/idea"],codium:["/VSCodium.app/Contents/MacOS/Electron"],goland:["/GoLand.app/Contents/MacOS/goland"],colin:["/CLion.app/Contents/MacOS/clion"],appcode:["/AppCode.app/Contents/MacOS/appcode"],"atom-beta":["/Atom Beta.app/Contents/MacOS/Atom Beta"],brackets:["/Brackets.app/Contents/MacOS/Brackets"],rider:["/Rider.app/Contents/MacOS/rider"],rubymine:["/RubyMine.app/Contents/MacOS/rubymine"],sublime:["/Sublime Text.app/Contents/MacOS/sublime_text"],zed:["/Zed.app/Contents/MacOS/zed"]},D={kiro:"kiro",cursor:"cursor",comate:"comate",qoder:"qoder",windsurf:"windsurf",trae:"trae",codebuddy:"codebuddy",antigravity:"antigravity",code:"vscode",codium:"vscodium"},K={kiro:"kiro",antigravity:"antigravity",cursor:"cursor",windsurf:"windsurf",code:"code",vscodium:"vscodium",codium:"codium",webstorm:"webstorm","webstorm.sh":"webstorm",hbuilderx:"hbuilderx","hbuilderx.sh":"hbuilderx",atom:"atom",Brackets:"brackets","code-insiders":"code-insiders",emacs:"emacs",gvim:"gvim",idea:"idea","idea.sh":"idea",phpstorm:"phpstorm","phpstorm.sh":"phpstorm",pycharm:"pycharm","pycharm.sh":"pycharm",rubymine:"rubymine","rubymine.sh":"rubymine",sublime_text:"subl",vim:"vim",goland:"goland","goland.sh":"goland",rider:"rider","rider.sh":"rider"},G={kiro:["kiro"],antigravity:["antigravity"],code:["code"],"code-insiders":["code-insiders"],webstorm:["webstorm","webstorm.sh"],cursor:["cursor"],windsurf:["windsurf"],trae:["trae"],comate:["comate"],qoder:["qoder"],codebuddy:["codebuddy"],atom:["atom"],hbuilder:["hbuilderx","hbuilderx.sh"],phpstorm:["phpstorm","phpstorm.sh"],pycharm:["pycharm","pycharm.sh"],idea:["idea","idea.sh"],codium:["vscodium"],goland:["goland"],brackets:["Brackets"],rider:["rider"],rubymine:["rubymine","rubymine.sh"],sublime:["sublime_text"],vim:["vim"],emacs:["emacs"]},Z={"Kiro.exe":"","Antigravity.exe":"","Cursor.exe":"","Windsurf.exe":"","Trae.exe":"","Trae CN.exe":"","comate.exe":"","Qoder.exe":"","Qoder CN.exe":"","CodeBuddy.exe":"","CodeBuddy CN.exe":"","Code.exe":"","Code - Insiders.exe":"","VSCodium.exe":"","webstorm.exe":"","webstorm64.exe":"","HBuilderX.exe":"","HBuilderX64.exe":"","HBuilder.exe":"","HBuilder64.exe":"","Brackets.exe":"","atom.exe":"","sublime_text.exe":"","notepad++.exe":"","clion.exe":"","clion64.exe":"","idea.exe":"","idea64.exe":"","phpstorm.exe":"","phpstorm64.exe":"","pycharm.exe":"","pycharm64.exe":"","rubymine.exe":"","rubymine64.exe":"","goland.exe":"","goland64.exe":"","rider.exe":"","rider64.exe":""},Y={kiro:["Kiro.exe"],antigravity:["Antigravity.exe"],code:["Code.exe"],"code-insiders":["Code - Insiders.exe"],webstorm:["webstorm.exe","webstorm64.exe"],cursor:["Cursor.exe"],windsurf:["Windsurf.exe"],trae:["Trae.exe","Trae CN.exe"],comate:["comate.exe"],qoder:["Qoder.exe","Qoder CN.exe"],codebuddy:["CodeBuddy.exe","CodeBuddy CN.exe"],atom:["atom.exe"],hbuilder:["HBuilderX.exe","HBuilder.exe","HBuilderX64.exe","HBuilder64.exe"],phpstorm:["phpstorm.exe","phpstorm64.exe"],pycharm:["pycharm.exe","pycharm64.exe"],idea:["idea.exe","idea64.exe"],codium:["VSCodium.exe"],goland:["goland.exe","goland64.exe"],colin:["clion.exe","clion64.exe"],brackets:["Brackets.exe"],rider:["rider.exe","rider64.exe"],rubymine:["rubymine.exe","rubymine64.exe"],sublime:["sublime_text.exe"],notepad:["notepad++.exe"]},$={darwin:U,linux:K,win32:Z},_={darwin:z,linux:G,win32:Y},u="{file}",m="{line}",E="{column}";function L(t,e,n,o){let a="".concat(t,":").concat(e,":").concat(n);if(typeof o=="string")a=o.replace(u,t).replace(m,e.toString()).replace(E,n.toString());else if(o instanceof Array)return o.map(r=>r.replace(u,t).replace(m,e.toString()).replace(E,n.toString()));return[a]}const ee=["-g","-r","{file}:{line}:{column}"];function te(t){const{editorBasename:e,fileName:n,lineNumber:o,colNumber:a,workspace:r,openWindowParams:i,pathFormat:c}=t,x=oe({editorBasename:e,openWindowParams:i,workspace:r})||ee;return L(n,o,a,c||x)}function ne(t){let e=w.basename(t).replace(/\.(exe|cmd|bat|sh)$/i,"");const n=process.platform,o=Object.keys(_[n]);for(let a=0;a<o.length;a++)if((_[n][o[a]]||[]).some(i=>t.endsWith(i))){e=o[a];break}return e.toLowerCase()}function oe(t){const{editorBasename:e,openWindowParams:n,workspace:o}=t;switch(e){case"atom":case"atom beta":case"subl":case"sublime":case"sublime_text":case"wstorm":case"charm":case"zed":return"".concat(u,":").concat(m,":").concat(E);case"notepad++":return["-n"+m,"-c"+E,u];case"vim":case"mvim":return["+call cursor(".concat(m,", ").concat(E,")"),u];case"joe":case"gvim":return["+"+m,u];case"emacs":case"emacsclient":return["+"+m+":"+E,u];case"rmate":case"mate":case"mine":return["--line",m,u];case"code":case"code-insiders":case"code - insiders":case"codium":case"cursor":case"windsurf":case"trae":case"codebuddy":case"antigravity":case"comate":case"qoder":case"vscodium":case"hbuilderx":case"hbuilder":case"kiro":return[...o?[o]:[],"-g",...n?[n]:[],"".concat(u,":").concat(m,":").concat(E)];case"appcode":case"clion":case"clion64":case"idea":case"idea64":case"phpstorm":case"phpstorm64":case"pycharm":case"pycharm64":case"rubymine":case"rubymine64":case"webstorm":case"webstorm64":case"goland":case"goland64":case"rider":case"rider64":return[...o?[o]:[],"--line",m,u]}return""}function V(t){let e={};process.env&&(e=g({},process.env));let n="";if(t){const o=w.resolve(t,".env.local");T.existsSync(o)&&(n=o)}if(!n){const o=w.resolve(process.cwd(),".env.local");T.existsSync(o)&&(n=o)}if(n){const o=T.readFileSync(n,"utf-8"),a=J.parse(o||"");e=g(g({},a),e)}return e}function N(t,e){return V(e)[t]||null}const re={darwin:"ps ax -o comm=",linux:"ps -eo comm --sort=comm",win32:'powershell -NoProfile -Command "Get-CimInstance -Query \\"select executablepath from win32_process where executablepath is not null\\" | % { $_.ExecutablePath }"'};function ae(t,e,n){let o=null;const a=N("CODE_EDITOR",e||"");if(a){const r=k(a);if(r)o=r;else return[a]}if(!o&&t){const r=k(t);r&&(o=r)}if(!o&&n){const r=se();if(r)return[r]}try{let r;const i=process.platform,c=process.platform==="win32",b=re[i],x=$[i];W(c);const P=v.execSync(b,{encoding:"utf-8"}),C=Object.keys(x),O=P.split(c?"\r\n":"\n").map(M=>M.trim());for(let M=0;M<C.length;M++){const p=C[M];let s="",S="";if(c){const f=O.find(y=>w.basename(y).toLowerCase()===p.toLowerCase());f&&(S=w.basename(f),s=f)}else if(i==="darwin"){const f=O.find(y=>y.toLowerCase().endsWith(p.toLowerCase()));if(f){const y=f.replace(p,""),d=x[p];S=p,d.includes("/")?s="".concat(y).concat(d):s=d}}else P.indexOf(p)!==-1&&(S=p,s=x[p]);if(S&&s){if(o!=null&&o.includes(S))return[s];r||(r=[s])}}if(r)return r}catch(r){}return process.env.VISUAL?[process.env.VISUAL]:process.env.EDITOR?[process.env.EDITOR]:[null]}const k=t=>{const e=process.platform;return _[e]&&_[e][t]||null},W=t=>{if(t)try{v.execSync("chcp 65001")}catch(e){}};function se(){const t=process.platform,e=Object.keys($[t]);try{return ce(process.pid,t,e)}catch(n){return console.log(l.red("Error while getting editor by PID:"),n),null}}function ce(t,e,n){let o=0;const a=50,r=0;for(;t&&t!==r&&o<a;){const i=ie(t,e);if(!i)break;const{command:c,parentPid:b}=i;if(ue(c,n))return c;t=b,o++}return null}function ie(t,e){switch(e){case"darwin":case"linux":return pe(t);case"win32":return de(t);default:return null}}function pe(t){try{const n=v.execSync("ps -p ".concat(t," -o ppid=,comm="),{encoding:"utf8"}).trim().split("\n");return n.length?le(n[0].trim()):null}catch(e){return null}}function de(t){try{W(!0);const e='powershell -NoProfile -Command "Get-CimInstance -ClassName Win32_Process -Filter "ProcessId='.concat(t,'" | Select-Object ParentProcessId, ExecutablePath | ConvertTo-Csv -NoTypeInformation'),o=v.execSync(e,{encoding:"utf8"}).trim().split("\r\n").filter(i=>i.trim()).slice(1);if(o.length===0)return null;const[a,r]=o[0].split(",");return!r||!a?null:{command:r.slice(1,-1),parentPid:Number(a.slice(1,-1))}}catch(e){return null}}function le(t){const e=t.match(/^(\d+)\s+(.+)$/);return e?{command:e[2],parentPid:parseInt(e[1])}:null}function ue(t,e){return e.some(n=>t.toLowerCase().endsWith(n.toLowerCase()))}function me(t){switch(t){case"vim":case"emacs":case"nano":return!0}return!1}function Ce(t){const e=N("CODE_INSPECTOR_FORMAT_PATH",t);if(e)try{return JSON.parse(e)}catch(n){return null}return null}function R(t,e){console.log(l.red("Could not open "+w.basename(t)+" in the editor.")),e&&(e[e.length-1]!=="."&&(e+="."),console.log(l.red("The editor process exited with an error: "+e))),console.log("To set up the editor integration, add something like "+l.cyan("CODE_EDITOR=code")+" to the "+l.green(".env.local")+" file in your project folder, or add "+l.green('editor: "code"')+" to CodeInspectorPlugin config, and then restart the development server. Learn more: "+l.green("https://goo.gl/MMTaZt"))}let h=null;function Se(t){return t==="reuse"?"-r":t==="new"?"-n":""}function Oe(t){let{file:e,line:n=1,column:o=1,editor:a,method:r,format:i,onError:c,rootDir:b,usePid:x,type:P="exec"}=t;if(!T.existsSync(e))return;let[C,...O]=ae(a,b,x);const M=Ce(b||"")||i;if(!C||C.toLowerCase()==="none"){typeof c=="function"?c(e,"Failed to recognize IDE automatically"):console.log("Failed to recognize IDE automatically, add something like "+l.cyan("CODE_EDITOR=code")+" to the "+l.green(".env.local")+" file in your project folder, or add "+l.green('editor: "code"')+" to CodeInspectorPlugin config, and then restart the development server. Learn more: "+l.green("https://goo.gl/MMTaZt"));return}const p=ne(C);if((P==="open"||P==="open-bg")&&process.platform==="darwin"&&D[p]){const s="".concat(D[p],"://file").concat(e,":").concat(n,":").concat(o),S=P==="open-bg"?["-g",s]:[s];h=v.spawn("open",S,{stdio:"ignore",env:I(g({},process.env),{NODE_OPTIONS:""})})}else{process.platform==="linux"&&e.startsWith("/mnt/")&&/Microsoft/i.test(j.release())&&(e=w.relative("",e));let s=null;if(n?O=O.concat(te({editorBasename:p,fileName:e,lineNumber:n,colNumber:o,workspace:s,openWindowParams:Se(r),pathFormat:M})):O.push(e),h&&me(C)&&h.kill("SIGKILL"),process.platform==="win32"){const S=d=>d.replace(/([&|<>,;=^])/g,"^$1"),f=d=>d.includes("^")?'^"'.concat(d,'^"'):d.includes(" ")?'"'.concat(d,'"'):d,y=[C,...O.map(S)].map(f).join(" ");h=v.exec(y,{stdio:"ignore",shell:!0,env:I(g({},process.env),{NODE_OPTIONS:""})})}else h=v.spawn(C,O,{stdio:"ignore",env:I(g({},process.env),{NODE_OPTIONS:""})})}h.on("exit",function(s){h=null,s&&(typeof c=="function"?c(e,"(code "+s+")"):R(e,"(code "+s+")"))}),h.on("error",function(s){typeof c=="function"?c(e,s.message):R(e,s.message)})}exports.formatOpenPath=L;exports.getEnvVariable=N;exports.getEnvVariables=V;exports.launchIDE=Oe;
"use strict";var H=Object.defineProperty,K=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var B=(t,e,n)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,S=(t,e)=>{for(var n in e||(e={}))Z.call(e,n)&&B(t,n,e[n]);if(D)for(var n of D(e))G.call(e,n)&&B(t,n,e[n]);return t},I=(t,e)=>K(t,U(e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("fs"),f=require("path"),w=require("child_process"),J=require("os"),m=require("chalk"),Y=require("dotenv"),L={kiro:["/Kiro.app/Contents/MacOS/Electron","/Kiro.app/Contents/MacOS/Kiro"],cursor:["/Cursor.app/Contents/MacOS/Cursor"],comate:["/Comate.app/Contents/MacOS/Electron","/Comate.app/Contents/MacOS/Comate"],qoder:["/Qoder.app/Contents/MacOS/Electron","/Qoder CN.app/Contents/MacOS/Electron","/Qoder.app/Contents/MacOS/Qoder","/Qoder CN.app/Contents/MacOS/Qoder"],windsurf:["/Windsurf.app/Contents/MacOS/Electron","/Windsurf.app/Contents/MacOS/Windsurf"],devin:["Devin.app/Contents/MacOS/Devin","Devin.app/Contents/MacOS/Electron"],trae:["/Trae.app/Contents/MacOS/Electron","/Trae CN.app/Contents/MacOS/Electron","/Trae.app/Contents/MacOS/Trae","/Trae CN.app/Contents/MacOS/Trae"],codebuddy:["/Applications/CodeBuddy.app/Contents/MacOS/Electron","/Applications/CodeBuddy CN.app/Contents/MacOS/Electron","/Applications/CodeBuddy.app/Contents/MacOS/CodeBuddy","/Applications/CodeBuddy CN.app/Contents/MacOS/CodeBuddy"],antigravity:["/Antigravity.app/Contents/MacOS/Electron","/Antigravity.app/Contents/MacOS/Antigravity"],code:["/Visual Studio Code.app/Contents/MacOS/Electron","/Visual Studio Code.app/Contents/MacOS/Code"],"code-insiders":["/Visual Studio Code - Insiders.app/Contents/MacOS/Electron"],webstorm:["/WebStorm.app/Contents/MacOS/webstorm"],atom:["/Atom.app/Contents/MacOS/Atom","/Atom Beta.app/Contents/MacOS/Atom Beta"],hbuilder:["/HBuilderX.app/Contents/MacOS/HBuilderX"],phpstorm:["/PhpStorm.app/Contents/MacOS/phpstorm"],pycharm:["/PyCharm.app/Contents/MacOS/pycharm"],idea:["/IntelliJ IDEA.app/Contents/MacOS/idea"],codium:["/VSCodium.app/Contents/MacOS/Electron"],goland:["/GoLand.app/Contents/MacOS/goland"],colin:["/CLion.app/Contents/MacOS/clion"],appcode:["/AppCode.app/Contents/MacOS/appcode"],"atom-beta":["/Atom Beta.app/Contents/MacOS/Atom Beta"],brackets:["/Brackets.app/Contents/MacOS/Brackets"],rider:["/Rider.app/Contents/MacOS/rider"],rubymine:["/RubyMine.app/Contents/MacOS/rubymine"],sublime:["/Sublime Text.app/Contents/MacOS/sublime_text"],zed:["/Zed.app/Contents/MacOS/zed","/Zed.app/Contents/MacOS/cli"]},R={};for(let t of Object.values(L))for(let e of t)R[e]=e;const ee=I(S({},R),{"/Sublime Text.app/Contents/MacOS/Sublime Text":"/Sublime Text.app/Contents/SharedSupport/bin/subl","/Sublime Text.app/Contents/MacOS/sublime_text":"/Sublime Text.app/Contents/SharedSupport/bin/subl","/Sublime Text 2.app/Contents/MacOS/Sublime Text 2":"/Sublime Text 2.app/Contents/SharedSupport/bin/subl","/Sublime Text Dev.app/Contents/MacOS/Sublime Text":"/Sublime Text Dev.app/Contents/SharedSupport/bin/subl","/MacVim.app/Contents/MacOS/MacVim":"mvim","/Zed.app/Contents/MacOS/zed":"/Zed.app/Contents/MacOS/cli"}),A={kiro:"kiro",cursor:"cursor",comate:"comate",qoder:"qoder",devin:"devin",windsurf:"windsurf",trae:"trae",codebuddy:"codebuddy",antigravity:"antigravity",code:"vscode",codium:"vscodium",zed:"zed"},W={kiro:["kiro"],antigravity:["antigravity"],webstorm:["webstorm","webstorm.sh"],cursor:["cursor"],devin:["devin"],windsurf:["windsurf"],trae:["trae"],comate:["comate"],qoder:["qoder"],codebuddy:["codebuddy"],code:["code"],"code-insiders":["code-insiders"],atom:["atom"],hbuilder:["hbuilderx","hbuilderx.sh"],phpstorm:["phpstorm","phpstorm.sh"],pycharm:["pycharm","pycharm.sh"],idea:["idea","idea.sh"],codium:["vscodium"],goland:["goland"],brackets:["Brackets"],rider:["rider"],rubymine:["rubymine","rubymine.sh"],sublime:["sublime_text"],vim:["vim"],emacs:["emacs"],zed:["zed"]},F={};Object.entries(W).forEach(([t,e])=>{for(let n of e)F[n]=t});const te=I(S({},F),{vscodium:"vscodium",codium:"codium",hbuilderx:"hbuilderx","hbuilderx.sh":"hbuilderx",gvim:"gvim",sublime_text:"subl"}),z={kiro:["Kiro.exe"],antigravity:["Antigravity.exe"],webstorm:["webstorm.exe","webstorm64.exe"],cursor:["Cursor.exe"],windsurf:["Windsurf.exe"],devin:["Devin.exe"],trae:["Trae.exe","Trae CN.exe"],comate:["comate.exe"],qoder:["Qoder.exe","Qoder CN.exe"],codebuddy:["CodeBuddy.exe","CodeBuddy CN.exe"],code:["Code.exe"],"code-insiders":["Code - Insiders.exe"],atom:["atom.exe"],hbuilder:["HBuilderX.exe","HBuilder.exe","HBuilderX64.exe","HBuilder64.exe"],phpstorm:["phpstorm.exe","phpstorm64.exe"],pycharm:["pycharm.exe","pycharm64.exe"],idea:["idea.exe","idea64.exe"],codium:["VSCodium.exe"],goland:["goland.exe","goland64.exe"],colin:["clion.exe","clion64.exe"],brackets:["Brackets.exe"],rider:["rider.exe","rider64.exe"],rubymine:["rubymine.exe","rubymine64.exe"],sublime:["sublime_text.exe"],notepad:["notepad++.exe"],zed:["zed.exe"]},V={};for(let t of Object.values(z))for(let e of t)V[e]="";const ne=V,j={darwin:ee,linux:te,win32:ne},_={darwin:L,linux:W,win32:z},p="{file}",u="{line}",g="{column}";function q(t,e,n,o){let s="".concat(t,":").concat(e,":").concat(n);if(typeof o=="string")s=o.replace(p,t).replace(u,e.toString()).replace(g,n.toString());else if(o instanceof Array)return o.map(r=>r.replace(p,t).replace(u,e.toString()).replace(g,n.toString()));return[s]}const oe=["-g","-r","{file}:{line}:{column}"];function re(t){const{editorBasename:e,fileName:n,lineNumber:o,colNumber:s,workspace:r,openWindowParams:i,pathFormat:c}=t,v=ae({editorBasename:e,openWindowParams:i,workspace:r})||oe;return q(n,o,s,c||v)}function se(t){let e=f.basename(t).replace(/\.(exe|cmd|bat|sh)$/i,"");const n=process.platform,o=Object.keys(_[n]);for(let s=0;s<o.length;s++)if((_[n][o[s]]||[]).some(i=>t.toLowerCase().endsWith(i.toLowerCase()))){e=o[s];break}return e.toLowerCase()}function ae(t){const{editorBasename:e,openWindowParams:n,workspace:o}=t;switch(e){case"atom":case"atom beta":case"subl":case"sublime":case"sublime_text":case"wstorm":case"charm":return"".concat(p,":").concat(u,":").concat(g);case"notepad++":return["-n"+u,"-c"+g,p];case"vim":case"mvim":return["+call cursor(".concat(u,", ").concat(g,")"),p];case"joe":case"gvim":return["+"+u,p];case"emacs":case"emacsclient":return["+"+u+":"+g,p];case"rmate":case"mate":case"mine":return["--line",u,p];case"code":case"code-insiders":case"code - insiders":case"codium":case"cursor":case"windsurf":case"devin":case"trae":case"codebuddy":case"antigravity":case"comate":case"qoder":case"vscodium":case"hbuilderx":case"hbuilder":case"kiro":return[...o?[o]:[],"-g",...n?[n]:[],"".concat(p,":").concat(u,":").concat(g)];case"appcode":case"clion":case"clion64":case"idea":case"idea64":case"phpstorm":case"phpstorm64":case"pycharm":case"pycharm64":case"rubymine":case"rubymine64":case"webstorm":case"webstorm64":case"goland":case"goland64":case"rider":case"rider64":return[...o?[o]:[],"--line",u,p];case"zed":return[n==="-n"?"-n":"-a","".concat(p,":").concat(u,":").concat(g)]}return""}function Q(t){let e={};process.env&&(e=S({},process.env));let n="";if(t){const o=f.resolve(t,".env.local");T.existsSync(o)&&(n=o)}if(!n){const o=f.resolve(process.cwd(),".env.local");T.existsSync(o)&&(n=o)}if(n){const o=T.readFileSync(n,"utf-8"),s=Y.parse(o||"");e=S(S({},s),e)}return e}function N(t,e){return Q(e)[t]||null}const ce={darwin:"ps ax -o comm=",linux:"ps -eo comm --sort=comm",win32:'powershell -NoProfile -Command "Get-CimInstance -Query \\"select executablepath from win32_process where executablepath is not null\\" | % { $_.ExecutablePath }"'};function ie(t,e,n){let o=null;const s=N("CODE_EDITOR",e||"");if(s){const r=$(s);if(r)o=r;else return[s]}if(!o&&t){const r=$(t);r&&(o=r)}if(!o&&n){const r=le();if(r)return[r]}try{let r;const i=process.platform,c=process.platform==="win32",y=ce[i],v=j[i];X(c);const P=w.execSync(y,{encoding:"utf-8"}),C=Object.keys(v),b=P.split(c?"\r\n":"\n").map(M=>M.trim());for(let M=0;M<C.length;M++){const d=C[M];let a="",h="";if(c){const O=b.find(E=>f.basename(E).toLowerCase()===d.toLowerCase());O&&(h=f.basename(O),a=de(O))}else if(i==="darwin"){const O=b.find(E=>E.toLowerCase().endsWith(d.toLowerCase()));if(O){const E=O.replace(d,""),l=v[d];h=d,l.includes("/")?a="".concat(E).concat(l):a=l}}else P.indexOf(d)!==-1&&(h=d,a=v[d]);if(h&&a){if(o!=null&&o.includes(h))return[a];r||(r=[a])}}if(r)return r}catch(r){}return process.env.VISUAL?[process.env.VISUAL]:process.env.EDITOR?[process.env.EDITOR]:[null]}const $=t=>{const e=process.platform;return _[e]&&_[e][t]||null};function de(t){if(f.basename(t).toLowerCase()==="zed.exe"){const e=f.join(f.dirname(t),"bin","zed.exe");if(T.existsSync(e))return e}return t}const X=t=>{if(t)try{w.execSync("chcp 65001")}catch(e){}};function le(){const t=process.platform,e=Object.keys(j[t]);try{return pe(process.pid,t,e)}catch(n){return console.log(m.red("Error while getting editor by PID:"),n),null}}function pe(t,e,n){let o=0;const s=50,r=0;for(;t&&t!==r&&o<s;){const i=ue(t,e);if(!i)break;const{command:c,parentPid:y}=i;if(he(c,n))return c;t=y,o++}return null}function ue(t,e){switch(e){case"darwin":case"linux":return me(t);case"win32":return fe(t);default:return null}}function me(t){try{const n=w.execSync("ps -p ".concat(t," -o ppid=,comm="),{encoding:"utf8"}).trim().split("\n");return n.length?Ce(n[0].trim()):null}catch(e){return null}}function fe(t){try{X(!0);const e='powershell -NoProfile -Command "Get-CimInstance -ClassName Win32_Process -Filter "ProcessId='.concat(t,'" | Select-Object ParentProcessId, ExecutablePath | ConvertTo-Csv -NoTypeInformation'),o=w.execSync(e,{encoding:"utf8"}).trim().split("\r\n").filter(i=>i.trim()).slice(1);if(o.length===0)return null;const[s,r]=o[0].split(",");return!r||!s?null:{command:r.slice(1,-1),parentPid:Number(s.slice(1,-1))}}catch(e){return null}}function Ce(t){const e=t.match(/^(\d+)\s+(.+)$/);return e?{command:e[2],parentPid:parseInt(e[1])}:null}function he(t,e){return e.some(n=>t.toLowerCase().endsWith(n.toLowerCase()))}function Se(t){switch(t){case"vim":case"emacs":case"nano":return!0}return!1}function be(t){const e=N("CODE_INSPECTOR_FORMAT_PATH",t);if(e)try{return JSON.parse(e)}catch(n){return null}return null}function k(t,e){console.log(m.red("Could not open "+f.basename(t)+" in the editor.")),e&&(e[e.length-1]!=="."&&(e+="."),console.log(m.red("The editor process exited with an error: "+e))),console.log("To set up the editor integration, add something like "+m.cyan("CODE_EDITOR=code")+" to the "+m.green(".env.local")+" file in your project folder, or add "+m.green('editor: "code"')+" to CodeInspectorPlugin config, and then restart the development server. Learn more: "+m.green("https://goo.gl/MMTaZt"))}let x=null;function Oe(t){return t==="reuse"?"-r":t==="new"?"-n":""}function xe(t){let{file:e,line:n=1,column:o=1,editor:s,method:r,format:i,onError:c,rootDir:y,usePid:v,type:P="exec"}=t;if(!T.existsSync(e))return;let[C,...b]=ie(s,y,v);const M=be(y||"")||i;if(!C||C.toLowerCase()==="none"){typeof c=="function"?c(e,"Failed to recognize IDE automatically"):console.log("Failed to recognize IDE automatically, add something like "+m.cyan("CODE_EDITOR=code")+" to the "+m.green(".env.local")+" file in your project folder, or add "+m.green('editor: "code"')+" to CodeInspectorPlugin config, and then restart the development server. Learn more: "+m.green("https://goo.gl/MMTaZt"));return}const d=se(C);if((P==="open"||P==="open-bg")&&process.platform==="darwin"&&A[d]){const a="".concat(A[d],"://file").concat(e,":").concat(n,":").concat(o),h=P==="open-bg"?["-g",a]:[a];x=w.spawn("open",h,{stdio:"ignore",env:I(S({},process.env),{NODE_OPTIONS:""})})}else{process.platform==="linux"&&e.startsWith("/mnt/")&&/Microsoft/i.test(J.release())&&(e=f.relative("",e));let a=null;if(n?b=b.concat(re({editorBasename:d,fileName:e,lineNumber:n,colNumber:o,workspace:a,openWindowParams:Oe(r),pathFormat:M})):b.push(e),x&&Se(C)&&x.kill("SIGKILL"),process.platform==="win32"){const h=l=>l.replace(/([&|<>,;=^])/g,"^$1"),O=l=>l.includes("^")?'^"'.concat(l,'^"'):l.includes(" ")?'"'.concat(l,'"'):l,E=[C,...b.map(h)].map(O).join(" ");x=w.exec(E,{stdio:"ignore",shell:!0,env:I(S({},process.env),{NODE_OPTIONS:""})})}else x=w.spawn(C,b,{stdio:"ignore",env:I(S({},process.env),{NODE_OPTIONS:""})})}x.on("exit",function(a){x=null,a&&(typeof c=="function"?c(e,"(code "+a+")"):k(e,"(code "+a+")"))}),x.on("error",function(a){typeof c=="function"?c(e,a.message):k(e,a.message)})}exports.formatOpenPath=q;exports.getEnvVariable=N;exports.getEnvVariables=Q;exports.launchIDE=xe;

@@ -1,76 +0,60 @@

var V = Object.defineProperty, W = Object.defineProperties;
var F = Object.getOwnPropertyDescriptors;
var X = Object.defineProperty, H = Object.defineProperties;
var q = Object.getOwnPropertyDescriptors;
var N = Object.getOwnPropertySymbols;
var H = Object.prototype.hasOwnProperty, X = Object.prototype.propertyIsEnumerable;
var B = (t, e, n) => e in t ? V(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, g = (t, e) => {
for (var n in e || (e = {}))
H.call(e, n) && B(t, n, e[n]);
var K = Object.prototype.hasOwnProperty, U = Object.prototype.propertyIsEnumerable;
var D = (t, e, o) => e in t ? X(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, S = (t, e) => {
for (var o in e || (e = {}))
K.call(e, o) && D(t, o, e[o]);
if (N)
for (var n of N(e))
X.call(e, n) && B(t, n, e[n]);
for (var o of N(e))
U.call(e, o) && D(t, o, e[o]);
return t;
}, P = (t, e) => W(t, F(e));
}, I = (t, e) => H(t, q(e));
import T from "fs";
import v from "path";
import f from "path";
import w from "child_process";
import Q from "os";
import l from "chalk";
import j from "dotenv";
const J = {
"/Kiro.app/Contents/MacOS/Electron": "/Kiro.app/Contents/MacOS/Electron",
"/Antigravity.app/Contents/MacOS/Electron": "/Antigravity.app/Contents/MacOS/Electron",
"/Cursor.app/Contents/MacOS/Cursor": "/Cursor.app/Contents/MacOS/Cursor",
"/Comate.app/Contents/MacOS/Electron": "/Comate.app/Contents/MacOS/Electron",
"/Qoder.app/Contents/MacOS/Electron": "/Qoder.app/Contents/MacOS/Electron",
"/Qoder CN.app/Contents/MacOS/Electron": "/Qoder CN.app/Contents/MacOS/Electron",
"/Windsurf.app/Contents/MacOS/Electron": "/Windsurf.app/Contents/MacOS/Electron",
"/Trae.app/Contents/MacOS/Electron": "/Trae.app/Contents/MacOS/Electron",
"/Trae CN.app/Contents/MacOS/Electron": "/Trae CN.app/Contents/MacOS/Electron",
"/Applications/CodeBuddy.app/Contents/MacOS/Electron": "/Applications/CodeBuddy.app/Contents/MacOS/Electron",
"/Applications/CodeBuddy CN.app/Contents/MacOS/Electron": "/Applications/CodeBuddy CN.app/Contents/MacOS/Electron",
"/Visual Studio Code.app/Contents/MacOS/Electron": "/Visual Studio Code.app/Contents/MacOS/Electron",
"/Visual Studio Code.app/Contents/MacOS/Code": "/Visual Studio Code.app/Contents/MacOS/Code",
"/Visual Studio Code - Insiders.app/Contents/MacOS/Electron": "/Visual Studio Code - Insiders.app/Contents/MacOS/Electron",
"/VSCodium.app/Contents/MacOS/Electron": "/VSCodium.app/Contents/MacOS/Electron",
"/WebStorm.app/Contents/MacOS/webstorm": "/WebStorm.app/Contents/MacOS/webstorm",
"/HBuilderX.app/Contents/MacOS/HBuilderX": "/HBuilderX.app/Contents/MacOS/HBuilderX",
"/Atom.app/Contents/MacOS/Atom": "atom",
"/Atom Beta.app/Contents/MacOS/Atom Beta": "/Atom Beta.app/Contents/MacOS/Atom Beta",
"/Brackets.app/Contents/MacOS/Brackets": "brackets",
"/Sublime Text.app/Contents/MacOS/Sublime Text": "/Sublime Text.app/Contents/SharedSupport/bin/subl",
"/Sublime Text.app/Contents/MacOS/sublime_text": "/Sublime Text.app/Contents/SharedSupport/bin/subl",
"/Sublime Text 2.app/Contents/MacOS/Sublime Text 2": "/Sublime Text 2.app/Contents/SharedSupport/bin/subl",
"/Sublime Text Dev.app/Contents/MacOS/Sublime Text": "/Sublime Text Dev.app/Contents/SharedSupport/bin/subl",
"/PhpStorm.app/Contents/MacOS/phpstorm": "/PhpStorm.app/Contents/MacOS/phpstorm",
"/PyCharm.app/Contents/MacOS/pycharm": "/PyCharm.app/Contents/MacOS/pycharm",
"/PyCharm CE.app/Contents/MacOS/pycharm": "/PyCharm CE.app/Contents/MacOS/pycharm",
"/IntelliJ IDEA.app/Contents/MacOS/idea": "/IntelliJ IDEA.app/Contents/MacOS/idea",
"/IntelliJ IDEA Ultimate.app/Contents/MacOS/idea": "/IntelliJ IDEA Ultimate.app/Contents/MacOS/idea",
"/IntelliJ IDEA Community Edition.app/Contents/MacOS/idea": "/IntelliJ IDEA Community Edition.app/Contents/MacOS/idea",
"/Zed.app/Contents/MacOS/zed": "zed",
"/GoLand.app/Contents/MacOS/goland": "/GoLand.app/Contents/MacOS/goland",
"/AppCode.app/Contents/MacOS/appcode": "/AppCode.app/Contents/MacOS/appcode",
"/CLion.app/Contents/MacOS/clion": "/CLion.app/Contents/MacOS/clion",
"/RubyMine.app/Contents/MacOS/rubymine": "/RubyMine.app/Contents/MacOS/rubymine",
"/MacVim.app/Contents/MacOS/MacVim": "mvim",
"/Rider.app/Contents/MacOS/rider": "/Rider.app/Contents/MacOS/rider"
}, U = {
kiro: ["/Kiro.app/Contents/MacOS/Electron"],
import Z from "os";
import m from "chalk";
import G from "dotenv";
const k = {
kiro: ["/Kiro.app/Contents/MacOS/Electron", "/Kiro.app/Contents/MacOS/Kiro"],
cursor: ["/Cursor.app/Contents/MacOS/Cursor"],
comate: ["/Comate.app/Contents/MacOS/Electron"],
comate: [
"/Comate.app/Contents/MacOS/Electron",
"/Comate.app/Contents/MacOS/Comate"
],
qoder: [
"/Qoder.app/Contents/MacOS/Electron",
"/Qoder CN.app/Contents/MacOS/Electron"
"/Qoder CN.app/Contents/MacOS/Electron",
"/Qoder.app/Contents/MacOS/Qoder",
"/Qoder CN.app/Contents/MacOS/Qoder"
],
windsurf: ["/Windsurf.app/Contents/MacOS/Electron"],
windsurf: [
"/Windsurf.app/Contents/MacOS/Electron",
"/Windsurf.app/Contents/MacOS/Windsurf"
],
devin: [
"Devin.app/Contents/MacOS/Devin",
"Devin.app/Contents/MacOS/Electron"
],
trae: [
"/Trae.app/Contents/MacOS/Electron",
"/Trae CN.app/Contents/MacOS/Electron"
"/Trae CN.app/Contents/MacOS/Electron",
"/Trae.app/Contents/MacOS/Trae",
"/Trae CN.app/Contents/MacOS/Trae"
],
codebuddy: [
"/Applications/CodeBuddy.app/Contents/MacOS/Electron",
"/Applications/CodeBuddy CN.app/Contents/MacOS/Electron"
"/Applications/CodeBuddy CN.app/Contents/MacOS/Electron",
"/Applications/CodeBuddy.app/Contents/MacOS/CodeBuddy",
"/Applications/CodeBuddy CN.app/Contents/MacOS/CodeBuddy"
],
antigravity: ["Antigravity.app/Contents/MacOS/Electron"],
code: ["/Visual Studio Code.app/Contents/MacOS/Electron", "/Visual Studio Code.app/Contents/MacOS/Code"],
antigravity: [
"/Antigravity.app/Contents/MacOS/Electron",
"/Antigravity.app/Contents/MacOS/Antigravity"
],
code: [
"/Visual Studio Code.app/Contents/MacOS/Electron",
"/Visual Studio Code.app/Contents/MacOS/Code"
],
"code-insiders": [

@@ -80,3 +64,6 @@ "/Visual Studio Code - Insiders.app/Contents/MacOS/Electron"

webstorm: ["/WebStorm.app/Contents/MacOS/webstorm"],
atom: ["/Atom.app/Contents/MacOS/Atom"],
atom: [
"/Atom.app/Contents/MacOS/Atom",
"/Atom Beta.app/Contents/MacOS/Atom Beta"
],
hbuilder: ["/HBuilderX.app/Contents/MacOS/HBuilderX"],

@@ -95,4 +82,15 @@ phpstorm: ["/PhpStorm.app/Contents/MacOS/phpstorm"],

sublime: ["/Sublime Text.app/Contents/MacOS/sublime_text"],
zed: ["/Zed.app/Contents/MacOS/zed"]
}, A = {
zed: ["/Zed.app/Contents/MacOS/zed", "/Zed.app/Contents/MacOS/cli"]
}, L = {};
for (let t of Object.values(k))
for (let e of t)
L[e] = e;
const J = I(S({}, L), {
"/Sublime Text.app/Contents/MacOS/Sublime Text": "/Sublime Text.app/Contents/SharedSupport/bin/subl",
"/Sublime Text.app/Contents/MacOS/sublime_text": "/Sublime Text.app/Contents/SharedSupport/bin/subl",
"/Sublime Text 2.app/Contents/MacOS/Sublime Text 2": "/Sublime Text 2.app/Contents/SharedSupport/bin/subl",
"/Sublime Text Dev.app/Contents/MacOS/Sublime Text": "/Sublime Text Dev.app/Contents/SharedSupport/bin/subl",
"/MacVim.app/Contents/MacOS/MacVim": "mvim",
"/Zed.app/Contents/MacOS/zed": "/Zed.app/Contents/MacOS/cli"
}), B = {
kiro: "kiro",

@@ -102,2 +100,3 @@ cursor: "cursor",

qoder: "qoder",
devin: "devin",
windsurf: "windsurf",

@@ -108,41 +107,10 @@ trae: "trae",

code: "vscode",
codium: "vscodium"
}, q = {
kiro: "kiro",
antigravity: "antigravity",
cursor: "cursor",
windsurf: "windsurf",
code: "code",
vscodium: "vscodium",
codium: "codium",
webstorm: "webstorm",
"webstorm.sh": "webstorm",
hbuilderx: "hbuilderx",
"hbuilderx.sh": "hbuilderx",
atom: "atom",
Brackets: "brackets",
"code-insiders": "code-insiders",
emacs: "emacs",
gvim: "gvim",
idea: "idea",
"idea.sh": "idea",
phpstorm: "phpstorm",
"phpstorm.sh": "phpstorm",
pycharm: "pycharm",
"pycharm.sh": "pycharm",
rubymine: "rubymine",
"rubymine.sh": "rubymine",
sublime_text: "subl",
vim: "vim",
goland: "goland",
"goland.sh": "goland",
rider: "rider",
"rider.sh": "rider"
}, z = {
codium: "vscodium",
zed: "zed"
}, R = {
kiro: ["kiro"],
antigravity: ["antigravity"],
code: ["code"],
"code-insiders": ["code-insiders"],
webstorm: ["webstorm", "webstorm.sh"],
cursor: ["cursor"],
devin: ["devin"],
windsurf: ["windsurf"],

@@ -153,2 +121,4 @@ trae: ["trae"],

codebuddy: ["codebuddy"],
code: ["code"],
"code-insiders": ["code-insiders"],
atom: ["atom"],

@@ -166,50 +136,23 @@ hbuilder: ["hbuilderx", "hbuilderx.sh"],

vim: ["vim"],
emacs: ["emacs"]
}, K = {
"Kiro.exe": "",
"Antigravity.exe": "",
"Cursor.exe": "",
"Windsurf.exe": "",
"Trae.exe": "",
"Trae CN.exe": "",
"comate.exe": "",
"Qoder.exe": "",
"Qoder CN.exe": "",
"CodeBuddy.exe": "",
"CodeBuddy CN.exe": "",
"Code.exe": "",
"Code - Insiders.exe": "",
"VSCodium.exe": "",
"webstorm.exe": "",
"webstorm64.exe": "",
"HBuilderX.exe": "",
"HBuilderX64.exe": "",
"HBuilder.exe": "",
"HBuilder64.exe": "",
"Brackets.exe": "",
"atom.exe": "",
"sublime_text.exe": "",
"notepad++.exe": "",
"clion.exe": "",
"clion64.exe": "",
"idea.exe": "",
"idea64.exe": "",
"phpstorm.exe": "",
"phpstorm64.exe": "",
"pycharm.exe": "",
"pycharm64.exe": "",
"rubymine.exe": "",
"rubymine64.exe": "",
"goland.exe": "",
"goland64.exe": "",
"rider.exe": "",
"rider64.exe": ""
}, G = {
emacs: ["emacs"],
zed: ["zed"]
}, W = {};
Object.entries(R).forEach(([t, e]) => {
for (let o of e)
W[o] = t;
});
const Y = I(S({}, W), {
vscodium: "vscodium",
codium: "codium",
hbuilderx: "hbuilderx",
"hbuilderx.sh": "hbuilderx",
gvim: "gvim",
sublime_text: "subl"
}), F = {
kiro: ["Kiro.exe"],
antigravity: ["Antigravity.exe"],
code: ["Code.exe"],
"code-insiders": ["Code - Insiders.exe"],
webstorm: ["webstorm.exe", "webstorm64.exe"],
cursor: ["Cursor.exe"],
windsurf: ["Windsurf.exe"],
devin: ["Devin.exe"],
trae: ["Trae.exe", "Trae CN.exe"],

@@ -219,2 +162,4 @@ comate: ["comate.exe"],

codebuddy: ["CodeBuddy.exe", "CodeBuddy CN.exe"],
code: ["Code.exe"],
"code-insiders": ["Code - Insiders.exe"],
atom: ["atom.exe"],

@@ -237,39 +182,46 @@ hbuilder: [

sublime: ["sublime_text.exe"],
notepad: ["notepad++.exe"]
}, R = {
notepad: ["notepad++.exe"],
zed: ["zed.exe"]
}, z = {};
for (let t of Object.values(F))
for (let e of t)
z[e] = "";
const ee = z, V = {
darwin: J,
linux: q,
win32: K
linux: Y,
win32: ee
}, _ = {
darwin: U,
linux: z,
win32: G
}, u = "{file}", m = "{line}", E = "{column}";
function Z(t, e, n, o) {
let a = "".concat(t, ":").concat(e, ":").concat(n);
if (typeof o == "string")
a = o.replace(u, t).replace(m, e.toString()).replace(E, n.toString());
else if (o instanceof Array)
return o.map((r) => r.replace(u, t).replace(m, e.toString()).replace(E, n.toString()));
return [a];
darwin: k,
linux: R,
win32: F
}, p = "{file}", u = "{line}", g = "{column}";
function te(t, e, o, n) {
let s = "".concat(t, ":").concat(e, ":").concat(o);
if (typeof n == "string")
s = n.replace(p, t).replace(u, e.toString()).replace(g, o.toString());
else if (n instanceof Array)
return n.map((r) => r.replace(p, t).replace(u, e.toString()).replace(g, o.toString()));
return [s];
}
const Y = ["-g", "-r", "{file}:{line}:{column}"];
function ee(t) {
const oe = ["-g", "-r", "{file}:{line}:{column}"];
function ne(t) {
const {
editorBasename: e,
fileName: n,
lineNumber: o,
colNumber: a,
fileName: o,
lineNumber: n,
colNumber: s,
workspace: r,
openWindowParams: i,
pathFormat: c
} = t, b = ne({ editorBasename: e, openWindowParams: i, workspace: r }) || Y;
return Z(n, o, a, c || b);
} = t, v = se({ editorBasename: e, openWindowParams: i, workspace: r }) || oe;
return te(o, n, s, c || v);
}
function te(t) {
let e = v.basename(t).replace(/\.(exe|cmd|bat|sh)$/i, "");
const n = process.platform, o = Object.keys(_[n]);
for (let a = 0; a < o.length; a++)
if ((_[n][o[a]] || []).some((i) => t.endsWith(i))) {
e = o[a];
function re(t) {
let e = f.basename(t).replace(/\.(exe|cmd|bat|sh)$/i, "");
const o = process.platform, n = Object.keys(_[o]);
for (let s = 0; s < n.length; s++)
if ((_[o][n[s]] || []).some(
(i) => t.toLowerCase().endsWith(i.toLowerCase())
)) {
e = n[s];
break;

@@ -279,4 +231,4 @@ }

}
function ne(t) {
const { editorBasename: e, openWindowParams: n, workspace: o } = t;
function se(t) {
const { editorBasename: e, openWindowParams: o, workspace: n } = t;
switch (e) {

@@ -290,19 +242,18 @@ case "atom":

case "charm":
case "zed":
return "".concat(u, ":").concat(m, ":").concat(E);
return "".concat(p, ":").concat(u, ":").concat(g);
case "notepad++":
return ["-n" + m, "-c" + E, u];
return ["-n" + u, "-c" + g, p];
case "vim":
case "mvim":
return ["+call cursor(".concat(m, ", ").concat(E, ")"), u];
return ["+call cursor(".concat(u, ", ").concat(g, ")"), p];
case "joe":
case "gvim":
return ["+" + m, u];
return ["+" + u, p];
case "emacs":
case "emacsclient":
return ["+" + m + ":" + E, u];
return ["+" + u + ":" + g, p];
case "rmate":
case "mate":
case "mine":
return ["--line", m, u];
return ["--line", u, p];
case "code":

@@ -314,2 +265,3 @@ case "code-insiders":

case "windsurf":
case "devin":
case "trae":

@@ -325,6 +277,6 @@ case "codebuddy":

return [
...n ? [n] : [],
"-g",
...o ? [o] : [],
"-g",
...n ? [n] : [],
"".concat(u, ":").concat(m, ":").concat(E)
"".concat(p, ":").concat(u, ":").concat(g)
];

@@ -349,32 +301,37 @@ case "appcode":

return [
...o ? [o] : [],
...n ? [n] : [],
"--line",
m,
u
u,
p
];
case "zed":
return [
o === "-n" ? "-n" : "-a",
"".concat(p, ":").concat(u, ":").concat(g)
];
}
return "";
}
function oe(t) {
function ae(t) {
let e = {};
process.env && (e = g({}, process.env));
let n = "";
process.env && (e = S({}, process.env));
let o = "";
if (t) {
const o = v.resolve(t, ".env.local");
T.existsSync(o) && (n = o);
const n = f.resolve(t, ".env.local");
T.existsSync(n) && (o = n);
}
if (!n) {
const o = v.resolve(process.cwd(), ".env.local");
T.existsSync(o) && (n = o);
if (!o) {
const n = f.resolve(process.cwd(), ".env.local");
T.existsSync(n) && (o = n);
}
if (n) {
const o = T.readFileSync(n, "utf-8"), a = j.parse(o || "");
e = g(g({}, a), e);
if (o) {
const n = T.readFileSync(o, "utf-8"), s = G.parse(n || "");
e = S(S({}, s), e);
}
return e;
}
function $(t, e) {
return oe(e)[t] || null;
function j(t, e) {
return ae(e)[t] || null;
}
const re = {
const ce = {
darwin: "ps ax -o comm=",

@@ -384,18 +341,18 @@ linux: "ps -eo comm --sort=comm",

};
function ae(t, e, n) {
let o = null;
const a = $("CODE_EDITOR", e || "");
if (a) {
const r = D(a);
function ie(t, e, o) {
let n = null;
const s = j("CODE_EDITOR", e || "");
if (s) {
const r = A(s);
if (r)
o = r;
n = r;
else
return [a];
return [s];
}
if (!o && t) {
const r = D(t);
r && (o = r);
if (!n && t) {
const r = A(t);
r && (n = r);
}
if (!o && n) {
const r = se();
if (!n && o) {
const r = le();
if (r)

@@ -406,27 +363,27 @@ return [r];

let r;
const i = process.platform, c = process.platform === "win32", x = re[i], b = R[i];
L(c);
const I = w.execSync(x, { encoding: "utf-8" }), C = Object.keys(b), f = I.split(c ? "\r\n" : "\n").map((M) => M.trim());
const i = process.platform, c = process.platform === "win32", y = ce[i], v = V[i];
Q(c);
const P = w.execSync(y, { encoding: "utf-8" }), C = Object.keys(v), b = P.split(c ? "\r\n" : "\n").map((M) => M.trim());
for (let M = 0; M < C.length; M++) {
const p = C[M];
let s = "", S = "";
const d = C[M];
let a = "", h = "";
if (c) {
const O = f.find(
(y) => v.basename(y).toLowerCase() === p.toLowerCase()
const O = b.find(
(E) => f.basename(E).toLowerCase() === d.toLowerCase()
);
O && (S = v.basename(O), s = O);
O && (h = f.basename(O), a = de(O));
} else if (i === "darwin") {
const O = f.find(
(y) => y.toLowerCase().endsWith(p.toLowerCase())
const O = b.find(
(E) => E.toLowerCase().endsWith(d.toLowerCase())
);
if (O) {
const y = O.replace(p, ""), d = b[p];
S = p, d.includes("/") ? s = "".concat(y).concat(d) : s = d;
const E = O.replace(d, ""), l = v[d];
h = d, l.includes("/") ? a = "".concat(E).concat(l) : a = l;
}
} else
I.indexOf(p) !== -1 && (S = p, s = b[p]);
if (S && s) {
if (o != null && o.includes(S))
return [s];
r || (r = [s]);
P.indexOf(d) !== -1 && (h = d, a = v[d]);
if (h && a) {
if (n != null && n.includes(h))
return [a];
r || (r = [a]);
}

@@ -440,6 +397,15 @@ }

}
const D = (t) => {
const A = (t) => {
const e = process.platform;
return _[e] && _[e][t] || null;
}, L = (t) => {
};
function de(t) {
if (f.basename(t).toLowerCase() === "zed.exe") {
const e = f.join(f.dirname(t), "bin", "zed.exe");
if (T.existsSync(e))
return e;
}
return t;
}
const Q = (t) => {
if (t)

@@ -451,31 +417,31 @@ try {

};
function se() {
const t = process.platform, e = Object.keys(R[t]);
function le() {
const t = process.platform, e = Object.keys(V[t]);
try {
return ce(process.pid, t, e);
} catch (n) {
return console.log(l.red("Error while getting editor by PID:"), n), null;
return pe(process.pid, t, e);
} catch (o) {
return console.log(m.red("Error while getting editor by PID:"), o), null;
}
}
function ce(t, e, n) {
let o = 0;
const a = 50, r = 0;
for (; t && t !== r && o < a; ) {
const i = ie(t, e);
function pe(t, e, o) {
let n = 0;
const s = 50, r = 0;
for (; t && t !== r && n < s; ) {
const i = ue(t, e);
if (!i)
break;
const { command: c, parentPid: x } = i;
if (ue(c, n))
const { command: c, parentPid: y } = i;
if (he(c, o))
return c;
t = x, o++;
t = y, n++;
}
return null;
}
function ie(t, e) {
function ue(t, e) {
switch (e) {
case "darwin":
case "linux":
return pe(t);
return me(t);
case "win32":
return de(t);
return fe(t);
default:

@@ -485,8 +451,8 @@ return null;

}
function pe(t) {
function me(t) {
try {
const n = w.execSync("ps -p ".concat(t, " -o ppid=,comm="), {
const o = w.execSync("ps -p ".concat(t, " -o ppid=,comm="), {
encoding: "utf8"
}).trim().split("\n");
return n.length ? le(n[0].trim()) : null;
return o.length ? Ce(o[0].trim()) : null;
} catch (e) {

@@ -496,14 +462,14 @@ return null;

}
function de(t) {
function fe(t) {
try {
L(!0);
const e = 'powershell -NoProfile -Command "Get-CimInstance -ClassName Win32_Process -Filter "ProcessId='.concat(t, '" | Select-Object ParentProcessId, ExecutablePath | ConvertTo-Csv -NoTypeInformation'), o = w.execSync(e, {
Q(!0);
const e = 'powershell -NoProfile -Command "Get-CimInstance -ClassName Win32_Process -Filter "ProcessId='.concat(t, '" | Select-Object ParentProcessId, ExecutablePath | ConvertTo-Csv -NoTypeInformation'), n = w.execSync(e, {
encoding: "utf8"
}).trim().split("\r\n").filter((i) => i.trim()).slice(1);
if (o.length === 0)
if (n.length === 0)
return null;
const [a, r] = o[0].split(",");
return !r || !a ? null : {
const [s, r] = n[0].split(",");
return !r || !s ? null : {
command: r.slice(1, -1),
parentPid: Number(a.slice(1, -1))
parentPid: Number(s.slice(1, -1))
};

@@ -514,3 +480,3 @@ } catch (e) {

}
function le(t) {
function Ce(t) {
const e = t.match(/^(\d+)\s+(.+)$/);

@@ -522,8 +488,8 @@ return e ? {

}
function ue(t, e) {
function he(t, e) {
return e.some(
(n) => t.toLowerCase().endsWith(n.toLowerCase())
(o) => t.toLowerCase().endsWith(o.toLowerCase())
);
}
function me(t) {
function Se(t) {
switch (t) {

@@ -537,4 +503,4 @@ case "vim":

}
function Ce(t) {
const e = $(
function be(t) {
const e = j(
"CODE_INSPECTOR_FORMAT_PATH",

@@ -546,3 +512,3 @@ t

return JSON.parse(e);
} catch (n) {
} catch (o) {
return null;

@@ -552,46 +518,46 @@ }

}
function k(t, e) {
function $(t, e) {
console.log(
l.red("Could not open " + v.basename(t) + " in the editor.")
m.red("Could not open " + f.basename(t) + " in the editor.")
), e && (e[e.length - 1] !== "." && (e += "."), console.log(
l.red("The editor process exited with an error: " + e)
m.red("The editor process exited with an error: " + e)
)), console.log(
"To set up the editor integration, add something like " + l.cyan("CODE_EDITOR=code") + " to the " + l.green(".env.local") + " file in your project folder, or add " + l.green('editor: "code"') + " to CodeInspectorPlugin config, and then restart the development server. Learn more: " + l.green("https://goo.gl/MMTaZt")
"To set up the editor integration, add something like " + m.cyan("CODE_EDITOR=code") + " to the " + m.green(".env.local") + " file in your project folder, or add " + m.green('editor: "code"') + " to CodeInspectorPlugin config, and then restart the development server. Learn more: " + m.green("https://goo.gl/MMTaZt")
);
}
let h = null;
function Se(t) {
let x = null;
function Oe(t) {
return t === "reuse" ? "-r" : t === "new" ? "-n" : "";
}
function ge(t) {
function Pe(t) {
let {
file: e,
line: n = 1,
column: o = 1,
editor: a,
line: o = 1,
column: n = 1,
editor: s,
method: r,
format: i,
onError: c,
rootDir: x,
usePid: b,
type: I = "exec"
rootDir: y,
usePid: v,
type: P = "exec"
} = t;
if (!T.existsSync(e))
return;
let [C, ...f] = ae(a, x, b);
const M = Ce(x || "") || i;
let [C, ...b] = ie(s, y, v);
const M = be(y || "") || i;
if (!C || C.toLowerCase() === "none") {
typeof c == "function" ? c(e, "Failed to recognize IDE automatically") : console.log(
"Failed to recognize IDE automatically, add something like " + l.cyan("CODE_EDITOR=code") + " to the " + l.green(".env.local") + " file in your project folder, or add " + l.green('editor: "code"') + " to CodeInspectorPlugin config, and then restart the development server. Learn more: " + l.green("https://goo.gl/MMTaZt")
"Failed to recognize IDE automatically, add something like " + m.cyan("CODE_EDITOR=code") + " to the " + m.green(".env.local") + " file in your project folder, or add " + m.green('editor: "code"') + " to CodeInspectorPlugin config, and then restart the development server. Learn more: " + m.green("https://goo.gl/MMTaZt")
);
return;
}
const p = te(
const d = re(
C
);
if ((I === "open" || I === "open-bg") && process.platform === "darwin" && A[p]) {
const s = "".concat(A[p], "://file").concat(e, ":").concat(n, ":").concat(o), S = I === "open-bg" ? ["-g", s] : [s];
h = w.spawn("open", S, {
if ((P === "open" || P === "open-bg") && process.platform === "darwin" && B[d]) {
const a = "".concat(B[d], "://file").concat(e, ":").concat(o, ":").concat(n), h = P === "open-bg" ? ["-g", a] : [a];
x = w.spawn("open", h, {
stdio: "ignore",
env: P(g({}, process.env), {
env: I(S({}, process.env), {
NODE_OPTIONS: ""

@@ -601,21 +567,21 @@ })

} else {
process.platform === "linux" && e.startsWith("/mnt/") && /Microsoft/i.test(Q.release()) && (e = v.relative("", e));
let s = null;
if (n ? f = f.concat(
ee({
editorBasename: p,
process.platform === "linux" && e.startsWith("/mnt/") && /Microsoft/i.test(Z.release()) && (e = f.relative("", e));
let a = null;
if (o ? b = b.concat(
ne({
editorBasename: d,
fileName: e,
lineNumber: n,
colNumber: o,
workspace: s,
openWindowParams: Se(r),
lineNumber: o,
colNumber: n,
workspace: a,
openWindowParams: Oe(r),
pathFormat: M
})
) : f.push(e), h && me(C) && h.kill("SIGKILL"), process.platform === "win32") {
const S = (d) => d.replace(/([&|<>,;=^])/g, "^$1"), O = (d) => d.includes("^") ? '^"'.concat(d, '^"') : d.includes(" ") ? '"'.concat(d, '"') : d, y = [C, ...f.map(S)].map(O).join(" ");
h = w.exec(y, {
) : b.push(e), x && Se(C) && x.kill("SIGKILL"), process.platform === "win32") {
const h = (l) => l.replace(/([&|<>,;=^])/g, "^$1"), O = (l) => l.includes("^") ? '^"'.concat(l, '^"') : l.includes(" ") ? '"'.concat(l, '"') : l, E = [C, ...b.map(h)].map(O).join(" ");
x = w.exec(E, {
stdio: "ignore",
// @ts-ignore
shell: !0,
env: P(g({}, process.env), {
env: I(S({}, process.env), {
NODE_OPTIONS: ""

@@ -625,5 +591,5 @@ })

} else
h = w.spawn(C, f, {
x = w.spawn(C, b, {
stdio: "ignore",
env: P(g({}, process.env), {
env: I(S({}, process.env), {
NODE_OPTIONS: ""

@@ -633,13 +599,13 @@ })

}
h.on("exit", function(s) {
h = null, s && (typeof c == "function" ? c(e, "(code " + s + ")") : k(e, "(code " + s + ")"));
}), h.on("error", function(s) {
typeof c == "function" ? c(e, s.message) : k(e, s.message);
x.on("exit", function(a) {
x = null, a && (typeof c == "function" ? c(e, "(code " + a + ")") : $(e, "(code " + a + ")"));
}), x.on("error", function(a) {
typeof c == "function" ? c(e, a.message) : $(e, a.message);
});
}
export {
Z as formatOpenPath,
$ as getEnvVariable,
oe as getEnvVariables,
ge as launchIDE
te as formatOpenPath,
j as getEnvVariable,
ae as getEnvVariables,
Pe as launchIDE
};
{
"name": "launch-ide",
"version": "1.4.4",
"version": "1.4.5",
"main": "dist/index.js",

@@ -5,0 +5,0 @@ "module": "./dist/index.mjs",

@@ -312,4 +312,11 @@ # launch-ide &middot; [![NPM version](https://img.shields.io/npm/v/launch-ide.svg)](https://www.npmjs.com/package/launch-ide) [![NPM Downloads](https://img.shields.io/npm/dm/launch-ide.svg)](https://npmcharts.netlify.app/compare/launch-ide?minimal=true) [![MIT-license](https://img.shields.io/npm/l/launch-ide.svg)](https://opensource.org/licenses/MIT) [![GITHUB-language](https://img.shields.io/github/languages/top/zh-lx/launch-ide?logoColor=purple&color=purple)](https://github.com/zh-lx/launch-ide)

<td>āœ…</td>
<td></td>
<td>āœ…</td>
</tr>
<tr>
<td><a href="https://devin.ai/" target="_blank">Devin</a></td>
<td>devin</td>
<td>āœ…</td>
<td>āœ…</td>
<td>āœ…</td>
</tr>
</table>

@@ -316,0 +323,0 @@

import { EDITOR_PROCESS_MAP } from '../type';
export declare const EDITOR_PROCESS_MAP_LINUX: EDITOR_PROCESS_MAP;
export declare const COMMON_EDITORS_LINUX: {
kiro: string;
antigravity: string;
cursor: string;
windsurf: string;
code: string;
vscodium: string;
codium: string;
webstorm: string;
'webstorm.sh': string;
hbuilderx: string;
'hbuilderx.sh': string;
atom: string;
Brackets: string;
'code-insiders': string;
emacs: string;
gvim: string;
idea: string;
'idea.sh': string;
phpstorm: string;
'phpstorm.sh': string;
pycharm: string;
'pycharm.sh': string;
rubymine: string;
'rubymine.sh': string;
sublime_text: string;
vim: string;
goland: string;
'goland.sh': string;
rider: string;
'rider.sh': string;
};
export declare const EDITOR_PROCESS_MAP_LINUX: EDITOR_PROCESS_MAP;
import { EDITOR_PROCESS_MAP } from '../type';
export declare const EDITOR_PROCESS_MAP_OSX: EDITOR_PROCESS_MAP;
export declare const COMMON_EDITORS_OSX: {
'/Kiro.app/Contents/MacOS/Electron': string;
'/Antigravity.app/Contents/MacOS/Electron': string;
'/Cursor.app/Contents/MacOS/Cursor': string;
'/Comate.app/Contents/MacOS/Electron': string;
'/Qoder.app/Contents/MacOS/Electron': string;
'/Qoder CN.app/Contents/MacOS/Electron': string;
'/Windsurf.app/Contents/MacOS/Electron': string;
'/Trae.app/Contents/MacOS/Electron': string;
'/Trae CN.app/Contents/MacOS/Electron': string;
'/Applications/CodeBuddy.app/Contents/MacOS/Electron': string;
'/Applications/CodeBuddy CN.app/Contents/MacOS/Electron': string;
'/Visual Studio Code.app/Contents/MacOS/Electron': string;
'/Visual Studio Code.app/Contents/MacOS/Code': string;
'/Visual Studio Code - Insiders.app/Contents/MacOS/Electron': string;
'/VSCodium.app/Contents/MacOS/Electron': string;
'/WebStorm.app/Contents/MacOS/webstorm': string;
'/HBuilderX.app/Contents/MacOS/HBuilderX': string;
'/Atom.app/Contents/MacOS/Atom': string;
'/Atom Beta.app/Contents/MacOS/Atom Beta': string;
'/Brackets.app/Contents/MacOS/Brackets': string;
'/Sublime Text.app/Contents/MacOS/Sublime Text': string;

@@ -27,17 +8,5 @@ '/Sublime Text.app/Contents/MacOS/sublime_text': string;

'/Sublime Text Dev.app/Contents/MacOS/Sublime Text': string;
'/PhpStorm.app/Contents/MacOS/phpstorm': string;
'/PyCharm.app/Contents/MacOS/pycharm': string;
'/PyCharm CE.app/Contents/MacOS/pycharm': string;
'/IntelliJ IDEA.app/Contents/MacOS/idea': string;
'/IntelliJ IDEA Ultimate.app/Contents/MacOS/idea': string;
'/IntelliJ IDEA Community Edition.app/Contents/MacOS/idea': string;
'/MacVim.app/Contents/MacOS/MacVim': string;
'/Zed.app/Contents/MacOS/zed': string;
'/GoLand.app/Contents/MacOS/goland': string;
'/AppCode.app/Contents/MacOS/appcode': string;
'/CLion.app/Contents/MacOS/clion': string;
'/RubyMine.app/Contents/MacOS/rubymine': string;
'/MacVim.app/Contents/MacOS/MacVim': string;
'/Rider.app/Contents/MacOS/rider': string;
};
export declare const EDITOR_PROCESS_MAP_OSX: EDITOR_PROCESS_MAP;
export declare const EDITORS_OPEN_MAP: Partial<Record<keyof EDITOR_PROCESS_MAP, string>>;
import { EDITOR_PROCESS_MAP } from '../type';
export declare const EDITOR_PROCESS_MAP_WIN: EDITOR_PROCESS_MAP;
export declare const COMMON_EDITORS_WIN: {
[key: string]: string;
};
export declare const EDITOR_PROCESS_MAP_WIN: EDITOR_PROCESS_MAP;

@@ -1,2 +0,2 @@

export type Editor = 'antigravity' | 'appcode' | 'atom' | 'kiro' | 'atom-beta' | 'brackets' | 'code' | 'code-insiders' | 'codebuddy' | 'codium' | 'comate' | 'cursor' | 'colin' | 'emacs' | 'goland' | 'hbuilder' | 'idea' | 'notepad' | 'phpstorm' | 'pycharm' | 'qoder' | 'trae' | 'rider' | 'rubymine' | 'sublime' | 'vim' | 'webstorm' | 'windsurf' | 'zed';
export type Editor = 'antigravity' | 'appcode' | 'atom' | 'kiro' | 'atom-beta' | 'brackets' | 'code' | 'code-insiders' | 'codebuddy' | 'codium' | 'comate' | 'cursor' | 'colin' | 'devin' | 'emacs' | 'goland' | 'hbuilder' | 'idea' | 'notepad' | 'phpstorm' | 'pycharm' | 'qoder' | 'trae' | 'rider' | 'rubymine' | 'sublime' | 'vim' | 'webstorm' | 'windsurf' | 'zed';
export type Platform = 'darwin' | 'linux' | 'win32';

@@ -3,0 +3,0 @@ export type EDITOR_PROCESS_MAP = {