opencode_offline/packages/tui/internal/util/ide.go

32 lines
477 B
Go
Raw Normal View History

2025-07-22 23:21:26 +08:00
package util
import (
"os"
"strings"
)
var SUPPORTED_IDES = []struct {
2025-08-12 21:48:32 +08:00
Search string
2025-07-22 23:21:26 +08:00
ShortName string
}{
{"Windsurf", "Windsurf"},
2025-08-12 21:48:32 +08:00
{"Visual Studio Code", "vscode"},
2025-07-22 23:21:26 +08:00
{"Cursor", "Cursor"},
{"VSCodium", "VSCodium"},
}
func IsVSCode() bool {
return os.Getenv("OPENCODE_CALLER") == "vscode"
}
func Ide() string {
for _, ide := range SUPPORTED_IDES {
if strings.Contains(os.Getenv("GIT_ASKPASS"), ide.Search) {
return ide.ShortName
}
}
return "unknown"
2025-08-12 21:48:32 +08:00
}