util.go 694 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package util
  2. import (
  3. "os"
  4. "strings"
  5. tea "github.com/charmbracelet/bubbletea/v2"
  6. )
  7. func CmdHandler(msg tea.Msg) tea.Cmd {
  8. return func() tea.Msg {
  9. return msg
  10. }
  11. }
  12. func Clamp(v, low, high int) int {
  13. // Swap if needed to ensure low <= high
  14. if high < low {
  15. low, high = high, low
  16. }
  17. return min(high, max(low, v))
  18. }
  19. func IsWsl() bool {
  20. // Check for WSL environment variables
  21. if os.Getenv("WSL_DISTRO_NAME") != "" {
  22. return true
  23. }
  24. // Check /proc/version for WSL signature
  25. if data, err := os.ReadFile("/proc/version"); err == nil {
  26. version := strings.ToLower(string(data))
  27. return strings.Contains(version, "microsoft") || strings.Contains(version, "wsl")
  28. }
  29. return false
  30. }