aae4c30
fix(ui): fix selection of code blocks with tabs inside markdown (#2039)
Click to expand commit body
Yes, this is very specific. You need a code block, inside markdown,
that uses tabs instead of spaces for indentation, like Go code.
This affected both how the code is present on the TUI as well as the text
copied to clipboard.
We need to convert tabs into 4 spaces on the highlighter to match how
it's shown in the TUI.
Centralized this into a function to ensure we're doing the exact same
thing everywhere.
Andrey Nering
created
87fad18
fix: make the commands dialog less taller (#2035)
* feat: filetracker per session
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: only in the new ui
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: tests, lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: old tui
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: added test, improve schema
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: synctest
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: fix race
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: relpath
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: simplify
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: trigger ci
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
a81443c
chore(legal): @liannnix has signed the CLA
Charm
created
daf786f
fix(stats): resizing breaks pie charts (#2030)
Click to expand commit body
resizing the browser would "break" the pie charts, cutting them off
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
de64b00
fix: decouple thinking/reasoning from provider type (#2032)
Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
5011ba2
docs: improve clarity and fluency of mandarin tagline (#2022)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
fea878e
feat(mcp): support server side instructions (#2015)
Click to expand commit body
* feat(mcp): support server side instructions
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: empty lines
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
99aabb0
fix: schema incorrectly marks optional fields as required (#1996)
Click to expand commit body
This fixes two schema validation issues:
1. tools.ls incorrectly marked as required
- Changed Tools.Ls and Config.Tools from omitzero to omitempty
- The invopop/jsonschema library doesn't recognize Go 1.25's omitzero tag
2. lsp.command incorrectly marked as required
- Removed jsonschema:"required" tag from LSPConfig.Command
- The project's own crush.json doesn't include command field for gopls
After this fix, users can use minimal configurations without being
forced to specify tools.ls or lsp.command fields.
* feat(lsp): auto-discover LSPs
- auto-discover LSPs defined in powernap
- faster startup by walking dir only once to check root markers from all
LSPs
- errors on auto-found LSPs are ignored (e.g. it might match
golangci-lint-server but if you don't have it installed it shouldn't
show in the list)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: sidebar improvement
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: if
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: startup, disabled
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: remove unneeded func
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* perf: skip empty
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: server names
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: do not show failing non configured lsps
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: allow to disable auto lsp
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: update powernap
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
df2c001
fix(lsp): scope client to working directory (#1792)
Click to expand commit body
Files outside the working directory are now rejected by HandlesFile(),
preventing external files from being opened on the LSP and triggering
spurious diagnostics.
Assisted-by: Claude Opus 4.5 via Crush
Amolith
created
632666e
chore: fix typo on `crush stats` html page
c5f0e4d
Handle unknown tool calls in the TUI (#2001)
Kujtim Hoxha
created
115adeb
fix(ui): use setState method to change UI state and focus (#1994)
Click to expand commit body
This change introduces a setState method in the UI model to encapsulate
the logic for changing the UI state and focus. This ensures that any
time the state or focus is changed, the layout and size are updated
accordingly.
Ayman Bagabas
created
699ae40
fix: make the check for sidebar toggle inclusive (#2013)
Kujtim Hoxha
created
8d3064f
fix: layout calculations when editor has attachments (#2012)
Kujtim Hoxha
created
5e384b2
fix(ui): ensure the message list does not scroll beyond the last item (#1993)
Click to expand commit body
* fix(ui): ensure the message list does not scroll beyond the last item
Ensure that when scrolling down, the message list does not scroll beyond
the last item, preventing empty space from appearing below the last
message.
* fix: lint
---------
Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
b944952
feat: add ability to drag & drop multiple file at once + support windows (#1992)
Click to expand commit body
Before, only dragging a single file was working. If you tried to drag &
drop multiple, it would fail.
Also, because Windows paste in a totally different format, it wasn't
working at all before.
Andrey Nering
created
668adcc
ci(goreleaser): fix aur_sorces build to properly set the version (#1978)
Click to expand commit body
it seems that the variable provided to -ldflags, at some point changed from `main.version` to `github.com/charmbracelet/crush/internal/version.Version`.
so reflect that to the build script for the AUR package.
expected change in the PKGBUILD is:
```
diff --git a/PKGBUILD b/PKGBUILD
index e9afb74..58779bf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -23,7 +23,7 @@ build() {
export CGO_CXXFLAGS="${CXXFLAGS}"
export CGO_LDFLAGS="${LDFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
- go build -ldflags="-w -s -buildid='' -linkmode=external -X main.version=v${pkgver}" .
+ go build -ldflags="-w -s -buildid='' -linkmode=external -X github.com/charmbracelet/crush/internal/version.Version=v${pkgver}" .
./crush completion bash >./completions/crush.bash
./crush completion zsh >./completions/crush.zsh
./crush completion fish >./completions/crush.fish
```
Дамјан Георгиевски
created
13c28e6
chore(deps): bump the all group with 6 updates (#1985)
Click to expand commit body
Bumps the all group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/alecthomas/chroma/v2](https://github.com/alecthomas/chroma) | `2.23.0` | `2.23.1` |
| [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) | `4.9.2` | `4.10.0` |
| [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) | `0.30.4` | `0.30.5` |
| [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go) | `1.9.0` | `1.9.1` |
| [github.com/zeebo/xxh3](https://github.com/zeebo/xxh3) | `1.0.2` | `1.1.0` |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `1.44.2` | `1.44.3` |
Updates `github.com/alecthomas/chroma/v2` from 2.23.0 to 2.23.1
- [Release notes](https://github.com/alecthomas/chroma/releases)
- [Commits](https://github.com/alecthomas/chroma/compare/v2.23.0...v2.23.1)
Updates `github.com/bmatcuk/doublestar/v4` from 4.9.2 to 4.10.0
- [Release notes](https://github.com/bmatcuk/doublestar/releases)
- [Commits](https://github.com/bmatcuk/doublestar/compare/v4.9.2...v4.10.0)
Updates `github.com/ncruces/go-sqlite3` from 0.30.4 to 0.30.5
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.30.4...v0.30.5)
Updates `github.com/posthog/posthog-go` from 1.9.0 to 1.9.1
- [Release notes](https://github.com/posthog/posthog-go/releases)
- [Changelog](https://github.com/PostHog/posthog-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/posthog/posthog-go/compare/v1.9.0...v1.9.1)
Updates `github.com/zeebo/xxh3` from 1.0.2 to 1.1.0
- [Commits](https://github.com/zeebo/xxh3/compare/v1.0.2...v1.1.0)
Updates `modernc.org/sqlite` from 1.44.2 to 1.44.3
- [Changelog](https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.44.2...v1.44.3)
---
updated-dependencies:
- dependency-name: github.com/alecthomas/chroma/v2
dependency-version: 2.23.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/bmatcuk/doublestar/v4
dependency-version: 4.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: github.com/ncruces/go-sqlite3
dependency-version: 0.30.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/posthog/posthog-go
dependency-version: 1.9.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: github.com/zeebo/xxh3
dependency-version: 1.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: modernc.org/sqlite
dependency-version: 1.44.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot]
and
dependabot[bot]
created
53d065e
chore(deps): bump the all group with 5 updates (#1986)
Click to expand commit body
Bumps the all group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `6.0.1` | `6.0.2` |
| [actions/setup-go](https://github.com/actions/setup-go) | `6.1.0` | `6.2.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.10` | `4.31.11` |
| [anchore/scan-action](https://github.com/anchore/scan-action) | `7.2.3` | `7.3.0` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.3.0` | `6.4.0` |
Updates `actions/checkout` from 6.0.1 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/8e8c483db84b4bee98b60c0593521ed34d9990e8...de0fac2e4500dabe0009e67214ff5f5447ce83dd)
Updates `actions/setup-go` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6.1.0...7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5)
Updates `github/codeql-action` from 4.31.10 to 4.31.11
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/cdefb33c0f6224e58673d9004f47f7cb3e328b89...19b2f06db2b6f5108140aeb04014ef02b648f789)
Updates `anchore/scan-action` from 7.2.3 to 7.3.0
- [Release notes](https://github.com/anchore/scan-action/releases)
- [Changelog](https://github.com/anchore/scan-action/blob/main/RELEASE.md)
- [Commits](https://github.com/anchore/scan-action/compare/62b74fb7bb810d2c45b1865f47a77655621862a5...0d444ed77d83ee2ba7f5ced0d90d640a1281d762)
Updates `goreleaser/goreleaser-action` from 6.3.0 to 6.4.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/9c156ee8a17a598857849441385a2041ef570552...e435ccd777264be153ace6237001ef4d979d3a7a)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: actions/setup-go
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: github/codeql-action
dependency-version: 4.31.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
- dependency-name: anchore/scan-action
dependency-version: 7.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
- dependency-name: goreleaser/goreleaser-action
dependency-version: 6.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: use goreleaser nightly
reason: https://github.com/goreleaser/goreleaser/commit/20d273bf4a96d2cebd0d99dcd9b10dc17cf71d61
should fix https://github.com/charmbracelet/nur/issues/42
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: comment
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
f791446
fix: stats chart don't account for cached tokens
Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
dd3834a
fix(agent): read step data for summarization check (#1787)
Amolith
created
9faa8b2
fix: enable left/right scrolling of diff (#1984)
Click to expand commit body
* fix: enable left/rigth scrolling of diff
this also fixes an issue introduced in #1931 where the model info was
not showing in the landing page.
* chore: simplify model info
* wip: stats
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fixup! wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: css
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: cleanup
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* logo
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: cast
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* cleanup
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* provider donut
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* jetbrains mono
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fixes
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: rm border
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: update footer/header
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: footer class
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: move stuff around
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: improving
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: anims
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: rename vars
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: remove all card borders
* chore: adjust easing
* fix: fail if no sessions
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: generated by
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: header hazy
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Christian Rocha <christian@rocha.is>
Carlos Alexandro Becker
and
Christian Rocha
created
9622c25
fix: should also copy on `y` (additionally to `c`) (#1989)
Andrey Nering
created
a0e9d35
ci(labeler): add automation for `area: crush run` label