Per-OS GUI app install paths (secondary "installed but maybe never run").
(d: DetectDeps)
| 125 | |
| 126 | /** Per-OS GUI app install paths (secondary "installed but maybe never run"). */ |
| 127 | function desktopAppPaths(d: DetectDeps): string[] { |
| 128 | switch (d.platform) { |
| 129 | case "darwin": |
| 130 | return ["/Applications/OpenCode.app", join(d.home, "Applications", "OpenCode.app")]; |
| 131 | case "win32": { |
| 132 | const localappdata = d.env.LOCALAPPDATA ?? join(d.home, "AppData", "Local"); |
| 133 | return [join(localappdata, "Programs", "OpenCode", "OpenCode.exe")]; |
| 134 | } |
| 135 | default: { |
| 136 | const dataHome = |
| 137 | d.env.XDG_DATA_HOME && d.env.XDG_DATA_HOME.length > 0 |
| 138 | ? d.env.XDG_DATA_HOME |
| 139 | : join(d.home, ".local", "share"); |
| 140 | return OPENCODE_DESKTOP_APP_IDS.map((appId) => |
| 141 | join(dataHome, "applications", `${appId}.desktop`), |
| 142 | ); |
| 143 | } |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | /** The Desktop "has run" settings markers across all release channels. */ |
| 148 | export function openCodeDesktopSettingsMarkers(deps?: Partial<DetectDeps>): string[] { |