on main help sign in
chore: fix: upgrade dependencies and fix rendering on non-tc terminals

Related: https://github.com/charmbracelet/crush/issues/1386

commit323c8cdaa15ddec44572af515a1887772a1c6a58 authorAyman Bagabas <ayman.bagabas@gmail.com> dateWed 5 Nov 2025, 13:31 (1 year ago) parent9b20373
66 files changed+182−170
go.mod+12−8 go.sum+24−17 internal/app/app.go+2−2 internal/cmd/dirs.go+2−2 internal/cmd/root.go+2−2 internal/cmd/update_providers.go+1−1 internal/format/spinner.go+1−1 internal/tui/components/anim/anim.go+2−2 internal/tui/components/chat/chat.go+2−2 internal/tui/components/chat/editor/editor.go+5−5 internal/tui/components/chat/editor/keys.go+1−1 internal/tui/components/chat/header/header.go+2−2 internal/tui/components/chat/messages/messages.go+4−4 internal/tui/components/chat/messages/renderer.go+2−2 internal/tui/components/chat/messages/tool.go+3−3 internal/tui/components/chat/queue.go+1−1 internal/tui/components/chat/sidebar/sidebar.go+2−2 internal/tui/components/chat/splash/keys.go+1−1 internal/tui/components/chat/splash/splash.go+4−4 internal/tui/components/completions/completions.go+3−3 internal/tui/components/completions/keys.go+1−1 internal/tui/components/core/core.go+3−3 internal/tui/components/core/layout/layout.go+2−2 internal/tui/components/core/status/status.go+3−3 internal/tui/components/dialogs/commands/arguments.go+5−5 internal/tui/components/dialogs/commands/commands.go+4−4 internal/tui/components/dialogs/commands/keys.go+1−1 internal/tui/components/dialogs/commands/loader.go+1−1 internal/tui/components/dialogs/dialogs.go+2−2 internal/tui/components/dialogs/filepicker/filepicker.go+5−5 internal/tui/components/dialogs/filepicker/keys.go+1−1 internal/tui/components/dialogs/keys.go+1−1 internal/tui/components/dialogs/models/apikey.go+4−4 internal/tui/components/dialogs/models/keys.go+1−1 internal/tui/components/dialogs/models/list.go+1−1 internal/tui/components/dialogs/models/models.go+5−5 internal/tui/components/dialogs/permissions/keys.go+1−1 internal/tui/components/dialogs/permissions/permissions.go+5−5 internal/tui/components/dialogs/quit/keys.go+1−1 internal/tui/components/dialogs/quit/quit.go+3−3 internal/tui/components/dialogs/reasoning/reasoning.go+4−4 internal/tui/components/dialogs/sessions/keys.go+1−1 internal/tui/components/dialogs/sessions/sessions.go+4−4 internal/tui/components/files/files.go+1−1 internal/tui/components/image/image.go+1−1 internal/tui/components/image/load.go+1−1 internal/tui/components/logo/logo.go+1−1 internal/tui/components/lsp/lsp.go+1−1 internal/tui/components/mcp/mcp.go+1−1 internal/tui/exp/diffview/chroma.go+1−1 internal/tui/exp/diffview/diffview.go+1−1 internal/tui/exp/diffview/style.go+1−1 internal/tui/exp/list/filterable.go+4−4 internal/tui/exp/list/filterable_group.go+4−4 internal/tui/exp/list/grouped.go+1−1 internal/tui/exp/list/items.go+2−2 internal/tui/exp/list/keys.go+1−1 internal/tui/exp/list/list.go+3−3 internal/tui/exp/list/list_test.go+2−2 internal/tui/keys.go+1−1 internal/tui/page/chat/chat.go+7−6 internal/tui/page/chat/keys.go+1−1 internal/tui/styles/charmtone.go+1−1 internal/tui/styles/theme.go+6−6 internal/tui/tui.go+4−4 internal/tui/util/util.go+1−1
go.mod+12−8
@@ -3,7 +3,10 @@ module github.com/charmbracelet/crush
33go 1.25.0
44
55require (
6+ charm.land/bubbles/v2 v2.0.0-beta.1.0.20251104200223-da0b892d1759
7+ charm.land/bubbletea/v2 v2.0.0-rc.1.0.20251105182244-3138f1cd1bf8
68 charm.land/fantasy v0.1.6
9+ charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251104200114-3aae28661422
710 github.com/JohannesKaufmann/html-to-markdown v1.6.0
811 github.com/MakeNowJust/heredoc v1.0.0
912 github.com/PuerkitoBio/goquery v1.10.3
@@ -12,18 +15,15 @@ require (
1215 github.com/aymanbagabas/go-udiff v0.3.1
1316 github.com/bmatcuk/doublestar/v4 v4.9.1
1417 github.com/charlievieth/fastwalk v1.0.14
15− github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2
16− github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.6
1718 github.com/charmbracelet/catwalk v0.8.2
18− github.com/charmbracelet/colorprofile v0.3.2
19+ github.com/charmbracelet/colorprofile v0.3.3
1920 github.com/charmbracelet/fang v0.4.3
2021 github.com/charmbracelet/glamour/v2 v2.0.0-20250811143442-a27abb32f018
21− github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250917201909-41ff0bf215ea
2222 github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706
23− github.com/charmbracelet/ultraviolet v0.0.0-20251017140847-d4ace4d6e731
24− github.com/charmbracelet/x/ansi v0.10.2
23+ github.com/charmbracelet/ultraviolet v0.0.0-20251105181648-75d1e37ff1bb
24+ github.com/charmbracelet/x/ansi v0.10.3
2525 github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3
26− github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a
26+ github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f
2727 github.com/charmbracelet/x/exp/ordered v0.1.0
2828 github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5
2929 github.com/charmbracelet/x/powernap v0.0.0-20251015113943-25f979b54ad4
@@ -88,10 +88,14 @@ require (
8888 github.com/bahlo/generic-list-go v0.2.0 // indirect
8989 github.com/buger/jsonparser v1.1.1 // indirect
9090 github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904 // indirect
91+ github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20251103214348-d3032608aa74 // indirect
9192 github.com/charmbracelet/x/cellbuf v0.0.14-0.20250811133356-e0c5dbe5ea4a // indirect
9293 github.com/charmbracelet/x/json v0.2.0 // indirect
9394 github.com/charmbracelet/x/termios v0.1.1 // indirect
9495 github.com/charmbracelet/x/windows v0.2.2 // indirect
96+ github.com/clipperhouse/displaywidth v0.4.1 // indirect
97+ github.com/clipperhouse/stringish v0.1.1 // indirect
98+ github.com/clipperhouse/uax29/v2 v2.3.0 // indirect
9599 github.com/davecgh/go-spew v1.1.1 // indirect
96100 github.com/disintegration/gift v1.1.2 // indirect
97101 github.com/dlclark/regexp2 v1.11.5 // indirect
@@ -116,7 +120,7 @@ require (
116120 github.com/klauspost/pgzip v1.2.6 // indirect
117121 github.com/mailru/easyjson v0.7.7 // indirect
118122 github.com/mattn/go-isatty v0.0.20 // indirect
119− github.com/mattn/go-runewidth v0.0.17 // indirect
123+ github.com/mattn/go-runewidth v0.0.19 // indirect
120124 github.com/mfridman/interpolate v0.0.2 // indirect
121125 github.com/microcosm-cc/bluemonday v1.0.27 // indirect
122126 github.com/mitchellh/mapstructure v1.5.0 // indirect
go.sum+24−17
@@ -1,5 +1,11 @@
1+charm.land/bubbles/v2 v2.0.0-beta.1.0.20251104200223-da0b892d1759 h1:P1MxkVl8ZeI9tHmmrn9UzV/5Mz7heoiTgqECHRFsUcs=
2+charm.land/bubbles/v2 v2.0.0-beta.1.0.20251104200223-da0b892d1759/go.mod h1:G7JWaj3kDT0BDB+h5BLDUhhBLpDoRLKrpOp5QrA2SQs=
3+charm.land/bubbletea/v2 v2.0.0-rc.1.0.20251105182244-3138f1cd1bf8 h1:A1y0nyy7ykH1judtnD36sgpepLBrU4y7mN6QlZEVhZk=
4+charm.land/bubbletea/v2 v2.0.0-rc.1.0.20251105182244-3138f1cd1bf8/go.mod h1:oR2A+f83vzDY0hALwW4eh90fKXdranRWnH/vfwJL1lU=
15charm.land/fantasy v0.1.6 h1:laomMUqUaniQoLx7UOb+MLUpIGJPoNwsXvw1PbzgnB8=
26charm.land/fantasy v0.1.6/go.mod h1:JpFcJ5zs/1CjmYYGAZ7GaFmeBv0mPaTzEPRG6Eic5pc=
7+charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251104200114-3aae28661422 h1:LcW3SSv1EZvlb9pfaVZIZyHrPVRJdb0adgX+tWPYl0k=
8+charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251104200114-3aae28661422/go.mod h1:0EJAlA1PDGb+2RyyC02yDSPDwvpegDefu74HC9Blg5o=
39cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
410cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
511cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4=
@@ -78,32 +84,28 @@ github.com/charlievieth/fastwalk v1.0.14 h1:3Eh5uaFGwHZd8EGwTjJnSpBkfwfsak9h6ICg
7884github.com/charlievieth/fastwalk v1.0.14/go.mod h1:diVcUreiU1aQ4/Wu3NbxxH4/KYdKpLDojrQ1Bb2KgNY=
7985github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904 h1:rwLdEpG9wE6kL69KkEKDiWprO8pQOZHZXeod6+9K+mw=
8086github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904/go.mod h1:8TIYxZxsuCqqeJ0lga/b91tBwrbjoHDC66Sq5t8N2R4=
81−github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2 h1:973OHYuq2Jx9deyuPwe/6lsuQrDCatOsjP8uCd02URE=
82−github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1.0.20250820203609-601216f68ee2/go.mod h1:6HamsBKWqEC/FVHuQMHgQL+knPyvHH55HwJDHl/adMw=
83−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.6 h1:nXNg4TmtfoQXFdF2BSSjTxFp9bSHQCILkIKK3FXMW/E=
84−github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.6/go.mod h1:SUTLq+/pGQ5qntHgt0JswfVJFfgJgWDqyvyiSLVlmbo=
8587github.com/charmbracelet/catwalk v0.8.2 h1:J7xq/ft/ZByJCHl3JpgvxlCd59bzZPugy66XuoL4vAs=
8688github.com/charmbracelet/catwalk v0.8.2/go.mod h1:ReU4SdrLfe63jkEjWMdX2wlZMV3k9r11oQAmzN0m+KY=
87−github.com/charmbracelet/colorprofile v0.3.2 h1:9J27WdztfJQVAQKX2WOlSSRB+5gaKqqITmrvb1uTIiI=
88−github.com/charmbracelet/colorprofile v0.3.2/go.mod h1:mTD5XzNeWHj8oqHb+S1bssQb7vIHbepiebQ2kPKVKbI=
89+github.com/charmbracelet/colorprofile v0.3.3 h1:DjJzJtLP6/NZ8p7Cgjno0CKGr7wwRJGxWUwh2IyhfAI=
90+github.com/charmbracelet/colorprofile v0.3.3/go.mod h1:nB1FugsAbzq284eJcjfah2nhdSLppN2NqvfotkfRYP4=
8991github.com/charmbracelet/fang v0.4.3 h1:qXeMxnL4H6mSKBUhDefHu8NfikFbP/MBNTfqTrXvzmY=
9092github.com/charmbracelet/fang v0.4.3/go.mod h1:wHJKQYO5ReYsxx+yZl+skDtrlKO/4LLEQ6EXsdHhRhg=
9193github.com/charmbracelet/glamour/v2 v2.0.0-20250811143442-a27abb32f018 h1:PU4Zvpagsk5sgaDxn5W4sxHuLp9QRMBZB3bFSk40A4w=
9294github.com/charmbracelet/glamour/v2 v2.0.0-20250811143442-a27abb32f018/go.mod h1:Z/GLmp9fzaqX4ze3nXG7StgWez5uBM5XtlLHK8V/qSk=
93−github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250917201909-41ff0bf215ea h1:g1HfUgSMvye8mgecMD1mPscpt+pzJoDEiSA+p2QXzdQ=
94−github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20250917201909-41ff0bf215ea/go.mod h1:ngHerf1JLJXBrDXdphn5gFrBPriCL437uwukd5c93pM=
95+github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20251103214348-d3032608aa74 h1:2N+CxpUFM6Rrx+xT7XaqM9pp/psOFlxKWa5R7rP/lck=
96+github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.3.0.20251103214348-d3032608aa74/go.mod h1:RfXmCdNs2F4MVJjBVQp5RZYXR05MiRAHN4GHwWmsNIA=
9597github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706 h1:WkwO6Ks3mSIGnGuSdKl9qDSyfbYK50z2wc2gGMggegE=
9698github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706/go.mod h1:mjJGp00cxcfvD5xdCa+bso251Jt4owrQvuimJtVmEmM=
97−github.com/charmbracelet/ultraviolet v0.0.0-20251017140847-d4ace4d6e731 h1:Lr+igmzKpLPdb8yUZBP9noYWwCZP042z2nWPrJZTc+8=
98−github.com/charmbracelet/ultraviolet v0.0.0-20251017140847-d4ace4d6e731/go.mod h1:KfWwUa0Oe//D72YlhbOq/g40L7UiGtATrvsGI3cciG8=
99−github.com/charmbracelet/x/ansi v0.10.2 h1:ith2ArZS0CJG30cIUfID1LXN7ZFXRCww6RUvAPA+Pzw=
100−github.com/charmbracelet/x/ansi v0.10.2/go.mod h1:HbLdJjQH4UH4AqA2HpRWuWNluRE6zxJH/yteYEYCFa8=
99+github.com/charmbracelet/ultraviolet v0.0.0-20251105181648-75d1e37ff1bb h1:KZnKSrGjarKScpekDuPAVnlMSMtA7mdzmoUD0AhAZC0=
100+github.com/charmbracelet/ultraviolet v0.0.0-20251105181648-75d1e37ff1bb/go.mod h1:G7cNuWgmuugx6ApJv4kDGfnFanoDAz8AWazH9lSoWdw=
101+github.com/charmbracelet/x/ansi v0.10.3 h1:3WoV9XN8uMEnFRZZ+vBPRy59TaIWa+gJodS4Vg5Fut0=
102+github.com/charmbracelet/x/ansi v0.10.3/go.mod h1:uQt8bOrq/xgXjlGcFMc8U2WYbnxyjrKhnvTQluvfCaE=
101103github.com/charmbracelet/x/cellbuf v0.0.14-0.20250811133356-e0c5dbe5ea4a h1:zYSNtEJM9jwHbJts2k+Hroj+xQwsW1yxc4Wopdv7KaI=
102104github.com/charmbracelet/x/cellbuf v0.0.14-0.20250811133356-e0c5dbe5ea4a/go.mod h1:rc2bsPC6MWae3LdOxNO1mOb443NlMrrDL0xEya48NNc=
103105github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3 h1:1xwHZg6eMZ9Wv5TE1UGub6ARubyOd1Lo5kPUI/6VL50=
104106github.com/charmbracelet/x/exp/charmtone v0.0.0-20250708181618-a60a724ba6c3/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0=
105−github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a h1:FsHEJ52OC4VuTzU8t+n5frMjLvpYWEznSr/u8tnkCYw=
106−github.com/charmbracelet/x/exp/golden v0.0.0-20250207160936-21c02780d27a/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
107+github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA=
108+github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I=
107109github.com/charmbracelet/x/exp/ordered v0.1.0 h1:55/qLwjIh0gL0Vni+QAWk7T/qRVP6sBf+2agPBgnOFE=
108110github.com/charmbracelet/x/exp/ordered v0.1.0/go.mod h1:5UHwmG+is5THxMyCJHNPCn2/ecI07aKNrW+LcResjJ8=
109111github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5 h1:DTSZxdV9qQagD4iGcAt9RgaRBZtJl01bfKgdLzUzUPI=
@@ -118,6 +120,12 @@ github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8
118120github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo=
119121github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM=
120122github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k=
123+github.com/clipperhouse/displaywidth v0.4.1 h1:uVw9V8UDfnggg3K2U84VWY1YLQ/x2aKSCtkRyYozfoU=
124+github.com/clipperhouse/displaywidth v0.4.1/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o=
125+github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs=
126+github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=
127+github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4=
128+github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
121129github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
122130github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
123131github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
@@ -204,8 +212,8 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0
204212github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
205213github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
206214github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
207−github.com/mattn/go-runewidth v0.0.17 h1:78v8ZlW0bP43XfmAfPsdXcoNCelfMHsDmd/pkENfrjQ=
208−github.com/mattn/go-runewidth v0.0.17/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
215+github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw=
216+github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
209217github.com/mfridman/interpolate v0.0.2 h1:pnuTK7MQIxxFz1Gr+rjSIx9u7qVjf5VOoM/u6BbAxPY=
210218github.com/mfridman/interpolate v0.0.2/go.mod h1:p+7uk6oE07mpE/Ik1b8EckO0O4ZXiGAfshKBWLUM9Xg=
211219github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
@@ -253,7 +261,6 @@ github.com/qjebbs/go-jsons v1.0.0-alpha.4 h1:Qsb4ohRUHQODIUAsJKdKJ/SIDbsO7oGOzsf
253261github.com/qjebbs/go-jsons v1.0.0-alpha.4/go.mod h1:wNJrtinHyC3YSf6giEh4FJN8+yZV7nXBjvmfjhBIcw4=
254262github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
255263github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
256−github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
257264github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
258265github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
259266github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
internal/app/app.go+2−2
@@ -13,8 +13,9 @@ import (
1313 "sync"
1414 "time"
1515
16+ tea "charm.land/bubbletea/v2"
1617 "charm.land/fantasy"
17− tea "github.com/charmbracelet/bubbletea/v2"
18+ "charm.land/lipgloss/v2"
1819 "github.com/charmbracelet/crush/internal/agent"
1920 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
2021 "github.com/charmbracelet/crush/internal/config"
@@ -31,7 +32,6 @@ import (
3132 "github.com/charmbracelet/crush/internal/term"
3233 "github.com/charmbracelet/crush/internal/tui/components/anim"
3334 "github.com/charmbracelet/crush/internal/tui/styles"
34− "github.com/charmbracelet/lipgloss/v2"
3535 "github.com/charmbracelet/x/ansi"
3636 "github.com/charmbracelet/x/exp/charmtone"
3737)
internal/cmd/dirs.go+2−2
@@ -4,9 +4,9 @@ import (
44 "os"
55 "path/filepath"
66
7+ "charm.land/lipgloss/v2"
8+ "charm.land/lipgloss/v2/table"
79 "github.com/charmbracelet/crush/internal/config"
8− "github.com/charmbracelet/lipgloss/v2"
9− "github.com/charmbracelet/lipgloss/v2/table"
1010 "github.com/charmbracelet/x/term"
1111 "github.com/spf13/cobra"
1212)
internal/cmd/root.go+2−2
@@ -12,7 +12,8 @@ import (
1212 "strconv"
1313 "strings"
1414
15− tea "github.com/charmbracelet/bubbletea/v2"
15+ tea "charm.land/bubbletea/v2"
16+ "charm.land/lipgloss/v2"
1617 "github.com/charmbracelet/colorprofile"
1718 "github.com/charmbracelet/crush/internal/app"
1819 "github.com/charmbracelet/crush/internal/config"
@@ -22,7 +23,6 @@ import (
2223 "github.com/charmbracelet/crush/internal/tui"
2324 "github.com/charmbracelet/crush/internal/version"
2425 "github.com/charmbracelet/fang"
25− "github.com/charmbracelet/lipgloss/v2"
2626 uv "github.com/charmbracelet/ultraviolet"
2727 "github.com/charmbracelet/x/ansi"
2828 "github.com/charmbracelet/x/exp/charmtone"
internal/cmd/update_providers.go+1−1
@@ -4,8 +4,8 @@ import (
44 "fmt"
55 "log/slog"
66
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/config"
8− "github.com/charmbracelet/lipgloss/v2"
99 "github.com/charmbracelet/x/exp/charmtone"
1010 "github.com/spf13/cobra"
1111)
internal/format/spinner.go+1−1
@@ -6,7 +6,7 @@ import (
66 "fmt"
77 "os"
88
9− tea "github.com/charmbracelet/bubbletea/v2"
9+ tea "charm.land/bubbletea/v2"
1010 "github.com/charmbracelet/crush/internal/tui/components/anim"
1111 "github.com/charmbracelet/x/ansi"
1212)
internal/tui/components/anim/anim.go+2−2
@@ -11,8 +11,8 @@ import (
1111
1212 "github.com/zeebo/xxh3"
1313
14− tea "github.com/charmbracelet/bubbletea/v2"
15− "github.com/charmbracelet/lipgloss/v2"
14+ tea "charm.land/bubbletea/v2"
15+ "charm.land/lipgloss/v2"
1616 "github.com/lucasb-eyer/go-colorful"
1717
1818 "github.com/charmbracelet/crush/internal/csync"
internal/tui/components/chat/chat.go+2−2
@@ -5,9 +5,9 @@ import (
55 "strings"
66 "time"
77
8+ "charm.land/bubbles/v2/key"
9+ tea "charm.land/bubbletea/v2"
810 "github.com/atotto/clipboard"
9− "github.com/charmbracelet/bubbles/v2/key"
10− tea "github.com/charmbracelet/bubbletea/v2"
1111 "github.com/charmbracelet/crush/internal/agent"
1212 "github.com/charmbracelet/crush/internal/agent/tools"
1313 "github.com/charmbracelet/crush/internal/app"
internal/tui/components/chat/editor/editor.go+5−5
@@ -13,9 +13,10 @@ import (
1313 "strings"
1414 "unicode"
1515
16− "github.com/charmbracelet/bubbles/v2/key"
17− "github.com/charmbracelet/bubbles/v2/textarea"
18− tea "github.com/charmbracelet/bubbletea/v2"
16+ "charm.land/bubbles/v2/key"
17+ "charm.land/bubbles/v2/textarea"
18+ tea "charm.land/bubbletea/v2"
19+ "charm.land/lipgloss/v2"
1920 "github.com/charmbracelet/crush/internal/app"
2021 "github.com/charmbracelet/crush/internal/fsext"
2122 "github.com/charmbracelet/crush/internal/message"
@@ -29,7 +30,6 @@ import (
2930 "github.com/charmbracelet/crush/internal/tui/components/dialogs/quit"
3031 "github.com/charmbracelet/crush/internal/tui/styles"
3132 "github.com/charmbracelet/crush/internal/tui/util"
32− "github.com/charmbracelet/lipgloss/v2"
3333)
3434
3535type Editor interface {
@@ -220,7 +220,7 @@ func (m *editorCmp) Update(msg tea.Msg) (util.Model, tea.Cmd) {
220220 m.textarea.SetValue(msg.Text)
221221 m.textarea.MoveToEnd()
222222 case tea.PasteMsg:
223− path := strings.ReplaceAll(string(msg), "\\ ", " ")
223+ path := strings.ReplaceAll(msg.Content, "\\ ", " ")
224224 // try to get an image
225225 path, err := filepath.Abs(strings.TrimSpace(path))
226226 if err != nil {
internal/tui/components/chat/editor/keys.go+1−1
@@ -1,7 +1,7 @@
11package editor
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type EditorKeyMap struct {
internal/tui/components/chat/header/header.go+2−2
@@ -4,7 +4,8 @@ import (
44 "fmt"
55 "strings"
66
7− tea "github.com/charmbracelet/bubbletea/v2"
7+ tea "charm.land/bubbletea/v2"
8+ "charm.land/lipgloss/v2"
89 "github.com/charmbracelet/crush/internal/config"
910 "github.com/charmbracelet/crush/internal/csync"
1011 "github.com/charmbracelet/crush/internal/fsext"
@@ -13,7 +14,6 @@ import (
1314 "github.com/charmbracelet/crush/internal/session"
1415 "github.com/charmbracelet/crush/internal/tui/styles"
1516 "github.com/charmbracelet/crush/internal/tui/util"
16− "github.com/charmbracelet/lipgloss/v2"
1717 "github.com/charmbracelet/x/ansi"
1818 "github.com/charmbracelet/x/powernap/pkg/lsp/protocol"
1919)
internal/tui/components/chat/messages/messages.go+4−4
@@ -6,11 +6,11 @@ import (
66 "strings"
77 "time"
88
9− "github.com/charmbracelet/bubbles/v2/key"
10− "github.com/charmbracelet/bubbles/v2/viewport"
11− tea "github.com/charmbracelet/bubbletea/v2"
9+ "charm.land/bubbles/v2/key"
10+ "charm.land/bubbles/v2/viewport"
11+ tea "charm.land/bubbletea/v2"
12+ "charm.land/lipgloss/v2"
1213 "github.com/charmbracelet/catwalk/pkg/catwalk"
13− "github.com/charmbracelet/lipgloss/v2"
1414 "github.com/charmbracelet/x/ansi"
1515 "github.com/charmbracelet/x/exp/ordered"
1616 "github.com/google/uuid"
internal/tui/components/chat/messages/renderer.go+2−2
@@ -6,6 +6,8 @@ import (
66 "strings"
77 "time"
88
9+ "charm.land/lipgloss/v2"
10+ "charm.land/lipgloss/v2/tree"
911 "github.com/charmbracelet/crush/internal/agent"
1012 "github.com/charmbracelet/crush/internal/agent/tools"
1113 "github.com/charmbracelet/crush/internal/ansiext"
@@ -13,8 +15,6 @@ import (
1315 "github.com/charmbracelet/crush/internal/tui/components/core"
1416 "github.com/charmbracelet/crush/internal/tui/highlight"
1517 "github.com/charmbracelet/crush/internal/tui/styles"
16− "github.com/charmbracelet/lipgloss/v2"
17− "github.com/charmbracelet/lipgloss/v2/tree"
1818 "github.com/charmbracelet/x/ansi"
1919)
2020
internal/tui/components/chat/messages/tool.go+3−3
@@ -7,9 +7,10 @@ import (
77 "strings"
88 "time"
99
10+ "charm.land/bubbles/v2/key"
11+ tea "charm.land/bubbletea/v2"
12+ "charm.land/lipgloss/v2"
1013 "github.com/atotto/clipboard"
11− "github.com/charmbracelet/bubbles/v2/key"
12− tea "github.com/charmbracelet/bubbletea/v2"
1314 "github.com/charmbracelet/crush/internal/agent"
1415 "github.com/charmbracelet/crush/internal/agent/tools"
1516 "github.com/charmbracelet/crush/internal/diff"
@@ -20,7 +21,6 @@ import (
2021 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
2122 "github.com/charmbracelet/crush/internal/tui/styles"
2223 "github.com/charmbracelet/crush/internal/tui/util"
23− "github.com/charmbracelet/lipgloss/v2"
2424 "github.com/charmbracelet/x/ansi"
2525)
2626
internal/tui/components/chat/queue.go+1−1
@@ -4,8 +4,8 @@ import (
44 "fmt"
55 "strings"
66
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/tui/styles"
8− "github.com/charmbracelet/lipgloss/v2"
99)
1010
1111func queuePill(queue int, t *styles.Theme) string {
internal/tui/components/chat/sidebar/sidebar.go+2−2
@@ -6,7 +6,8 @@ import (
66 "slices"
77 "strings"
88
9− tea "github.com/charmbracelet/bubbletea/v2"
9+ tea "charm.land/bubbletea/v2"
10+ "charm.land/lipgloss/v2"
1011 "github.com/charmbracelet/catwalk/pkg/catwalk"
1112 "github.com/charmbracelet/crush/internal/config"
1213 "github.com/charmbracelet/crush/internal/csync"
@@ -27,7 +28,6 @@ import (
2728 "github.com/charmbracelet/crush/internal/tui/styles"
2829 "github.com/charmbracelet/crush/internal/tui/util"
2930 "github.com/charmbracelet/crush/internal/version"
30− "github.com/charmbracelet/lipgloss/v2"
3131 "golang.org/x/text/cases"
3232 "golang.org/x/text/language"
3333)
internal/tui/components/chat/splash/keys.go+1−1
@@ -1,7 +1,7 @@
11package splash
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/components/chat/splash/splash.go+4−4
@@ -5,9 +5,10 @@ import (
55 "strings"
66 "time"
77
8− "github.com/charmbracelet/bubbles/v2/key"
9− "github.com/charmbracelet/bubbles/v2/spinner"
10− tea "github.com/charmbracelet/bubbletea/v2"
8+ "charm.land/bubbles/v2/key"
9+ "charm.land/bubbles/v2/spinner"
10+ tea "charm.land/bubbletea/v2"
11+ "charm.land/lipgloss/v2"
1112 "github.com/charmbracelet/catwalk/pkg/catwalk"
1213 "github.com/charmbracelet/crush/internal/agent"
1314 "github.com/charmbracelet/crush/internal/config"
@@ -23,7 +24,6 @@ import (
2324 "github.com/charmbracelet/crush/internal/tui/styles"
2425 "github.com/charmbracelet/crush/internal/tui/util"
2526 "github.com/charmbracelet/crush/internal/version"
26− "github.com/charmbracelet/lipgloss/v2"
2727)
2828
2929type Splash interface {
internal/tui/components/completions/completions.go+3−3
@@ -3,12 +3,12 @@ package completions
33import (
44 "strings"
55
6− "github.com/charmbracelet/bubbles/v2/key"
7− tea "github.com/charmbracelet/bubbletea/v2"
6+ "charm.land/bubbles/v2/key"
7+ tea "charm.land/bubbletea/v2"
8+ "charm.land/lipgloss/v2"
89 "github.com/charmbracelet/crush/internal/tui/exp/list"
910 "github.com/charmbracelet/crush/internal/tui/styles"
1011 "github.com/charmbracelet/crush/internal/tui/util"
11− "github.com/charmbracelet/lipgloss/v2"
1212)
1313
1414const maxCompletionsHeight = 10
internal/tui/components/completions/keys.go+1−1
@@ -1,7 +1,7 @@
11package completions
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/components/core/core.go+3−3
@@ -4,12 +4,12 @@ import (
44 "image/color"
55 "strings"
66
7+ "charm.land/bubbles/v2/help"
8+ "charm.land/bubbles/v2/key"
9+ "charm.land/lipgloss/v2"
710 "github.com/alecthomas/chroma/v2"
8− "github.com/charmbracelet/bubbles/v2/help"
9− "github.com/charmbracelet/bubbles/v2/key"
1011 "github.com/charmbracelet/crush/internal/tui/exp/diffview"
1112 "github.com/charmbracelet/crush/internal/tui/styles"
12− "github.com/charmbracelet/lipgloss/v2"
1313 "github.com/charmbracelet/x/ansi"
1414)
1515
internal/tui/components/core/layout/layout.go+2−2
@@ -1,8 +1,8 @@
11package layout
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
5− tea "github.com/charmbracelet/bubbletea/v2"
4+ "charm.land/bubbles/v2/key"
5+ tea "charm.land/bubbletea/v2"
66)
77
88// TODO: move this to core
internal/tui/components/core/status/status.go+3−3
@@ -3,11 +3,11 @@ package status
33import (
44 "time"
55
6− "github.com/charmbracelet/bubbles/v2/help"
7− tea "github.com/charmbracelet/bubbletea/v2"
6+ "charm.land/bubbles/v2/help"
7+ tea "charm.land/bubbletea/v2"
8+ "charm.land/lipgloss/v2"
89 "github.com/charmbracelet/crush/internal/tui/styles"
910 "github.com/charmbracelet/crush/internal/tui/util"
10− "github.com/charmbracelet/lipgloss/v2"
1111 "github.com/charmbracelet/x/ansi"
1212)
1313
internal/tui/components/dialogs/commands/arguments.go+5−5
@@ -3,14 +3,14 @@ package commands
33import (
44 "cmp"
55
6− "github.com/charmbracelet/bubbles/v2/help"
7− "github.com/charmbracelet/bubbles/v2/key"
8− "github.com/charmbracelet/bubbles/v2/textinput"
9− tea "github.com/charmbracelet/bubbletea/v2"
6+ "charm.land/bubbles/v2/help"
7+ "charm.land/bubbles/v2/key"
8+ "charm.land/bubbles/v2/textinput"
9+ tea "charm.land/bubbletea/v2"
10+ "charm.land/lipgloss/v2"
1011 "github.com/charmbracelet/crush/internal/tui/components/dialogs"
1112 "github.com/charmbracelet/crush/internal/tui/styles"
1213 "github.com/charmbracelet/crush/internal/tui/util"
13− "github.com/charmbracelet/lipgloss/v2"
1414)
1515
1616const (
internal/tui/components/dialogs/commands/commands.go+4−4
@@ -5,11 +5,11 @@ import (
55 "slices"
66 "strings"
77
8− "github.com/charmbracelet/bubbles/v2/help"
9− "github.com/charmbracelet/bubbles/v2/key"
10− tea "github.com/charmbracelet/bubbletea/v2"
8+ "charm.land/bubbles/v2/help"
9+ "charm.land/bubbles/v2/key"
10+ tea "charm.land/bubbletea/v2"
11+ "charm.land/lipgloss/v2"
1112 "github.com/charmbracelet/catwalk/pkg/catwalk"
12− "github.com/charmbracelet/lipgloss/v2"
1313
1414 "github.com/charmbracelet/crush/internal/agent"
1515 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
internal/tui/components/dialogs/commands/keys.go+1−1
@@ -1,7 +1,7 @@
11package commands
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type CommandsDialogKeyMap struct {
internal/tui/components/dialogs/commands/loader.go+1−1
@@ -10,7 +10,7 @@ import (
1010 "regexp"
1111 "strings"
1212
13− tea "github.com/charmbracelet/bubbletea/v2"
13+ tea "charm.land/bubbletea/v2"
1414 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
1515 "github.com/charmbracelet/crush/internal/config"
1616 "github.com/charmbracelet/crush/internal/home"
internal/tui/components/dialogs/dialogs.go+2−2
@@ -3,9 +3,9 @@ package dialogs
33import (
44 "slices"
55
6− tea "github.com/charmbracelet/bubbletea/v2"
6+ tea "charm.land/bubbletea/v2"
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/tui/util"
8− "github.com/charmbracelet/lipgloss/v2"
99)
1010
1111type DialogID string
internal/tui/components/dialogs/filepicker/filepicker.go+5−5
@@ -7,10 +7,11 @@ import (
77 "path/filepath"
88 "strings"
99
10− "github.com/charmbracelet/bubbles/v2/filepicker"
11− "github.com/charmbracelet/bubbles/v2/help"
12− "github.com/charmbracelet/bubbles/v2/key"
13− tea "github.com/charmbracelet/bubbletea/v2"
10+ "charm.land/bubbles/v2/filepicker"
11+ "charm.land/bubbles/v2/help"
12+ "charm.land/bubbles/v2/key"
13+ tea "charm.land/bubbletea/v2"
14+ "charm.land/lipgloss/v2"
1415 "github.com/charmbracelet/crush/internal/home"
1516 "github.com/charmbracelet/crush/internal/message"
1617 "github.com/charmbracelet/crush/internal/tui/components/core"
@@ -18,7 +19,6 @@ import (
1819 "github.com/charmbracelet/crush/internal/tui/components/image"
1920 "github.com/charmbracelet/crush/internal/tui/styles"
2021 "github.com/charmbracelet/crush/internal/tui/util"
21− "github.com/charmbracelet/lipgloss/v2"
2222)
2323
2424const (
internal/tui/components/dialogs/filepicker/keys.go+1−1
@@ -1,7 +1,7 @@
11package filepicker
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77// KeyMap defines keyboard bindings for dialog management.
internal/tui/components/dialogs/keys.go+1−1
@@ -1,7 +1,7 @@
11package dialogs
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77// KeyMap defines keyboard bindings for dialog management.
internal/tui/components/dialogs/models/apikey.go+4−4
@@ -3,14 +3,14 @@ package models
33import (
44 "fmt"
55
6− "github.com/charmbracelet/bubbles/v2/spinner"
7− "github.com/charmbracelet/bubbles/v2/textinput"
8− tea "github.com/charmbracelet/bubbletea/v2"
6+ "charm.land/bubbles/v2/spinner"
7+ "charm.land/bubbles/v2/textinput"
8+ tea "charm.land/bubbletea/v2"
9+ "charm.land/lipgloss/v2"
910 "github.com/charmbracelet/crush/internal/config"
1011 "github.com/charmbracelet/crush/internal/home"
1112 "github.com/charmbracelet/crush/internal/tui/styles"
1213 "github.com/charmbracelet/crush/internal/tui/util"
13− "github.com/charmbracelet/lipgloss/v2"
1414)
1515
1616type APIKeyInputState int
internal/tui/components/dialogs/models/keys.go+1−1
@@ -1,7 +1,7 @@
11package models
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/components/dialogs/models/list.go+1−1
@@ -6,7 +6,7 @@ import (
66 "slices"
77 "strings"
88
9− tea "github.com/charmbracelet/bubbletea/v2"
9+ tea "charm.land/bubbletea/v2"
1010 "github.com/charmbracelet/catwalk/pkg/catwalk"
1111 "github.com/charmbracelet/crush/internal/config"
1212 "github.com/charmbracelet/crush/internal/tui/exp/list"
internal/tui/components/dialogs/models/models.go+5−5
@@ -4,10 +4,11 @@ import (
44 "fmt"
55 "time"
66
7− "github.com/charmbracelet/bubbles/v2/help"
8− "github.com/charmbracelet/bubbles/v2/key"
9− "github.com/charmbracelet/bubbles/v2/spinner"
10− tea "github.com/charmbracelet/bubbletea/v2"
7+ "charm.land/bubbles/v2/help"
8+ "charm.land/bubbles/v2/key"
9+ "charm.land/bubbles/v2/spinner"
10+ tea "charm.land/bubbletea/v2"
11+ "charm.land/lipgloss/v2"
1112 "github.com/charmbracelet/catwalk/pkg/catwalk"
1213 "github.com/charmbracelet/crush/internal/config"
1314 "github.com/charmbracelet/crush/internal/tui/components/core"
@@ -15,7 +16,6 @@ import (
1516 "github.com/charmbracelet/crush/internal/tui/exp/list"
1617 "github.com/charmbracelet/crush/internal/tui/styles"
1718 "github.com/charmbracelet/crush/internal/tui/util"
18− "github.com/charmbracelet/lipgloss/v2"
1919)
2020
2121const (
internal/tui/components/dialogs/permissions/keys.go+1−1
@@ -1,7 +1,7 @@
11package permissions
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/components/dialogs/permissions/permissions.go+5−5
@@ -5,10 +5,11 @@ import (
55 "fmt"
66 "strings"
77
8− "github.com/charmbracelet/bubbles/v2/help"
9− "github.com/charmbracelet/bubbles/v2/key"
10− "github.com/charmbracelet/bubbles/v2/viewport"
11− tea "github.com/charmbracelet/bubbletea/v2"
8+ "charm.land/bubbles/v2/help"
9+ "charm.land/bubbles/v2/key"
10+ "charm.land/bubbles/v2/viewport"
11+ tea "charm.land/bubbletea/v2"
12+ "charm.land/lipgloss/v2"
1213 "github.com/charmbracelet/crush/internal/agent/tools"
1314 "github.com/charmbracelet/crush/internal/fsext"
1415 "github.com/charmbracelet/crush/internal/permission"
@@ -16,7 +17,6 @@ import (
1617 "github.com/charmbracelet/crush/internal/tui/components/dialogs"
1718 "github.com/charmbracelet/crush/internal/tui/styles"
1819 "github.com/charmbracelet/crush/internal/tui/util"
19− "github.com/charmbracelet/lipgloss/v2"
2020 "github.com/charmbracelet/x/ansi"
2121)
2222
internal/tui/components/dialogs/quit/keys.go+1−1
@@ -1,7 +1,7 @@
11package quit
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77// KeyMap defines the keyboard bindings for the quit dialog.
internal/tui/components/dialogs/quit/quit.go+3−3
@@ -1,12 +1,12 @@
11package quit
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
5− tea "github.com/charmbracelet/bubbletea/v2"
4+ "charm.land/bubbles/v2/key"
5+ tea "charm.land/bubbletea/v2"
6+ "charm.land/lipgloss/v2"
67 "github.com/charmbracelet/crush/internal/tui/components/dialogs"
78 "github.com/charmbracelet/crush/internal/tui/styles"
89 "github.com/charmbracelet/crush/internal/tui/util"
9− "github.com/charmbracelet/lipgloss/v2"
1010)
1111
1212const (
internal/tui/components/dialogs/reasoning/reasoning.go+4−4
@@ -1,10 +1,10 @@
11package reasoning
22
33import (
4− "github.com/charmbracelet/bubbles/v2/help"
5− "github.com/charmbracelet/bubbles/v2/key"
6− tea "github.com/charmbracelet/bubbletea/v2"
7− "github.com/charmbracelet/lipgloss/v2"
4+ "charm.land/bubbles/v2/help"
5+ "charm.land/bubbles/v2/key"
6+ tea "charm.land/bubbletea/v2"
7+ "charm.land/lipgloss/v2"
88 "golang.org/x/text/cases"
99 "golang.org/x/text/language"
1010
internal/tui/components/dialogs/sessions/keys.go+1−1
@@ -1,7 +1,7 @@
11package sessions
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/components/dialogs/sessions/sessions.go+4−4
@@ -1,9 +1,10 @@
11package sessions
22
33import (
4− "github.com/charmbracelet/bubbles/v2/help"
5− "github.com/charmbracelet/bubbles/v2/key"
6− tea "github.com/charmbracelet/bubbletea/v2"
4+ "charm.land/bubbles/v2/help"
5+ "charm.land/bubbles/v2/key"
6+ tea "charm.land/bubbletea/v2"
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/event"
89 "github.com/charmbracelet/crush/internal/session"
910 "github.com/charmbracelet/crush/internal/tui/components/chat"
@@ -12,7 +13,6 @@ import (
1213 "github.com/charmbracelet/crush/internal/tui/exp/list"
1314 "github.com/charmbracelet/crush/internal/tui/styles"
1415 "github.com/charmbracelet/crush/internal/tui/util"
15− "github.com/charmbracelet/lipgloss/v2"
1616)
1717
1818const SessionsDialogID dialogs.DialogID = "sessions"
internal/tui/components/files/files.go+1−1
@@ -7,7 +7,7 @@ import (
77 "sort"
88 "strings"
99
10− "github.com/charmbracelet/lipgloss/v2"
10+ "charm.land/lipgloss/v2"
1111 "github.com/charmbracelet/x/ansi"
1212
1313 "github.com/charmbracelet/crush/internal/config"
internal/tui/components/image/image.go+1−1
@@ -7,7 +7,7 @@ import (
77 _ "image/jpeg"
88 _ "image/png"
99
10− tea "github.com/charmbracelet/bubbletea/v2"
10+ tea "charm.land/bubbletea/v2"
1111)
1212
1313type Model struct {
internal/tui/components/image/load.go+1−1
@@ -11,7 +11,7 @@ import (
1111 "os"
1212 "strings"
1313
14− tea "github.com/charmbracelet/bubbletea/v2"
14+ tea "charm.land/bubbletea/v2"
1515 "github.com/disintegration/imageorient"
1616 "github.com/lucasb-eyer/go-colorful"
1717 "github.com/muesli/termenv"
internal/tui/components/logo/logo.go+1−1
@@ -6,9 +6,9 @@ import (
66 "image/color"
77 "strings"
88
9+ "charm.land/lipgloss/v2"
910 "github.com/MakeNowJust/heredoc"
1011 "github.com/charmbracelet/crush/internal/tui/styles"
11− "github.com/charmbracelet/lipgloss/v2"
1212 "github.com/charmbracelet/x/ansi"
1313 "github.com/charmbracelet/x/exp/slice"
1414)
internal/tui/components/lsp/lsp.go+1−1
@@ -4,13 +4,13 @@ import (
44 "fmt"
55 "strings"
66
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/app"
89 "github.com/charmbracelet/crush/internal/config"
910 "github.com/charmbracelet/crush/internal/csync"
1011 "github.com/charmbracelet/crush/internal/lsp"
1112 "github.com/charmbracelet/crush/internal/tui/components/core"
1213 "github.com/charmbracelet/crush/internal/tui/styles"
13− "github.com/charmbracelet/lipgloss/v2"
1414 "github.com/charmbracelet/x/powernap/pkg/lsp/protocol"
1515)
1616
internal/tui/components/mcp/mcp.go+1−1
@@ -4,7 +4,7 @@ import (
44 "fmt"
55 "strings"
66
7− "github.com/charmbracelet/lipgloss/v2"
7+ "charm.land/lipgloss/v2"
88
99 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
1010 "github.com/charmbracelet/crush/internal/config"
internal/tui/exp/diffview/chroma.go+1−1
@@ -6,9 +6,9 @@ import (
66 "io"
77 "strings"
88
9+ "charm.land/lipgloss/v2"
910 "github.com/alecthomas/chroma/v2"
1011 "github.com/charmbracelet/crush/internal/ansiext"
11− "github.com/charmbracelet/lipgloss/v2"
1212)
1313
1414var _ chroma.Formatter = chromaFormatter{}
internal/tui/exp/diffview/diffview.go+1−1
@@ -6,10 +6,10 @@ import (
66 "strconv"
77 "strings"
88
9+ "charm.land/lipgloss/v2"
910 "github.com/alecthomas/chroma/v2"
1011 "github.com/alecthomas/chroma/v2/lexers"
1112 "github.com/aymanbagabas/go-udiff"
12− "github.com/charmbracelet/lipgloss/v2"
1313 "github.com/charmbracelet/x/ansi"
1414 "github.com/zeebo/xxh3"
1515)
internal/tui/exp/diffview/style.go+1−1
@@ -1,7 +1,7 @@
11package diffview
22
33import (
4− "github.com/charmbracelet/lipgloss/v2"
4+ "charm.land/lipgloss/v2"
55 "github.com/charmbracelet/x/exp/charmtone"
66)
77
internal/tui/exp/list/filterable.go+4−4
@@ -4,13 +4,13 @@ import (
44 "regexp"
55 "slices"
66
7− "github.com/charmbracelet/bubbles/v2/key"
8− "github.com/charmbracelet/bubbles/v2/textinput"
9− tea "github.com/charmbracelet/bubbletea/v2"
7+ "charm.land/bubbles/v2/key"
8+ "charm.land/bubbles/v2/textinput"
9+ tea "charm.land/bubbletea/v2"
10+ "charm.land/lipgloss/v2"
1011 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
1112 "github.com/charmbracelet/crush/internal/tui/styles"
1213 "github.com/charmbracelet/crush/internal/tui/util"
13− "github.com/charmbracelet/lipgloss/v2"
1414 "github.com/sahilm/fuzzy"
1515)
1616
internal/tui/exp/list/filterable_group.go+4−4
@@ -5,13 +5,13 @@ import (
55 "sort"
66 "strings"
77
8− "github.com/charmbracelet/bubbles/v2/key"
9− "github.com/charmbracelet/bubbles/v2/textinput"
10− tea "github.com/charmbracelet/bubbletea/v2"
8+ "charm.land/bubbles/v2/key"
9+ "charm.land/bubbles/v2/textinput"
10+ tea "charm.land/bubbletea/v2"
11+ "charm.land/lipgloss/v2"
1112 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
1213 "github.com/charmbracelet/crush/internal/tui/styles"
1314 "github.com/charmbracelet/crush/internal/tui/util"
14− "github.com/charmbracelet/lipgloss/v2"
1515 "github.com/sahilm/fuzzy"
1616)
1717
internal/tui/exp/list/grouped.go+1−1
@@ -1,7 +1,7 @@
11package list
22
33import (
4− tea "github.com/charmbracelet/bubbletea/v2"
4+ tea "charm.land/bubbletea/v2"
55 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
66 "github.com/charmbracelet/crush/internal/tui/util"
77)
internal/tui/exp/list/items.go+2−2
@@ -3,12 +3,12 @@ package list
33import (
44 "image/color"
55
6− tea "github.com/charmbracelet/bubbletea/v2"
6+ tea "charm.land/bubbletea/v2"
7+ "charm.land/lipgloss/v2"
78 "github.com/charmbracelet/crush/internal/tui/components/core"
89 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
910 "github.com/charmbracelet/crush/internal/tui/styles"
1011 "github.com/charmbracelet/crush/internal/tui/util"
11− "github.com/charmbracelet/lipgloss/v2"
1212 "github.com/charmbracelet/x/ansi"
1313 "github.com/google/uuid"
1414 "github.com/rivo/uniseg"
internal/tui/exp/list/keys.go+1−1
@@ -1,7 +1,7 @@
11package list
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/exp/list/list.go+3−3
@@ -4,13 +4,13 @@ import (
44 "strings"
55 "sync"
66
7− "github.com/charmbracelet/bubbles/v2/key"
8− tea "github.com/charmbracelet/bubbletea/v2"
7+ "charm.land/bubbles/v2/key"
8+ tea "charm.land/bubbletea/v2"
9+ "charm.land/lipgloss/v2"
910 "github.com/charmbracelet/crush/internal/tui/components/anim"
1011 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
1112 "github.com/charmbracelet/crush/internal/tui/styles"
1213 "github.com/charmbracelet/crush/internal/tui/util"
13− "github.com/charmbracelet/lipgloss/v2"
1414 uv "github.com/charmbracelet/ultraviolet"
1515 "github.com/charmbracelet/x/ansi"
1616 "github.com/charmbracelet/x/exp/ordered"
internal/tui/exp/list/list_test.go+2−2
@@ -5,10 +5,10 @@ import (
55 "strings"
66 "testing"
77
8− tea "github.com/charmbracelet/bubbletea/v2"
8+ tea "charm.land/bubbletea/v2"
9+ "charm.land/lipgloss/v2"
910 "github.com/charmbracelet/crush/internal/tui/components/core/layout"
1011 "github.com/charmbracelet/crush/internal/tui/util"
11− "github.com/charmbracelet/lipgloss/v2"
1212 "github.com/charmbracelet/x/exp/golden"
1313 "github.com/google/uuid"
1414 "github.com/stretchr/testify/assert"
internal/tui/keys.go+1−1
@@ -1,7 +1,7 @@
11package tui
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/page/chat/chat.go+7−6
@@ -6,10 +6,11 @@ import (
66 "fmt"
77 "time"
88
9− "github.com/charmbracelet/bubbles/v2/help"
10− "github.com/charmbracelet/bubbles/v2/key"
11− "github.com/charmbracelet/bubbles/v2/spinner"
12− tea "github.com/charmbracelet/bubbletea/v2"
9+ "charm.land/bubbles/v2/help"
10+ "charm.land/bubbles/v2/key"
11+ "charm.land/bubbles/v2/spinner"
12+ tea "charm.land/bubbletea/v2"
13+ "charm.land/lipgloss/v2"
1314 "github.com/charmbracelet/crush/internal/app"
1415 "github.com/charmbracelet/crush/internal/config"
1516 "github.com/charmbracelet/crush/internal/history"
@@ -36,7 +37,6 @@ import (
3637 "github.com/charmbracelet/crush/internal/tui/styles"
3738 "github.com/charmbracelet/crush/internal/tui/util"
3839 "github.com/charmbracelet/crush/internal/version"
39− "github.com/charmbracelet/lipgloss/v2"
4040)
4141
4242var ChatPageID page.PageID = "chat"
@@ -1025,7 +1025,8 @@ func (p *chatPage) Help() help.KeyMap {
10251025 // to reflect that.
10261026 key.WithHelp("ctrl+j", "newline"),
10271027 )
1028− if p.keyboardEnhancements.SupportsKeyDisambiguation() {
1028+ if p.keyboardEnhancements.Flags > 0 {
1029+ // Non-zero flags mean we have at least key disambiguation.
10291030 newLineBinding.SetHelp("shift+enter", newLineBinding.Help().Desc)
10301031 }
10311032 shortList = append(shortList, newLineBinding)
internal/tui/page/chat/keys.go+1−1
@@ -1,7 +1,7 @@
11package chat
22
33import (
4− "github.com/charmbracelet/bubbles/v2/key"
4+ "charm.land/bubbles/v2/key"
55)
66
77type KeyMap struct {
internal/tui/styles/charmtone.go+1−1
@@ -1,7 +1,7 @@
11package styles
22
33import (
4− "github.com/charmbracelet/lipgloss/v2"
4+ "charm.land/lipgloss/v2"
55 "github.com/charmbracelet/x/exp/charmtone"
66)
77
internal/tui/styles/theme.go+6−6
@@ -5,14 +5,14 @@ import (
55 "image/color"
66 "strings"
77
8− "github.com/charmbracelet/bubbles/v2/filepicker"
9− "github.com/charmbracelet/bubbles/v2/help"
10− "github.com/charmbracelet/bubbles/v2/textarea"
11− "github.com/charmbracelet/bubbles/v2/textinput"
12− tea "github.com/charmbracelet/bubbletea/v2"
8+ "charm.land/bubbles/v2/filepicker"
9+ "charm.land/bubbles/v2/help"
10+ "charm.land/bubbles/v2/textarea"
11+ "charm.land/bubbles/v2/textinput"
12+ tea "charm.land/bubbletea/v2"
13+ "charm.land/lipgloss/v2"
1314 "github.com/charmbracelet/crush/internal/tui/exp/diffview"
1415 "github.com/charmbracelet/glamour/v2/ansi"
15− "github.com/charmbracelet/lipgloss/v2"
1616 "github.com/charmbracelet/x/exp/charmtone"
1717 "github.com/lucasb-eyer/go-colorful"
1818 "github.com/rivo/uniseg"
internal/tui/tui.go+4−4
@@ -8,8 +8,9 @@ import (
88 "strings"
99 "time"
1010
11− "github.com/charmbracelet/bubbles/v2/key"
12− tea "github.com/charmbracelet/bubbletea/v2"
11+ "charm.land/bubbles/v2/key"
12+ tea "charm.land/bubbletea/v2"
13+ "charm.land/lipgloss/v2"
1314 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
1415 "github.com/charmbracelet/crush/internal/app"
1516 "github.com/charmbracelet/crush/internal/config"
@@ -33,7 +34,6 @@ import (
3334 "github.com/charmbracelet/crush/internal/tui/page/chat"
3435 "github.com/charmbracelet/crush/internal/tui/styles"
3536 "github.com/charmbracelet/crush/internal/tui/util"
36− "github.com/charmbracelet/lipgloss/v2"
3737 "golang.org/x/text/cases"
3838 "golang.org/x/text/language"
3939)
@@ -120,7 +120,7 @@ func (a *appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
120120 a.sendProgressBar = slices.Contains(msg, "WT_SESSION")
121121 }
122122 case tea.TerminalVersionMsg:
123− termVersion := strings.ToLower(string(msg))
123+ termVersion := strings.ToLower(msg.Name)
124124 // Only enable progress bar for the following terminals.
125125 if !a.sendProgressBar {
126126 a.sendProgressBar = strings.Contains(termVersion, "ghostty")
internal/tui/util/util.go+1−1
@@ -4,7 +4,7 @@ import (
44 "log/slog"
55 "time"
66
7− tea "github.com/charmbracelet/bubbletea/v2"
7+ tea "charm.land/bubbletea/v2"
88)
99
1010type Cursor interface {