ide.go 477 B

12345678910111213141516171819202122232425262728293031
  1. package util
  2. import (
  3. "os"
  4. "strings"
  5. )
  6. var SUPPORTED_IDES = []struct {
  7. Search string
  8. ShortName string
  9. }{
  10. {"Windsurf", "Windsurf"},
  11. {"Visual Studio Code", "vscode"},
  12. {"Cursor", "Cursor"},
  13. {"VSCodium", "VSCodium"},
  14. }
  15. func IsVSCode() bool {
  16. return os.Getenv("OPENCODE_CALLER") == "vscode"
  17. }
  18. func Ide() string {
  19. for _, ide := range SUPPORTED_IDES {
  20. if strings.Contains(os.Getenv("GIT_ASKPASS"), ide.Search) {
  21. return ide.ShortName
  22. }
  23. }
  24. return "unknown"
  25. }