From 1fdcd6e0c7c4bcca4f108a252a443428062956a7 Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Thu, 3 Jul 2025 11:23:48 -0400 Subject: [PATCH 1/2] chore: update lipgloss --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b8f1c54c5c044650fdd549f96ccd286c60570f79..404eeb5d1e2bce529bf240972c3f0745e97aec6a 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.3.0.20250609143341-c76fa36f1b94 github.com/charmbracelet/fang v0.1.0 github.com/charmbracelet/glamour/v2 v2.0.0-20250516160903-6f1e2c8f9ebe - github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1.0.20250523195325-2d1af06b557c + github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.2.0.20250703152125-8e1c474f8a71 github.com/charmbracelet/x/ansi v0.9.3-0.20250602153603-fb931ed90413 github.com/charmbracelet/x/exp/charmtone v0.0.0-20250627134340-c144409e381c github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a diff --git a/go.sum b/go.sum index 4cc2f707d3d13fc6bb844a3383fe52a676b90dd9..fc4d0a1a51d01458e172022c8888d7a5acfdf187 100644 --- a/go.sum +++ b/go.sum @@ -84,6 +84,8 @@ github.com/charmbracelet/glamour/v2 v2.0.0-20250516160903-6f1e2c8f9ebe h1:i6ce4C github.com/charmbracelet/glamour/v2 v2.0.0-20250516160903-6f1e2c8f9ebe/go.mod h1:p3Q+aN4eQKeM5jhrmXPMgPrlKbmc59rWSnMsSA3udhk= github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1.0.20250523195325-2d1af06b557c h1:177KMz8zHRlEZJsWzafbKYh6OdjgvTspoH+UjaxgIXY= github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1.0.20250523195325-2d1af06b557c/go.mod h1:EJWvaCrhOhNGVZMvcjc0yVryl4qqpMs8tz0r9WyEkdQ= +github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.2.0.20250703152125-8e1c474f8a71 h1:X0tsNa2UHCKNw+illiavosasVzqioRo32SRV35iwr2I= +github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.2.0.20250703152125-8e1c474f8a71/go.mod h1:EJWvaCrhOhNGVZMvcjc0yVryl4qqpMs8tz0r9WyEkdQ= github.com/charmbracelet/x/ansi v0.9.3-0.20250602153603-fb931ed90413 h1:L07QkDqRF274IZ2UJ/mCTL8DR95efU9BNWLYCDXEjvQ= github.com/charmbracelet/x/ansi v0.9.3-0.20250602153603-fb931ed90413/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE= github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa h1:lphz0Z3rsiOtMYiz8axkT24i9yFiueDhJbzyNUADmME= From b0ad5089b1de33e7b2c12b8d708e1e3d20b293f4 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Thu, 3 Jul 2025 13:24:44 -0300 Subject: [PATCH 2/2] feat: read stdin (#101) * feat: read stdin Signed-off-by: Carlos Alexandro Becker * fix: mode pipe --------- Signed-off-by: Carlos Alexandro Becker --- cmd/root.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cmd/root.go b/cmd/root.go index d741b859178e6c524b4b4e3a61863f144840812c..4ba90e0452a104c909ab0539ace93dbf07093e17 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -3,6 +3,7 @@ package cmd import ( "context" "fmt" + "io" "os" "sync" "time" @@ -18,6 +19,7 @@ import ( "github.com/charmbracelet/crush/internal/tui" "github.com/charmbracelet/crush/internal/version" "github.com/charmbracelet/fang" + "github.com/charmbracelet/x/term" "github.com/spf13/cobra" ) @@ -99,6 +101,12 @@ to assist developers in writing, debugging, and understanding code directly from // Initialize MCP tools early for both modes initMCPTools(ctx, app) + prompt, err = maybePrependStdin(prompt) + if err != nil { + logging.Error("Failed to read stdin: %v", err) + return err + } + // Non-interactive mode if prompt != "" { // Run non-interactive flow using the App method @@ -301,3 +309,21 @@ func init() { return format.SupportedFormats, cobra.ShellCompDirectiveNoFileComp }) } + +func maybePrependStdin(prompt string) (string, error) { + if term.IsTerminal(os.Stdin.Fd()) { + return prompt, nil + } + fi, err := os.Stdin.Stat() + if err != nil { + return prompt, err + } + if fi.Mode()&os.ModeNamedPipe == 0 { + return prompt, nil + } + bts, err := io.ReadAll(os.Stdin) + if err != nil { + return prompt, err + } + return string(bts) + "\n\n" + prompt, nil +}