on main help sign in
Merge remote-tracking branch 'origin/main' into onboarding
commit4cde6447ac0881e3d0b83f00c0b25508c3256ecd authorKujtim Hoxha <kujtimii.h@gmail.com> dateThu 10 Jul 2025, 20:36 (1 year ago) parented8bdf93520a64
9 files changed+86−15
.github/workflows/nightly.yml+19 go.mod+1−1 go.sum+2 internal/llm/agent/agent.go+1−1 internal/tui/components/chat/editor/editor.go+7−3 internal/tui/components/chat/messages/renderer.go+2−2 internal/tui/styles/crush.go+1−1 vendor/github.com/charmbracelet/x/exp/charmtone/charmtone.go+52−6 vendor/modules.txt+1−1
.github/workflows/nightly.yml+19
@@ -6,7 +6,26 @@ on:
66 workflow_dispatch: # allows manual triggering
77
88jobs:
9+ check:
10+ runs-on: ubuntu-latest
11+ outputs:
12+ should_run: ${{ steps.check.outputs.should_run }}
13+ steps:
14+ - uses: actions/checkout@v4
15+ with:
16+ fetch-depth: 1
17+ - id: check
18+ env:
19+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
20+ run: |
21+ if gh run list --workflow nightly.yml -c $(git rev-parse HEAD) -s success | grep 'completed'; then
22+ echo "should_run=false" >> $GITHUB_OUTPUT
23+ else
24+ echo "should_run=true" >> $GITHUB_OUTPUT
25+ fi
926 nightly:
27+ needs: check
28+ if: needs.check.outputs.should_run == 'true'
1029 uses: charmbracelet/meta/.github/workflows/nightly.yml@main
1130 secrets:
1231 goreleaser_key: ${{ secrets.GORELEASER_KEY }}
go.mod+1−1
@@ -23,7 +23,7 @@ require (
2323 github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.2.0.20250703152125-8e1c474f8a71
2424 github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706
2525 github.com/charmbracelet/x/ansi v0.9.3
26− github.com/charmbracelet/x/exp/charmtone v0.0.0-20250627134340-c144409e381c
26+ github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3
2727 github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a
2828 github.com/disintegration/imageorient v0.0.0-20180920195336-8147d86e83ec
2929 github.com/fsnotify/fsnotify v1.8.0
go.sum+2
@@ -90,6 +90,8 @@ github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa h1:lphz
9090github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa/go.mod h1:xBlh2Yi3DL3zy/2n15kITpg0YZardf/aa/hgUaIM6Rk=
9191github.com/charmbracelet/x/exp/charmtone v0.0.0-20250627134340-c144409e381c h1:2GELBLPgfSbHU53bsQhR9XIgNuVZ6w+Rz8RWV5Lq+A4=
9292github.com/charmbracelet/x/exp/charmtone v0.0.0-20250627134340-c144409e381c/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0=
93+github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3 h1:1xwHZg6eMZ9Wv5TE1UGub6ARubyOd1Lo5kPUI/6VL50=
94+github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0=
9395github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a h1:FsHEJ52OC4VuTzU8t+n5frMjLvpYWEznSr/u8tnkCYw=
9496github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
9597github.com/charmbracelet/x/exp/slice v0.0.0-20250611152503-f53cdd7e01ef h1:v7qwsZ2OxzlwvpKwz8dtZXp7fIJlcDEUOyFBNE4fz4Q=
internal/llm/agent/agent.go+1−1
@@ -26,7 +26,7 @@ import (
2626
2727// Common errors
2828var (
29− ErrRequestCancelled = errors.New("request cancelled by user")
29+ ErrRequestCancelled = errors.New("request canceled by user")
3030 ErrSessionBusy = errors.New("session is currently processing another request")
3131)
3232
internal/tui/components/chat/editor/editor.go+7−3
@@ -80,7 +80,7 @@ const (
8080 maxAttachments = 5
8181)
8282
83−func (m *editorCmp) openEditor() tea.Cmd {
83+func (m *editorCmp) openEditor(value string) tea.Cmd {
8484 editor := os.Getenv("EDITOR")
8585 if editor == "" {
8686 // Use platform-appropriate default editor
@@ -95,7 +95,10 @@ func (m *editorCmp) openEditor() tea.Cmd {
9595 if err != nil {
9696 return util.ReportError(err)
9797 }
98− tmpfile.Close()
98+ defer tmpfile.Close() //nolint:errcheck
99+ if _, err := tmpfile.WriteString(value); err != nil {
100+ return util.ReportError(err)
101+ }
99102 c := exec.Command(editor, tmpfile.Name())
100103 c.Stdin = os.Stdin
101104 c.Stdout = os.Stdout
@@ -247,7 +250,7 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
247250 if m.app.CoderAgent.IsSessionBusy(m.session.ID) {
248251 return m, util.ReportWarn("Agent is working, please wait...")
249252 }
250− return m, m.openEditor()
253+ return m, m.openEditor(m.textarea.Value())
251254 }
252255 if key.Matches(msg, DeleteKeyMaps.Escape) {
253256 m.deleteMode = false
@@ -379,6 +382,7 @@ func (c *editorCmp) IsFocused() bool {
379382 return c.textarea.Focused()
380383}
381384
385+// Bindings implements Container.
382386func (c *editorCmp) Bindings() []key.Binding {
383387 return c.keyMap.KeyBindings()
384388}
internal/tui/components/chat/messages/renderer.go+2−2
@@ -632,9 +632,9 @@ func earlyState(header string, v *toolCallCmp) (string, bool) {
632632 case v.result.IsError:
633633 message = v.renderToolError()
634634 case v.cancelled:
635− message = t.S().Base.Padding(0, 1).Background(t.Border).Render("Cancelled")
635+ message = t.S().Base.Foreground(t.FgSubtle).Render("Canceled.")
636636 case v.result.ToolCallID == "":
637− message = t.S().Base.Padding(0, 1).Background(t.Accent).Foreground(t.FgSubtle).Render("Waiting for tool to start...")
637+ message = t.S().Base.Foreground(t.FgSubtle).Render("Waiting for tool to start...")
638638 default:
639639 return "", false
640640 }
internal/tui/styles/crush.go+1−1
@@ -16,7 +16,7 @@ func NewCrushTheme() *Theme {
1616
1717 // Backgrounds
1818 BgBase: charmtone.Pepper,
19− BgBaseLighter: Lighten(charmtone.Pepper, 2),
19+ BgBaseLighter: charmtone.BBQ,
2020 BgSubtle: charmtone.Charcoal,
2121 BgOverlay: charmtone.Iron,
2222
vendor/github.com/charmbracelet/x/exp/charmtone/charmtone.go+52−6
@@ -65,7 +65,7 @@ const (
6565 Citron
6666 Zest
6767 Pepper
68− Barbeque
68+ BBQ
6969 Charcoal
7070 Iron
7171 Oyster
@@ -74,6 +74,22 @@ const (
7474 Ash
7575 Salt
7676 Butter
77+
78+ // Diffs: additions. The brightest color in this set is Julep, defined
79+ // above.
80+ Pickle
81+ Gator
82+ Spinach
83+
84+ // Diffs: deletions. The brightest color in this set is Cherry, defined
85+ // above.
86+ Pom
87+ Steak
88+ Toast
89+
90+ // Provisional.
91+ NeueGuac
92+ NeueZinc
7793)
7894
7995// RGBA returns the red, green, blue, and alpha values of the color. It
@@ -139,7 +155,7 @@ func (k Key) String() string {
139155 Citron: "Citron",
140156 Zest: "Zest",
141157 Pepper: "Pepper",
142− Barbeque: "Barbeque",
158+ BBQ: "BBQ",
143159 Charcoal: "Charcoal",
144160 Iron: "Iron",
145161 Oyster: "Oyster",
@@ -148,6 +164,20 @@ func (k Key) String() string {
148164 Salt: "Salt",
149165 Ash: "Ash",
150166 Butter: "Butter",
167+
168+ // Diffs: additions.
169+ Pickle: "Pickle",
170+ Gator: "Gator",
171+ Spinach: "Spinach",
172+
173+ // Diffs: deletions.
174+ Pom: "Pom",
175+ Steak: "Steak",
176+ Toast: "Toast",
177+
178+ // Provisional.
179+ NeueGuac: "Neue Guac",
180+ NeueZinc: "Neue Zinc",
151181 }[k]
152182}
153183
@@ -193,17 +223,17 @@ func (k Key) Hex() string {
193223 Damson: "#007AB8",
194224 Malibu: "#00A4FF",
195225 Sardine: "#4FBEFE",
196− Zinc: "#0e9996",
226+ Zinc: "#10B1AE",
197227 Turtle: "#0ADCD9",
198228 Lichen: "#5CDFEA",
199− Guac: "#00b875",
229+ Guac: "#12C78F",
200230 Julep: "#00FFB2",
201231 Bok: "#68FFD6",
202232 Mustard: "#F5EF34",
203233 Citron: "#E8FF27",
204234 Zest: "#E8FE96",
205235 Pepper: "#201F26",
206− Barbeque: "#2d2c35",
236+ BBQ: "#2d2c35",
207237 Charcoal: "#3A3943",
208238 Iron: "#4D4C57",
209239 Oyster: "#605F6B",
@@ -212,6 +242,20 @@ func (k Key) Hex() string {
212242 Ash: "#DFDBDD",
213243 Salt: "#F1EFEF",
214244 Butter: "#FFFAF1",
245+
246+ // Diffs: additions.
247+ Pickle: "#00A475",
248+ Gator: "#18463D",
249+ Spinach: "#1C3634",
250+
251+ // Diffs: deletions.
252+ Pom: "#AB2454",
253+ Steak: "#582238",
254+ Toast: "#412130",
255+
256+ // Provisional.
257+ NeueGuac: "#00b875",
258+ NeueZinc: "#0e9996",
215259 }[k]
216260}
217261
@@ -267,7 +311,7 @@ func Keys() []Key {
267311 Citron,
268312 Zest,
269313 Pepper,
270− Barbeque,
314+ BBQ,
271315 Charcoal,
272316 Iron,
273317 Oyster,
@@ -276,6 +320,8 @@ func Keys() []Key {
276320 Ash,
277321 Salt,
278322 Butter,
323+
324+ // XXX: additions and deletions are not included, yet.
279325 }
280326}
281327
vendor/modules.txt+1−1
@@ -289,7 +289,7 @@ github.com/charmbracelet/x/ansi/parser
289289# github.com/charmbracelet/x/cellbuf v0.0.14-0.20250516160309-24eee56f89fa
290290## explicit; go 1.23.0
291291github.com/charmbracelet/x/cellbuf
292−# github.com/charmbracelet/x/exp/charmtone v0.0.0-20250627134340-c144409e381c
292+# github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3
293293## explicit; go 1.23.0
294294github.com/charmbracelet/x/exp/charmtone
295295# github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a