Skip to content

Commit 4c02371

Browse files
authored
add auto support for adjusting the width for markdown rendering (#397)
1 parent 1ef63d5 commit 4c02371

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ require (
1515
github.com/mark3labs/mcp-go v0.31.0
1616
github.com/spf13/cobra v1.9.1
1717
github.com/spf13/pflag v1.0.6
18+
golang.org/x/term v0.31.0
1819
k8s.io/klog/v2 v2.130.1
1920
mvdan.cc/sh/v3 v3.11.0
2021
sigs.k8s.io/yaml v1.4.0
@@ -80,7 +81,6 @@ require (
8081
golang.org/x/crypto v0.36.0 // indirect
8182
golang.org/x/net v0.38.0 // indirect
8283
golang.org/x/sys v0.32.0 // indirect
83-
golang.org/x/term v0.31.0 // indirect
8484
golang.org/x/text v0.24.0 // indirect
8585
google.golang.org/genai v1.8.0 // indirect
8686
google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 // indirect

pkg/ui/terminal.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"github.com/GoogleCloudPlatform/kubectl-ai/pkg/journal"
2828
"github.com/charmbracelet/glamour"
2929
"github.com/chzyer/readline"
30+
"golang.org/x/term"
3031
"k8s.io/klog/v2"
3132
)
3233

@@ -57,6 +58,18 @@ var _ UI = &TerminalUI{}
5758
func getCustomTerminalWidth() int {
5859
// Check for user-configured width via environment variable
5960
if widthStr := os.Getenv("KUBECTL_AI_TERM_WIDTH"); widthStr != "" {
61+
62+
if widthStr == "auto" {
63+
width, _, err := term.GetSize(int(os.Stdout.Fd()))
64+
65+
if err != nil {
66+
klog.Warningf("Failed to get terminal size: %v, using default width", err)
67+
return 0
68+
}
69+
70+
return width
71+
}
72+
6073
if width, err := strconv.Atoi(widthStr); err == nil && width > 0 {
6174
return width
6275
}

0 commit comments

Comments
 (0)