* refactor(chat): handle double click & tripple click
this also improves the expand behavior for items that can expand when
you click or heighlight them, now they won't expland for double click or
while you are highlighting
* chore: use uax29 words
* fix(ui): chat: simplify word boundary detection in highlighted text
* fix(ui): chat: adjust multi-click timing
* chore: go mod tidy
* chore: change double click to 400ms
---------
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
Kujtim Hoxha
and
Ayman Bagabas
created
514318d
fix(ui): show auto-discovered LSPs (#2077)
Click to expand commit body
The fix changes iteration from configs-only to all cached states,
displaying both configured and auto-discovered LSPs.
James Trew
created
a8b62b1
chore(legal): @khalilgharbaoui has signed the CLA
c0a8c7e
feat: allow to disable indeterminate progress bar (#2048)
Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
7643d6a
ci: use goreleaser nightly on snapshot build
Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
aa2cacd
feat: open commands dialog on pressing `/` (#2034)
Andrey Nering
created
e57687f
fix(ui): fix wrong color on selected item info on dialogs (#2041)
Andrey Nering
created
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.