@@ -5,6 +5,7 @@ import (
9 _ "net/http/pprof" // profiling
10 _ "net/http/pprof" // profiling
@@ -12,9 +13,14 @@ import (
13 "github.com/charmbracelet/crush/internal/cmd"
14 "github.com/charmbracelet/crush/internal/cmd"
14 "github.com/charmbracelet/crush/internal/log"
15 "github.com/charmbracelet/crush/internal/log"
16+ "github.com/charmbracelet/lipgloss/v2"
17func main() {
19func main() {
20+ if runtime.GOOS == "windows" {
18 defer log.RecoverPanic("main", func() {
24 defer log.RecoverPanic("main", func() {
19 slog.Error("Application terminated due to unhandled panic")
25 slog.Error("Application terminated due to unhandled panic")
@@ -30,3 +36,23 @@ func main() {
31 cmd.Execute()
37 cmd.Execute()
40+func showWindowsWarning() {
41+ content := lipgloss.JoinVertical(lipgloss.Left,
42+ lipgloss.NewStyle().Bold(true).Render("WARNING:")+" Crush is experimental on Windows!",
44+ "While we work on it, we recommend WSL2 for a better experience.",
46+ lipgloss.NewStyle().Italic(true).Render("Press Enter to continue..."),
48+ content = lipgloss.NewStyle().
49+ Border(lipgloss.RoundedBorder()).