Feat/remove const generics from data table UI component - #1
Closed
HalavicH wants to merge 67 commits into
Closed
Conversation
…fiers (zed-industries#46135) Current tree sitter configuration for the outline was not working correctly since the rule required a strict order, firstly storage_class_specifier then type_qualifier. This resulted in a failure to recognize types such as "constexpr int", "const double", etc. This PR proposes a solution with diagnostic capture of type and storage qualifiers which ensures full context capture and works well with C++. Before: <img width="924" height="365" alt="before" src="https://github.com/user-attachments/assets/d4e0baab-b074-42fc-8a45-46c93d1d352b" /> After: <img width="866" height="367" alt="after" src="https://github.com/user-attachments/assets/0e69a4d8-fd91-44b3-bc7e-0c9e39b23d2e" /> Release Notes: - Fixed outline configuration for C++ variables with complex specifiers.
Staff only ship for now Here's the agent planning doc that guided this: https://gist.github.com/mikayla-maki/c826b7997bd85b58273c1def9397940b Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Errors now include the cursor file path so we can just cmd+click it for inspection Release Notes: - N/A
Release Notes: - N/A
…#46196) Release Notes: - N/A
Release Notes: - N/A
* Added `--repo` and `--name` flags for running only examples with a specific name, or repo (substring matching) * Fixed a race condition that caused hangs when running multiple examples at the same repo and sha * Fixed a bug where scoring was completely wrong because I had passed the arguments to `apply_diff_to_string` in the wrong order * The current evals now run quickly and without errors. Release Notes: - N/A
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
…ies#46202) This PR removes the invite-related columns from the `users` table for the test database schemas. Release Notes: - N/A
Release Notes: - N/A
…nd gutter execution display (zed-industries#44523) Adds various useful things to the repl inspired by ipynb and the julia vscode extension which can be best seen with this video:  https://github.com/user-attachments/assets/6589715e-3783-456c-8f4b-e2d5a1c4090d To summarize: ## Inline outputs Added small, single-line outputs displayed inline at the end of the code line instead of in a separate block. This provides a cleaner, more compact view for simple results like numbers or short strings. This occurs for execution views who only output a single mimetype/plain OR output nothing, otherwise the default behavior of creating a block will occur. It looks like this: <img width="258" height="35" alt="image" src="https://github.com/user-attachments/assets/ccdeca3f-c3b7-4387-a4de-53d8b9a25132" /> or with a Output <img width="346" height="55" alt="image" src="https://github.com/user-attachments/assets/0b4effc9-1bd7-4e8c-802f-8733cdcc77d1" /> This was inspired by julia vscode extension, but now it can be used with any replanguage! Hooray! <img width="524" height="450" alt="image" src="https://github.com/user-attachments/assets/a3551e51-f5f7-4d3e-994a-213c9d2f948c" /> It saves lots of space compared to the ugly and distracting: <img width="531" height="546" alt="image" src="https://github.com/user-attachments/assets/7cf65bae-8ec1-4279-ab19-f0d4ec4052a2" /> ## Gutters and execution numbers Added gutters + execution number to display exactly what was executed. The gutter highlighting is useful for when selecting multiple cells manually to run, but you dont remember which ones Ran at different times: <img width="257" height="58" alt="image" src="https://github.com/user-attachments/assets/6002ab16-156a-4598-9964-5a6b188e989c" /> Ran together: <img width="306" height="64" alt="image" src="https://github.com/user-attachments/assets/2690ea35-2bd3-4207-b039-6c0f98dad6e4" /> The execution number is useful in the same way that a normal jupyter notebook execution number is useful. If a gutter-region does not have a block assigned to it, when you edit the text in the gutter region, the gutter will disappear, which is useful for telling when you have modified your code, but does not delete useful experiment results in blocks: <img width="280" height="38" alt="image" src="https://github.com/user-attachments/assets/d7f29224-87e4-4c14-8d9f-41cb10ab5009" /> <img width="254" height="31" alt="image" src="https://github.com/user-attachments/assets/586c9e1d-f53c-4973-affb-c8ca05a7563b" /> <img width="264" height="29" alt="image" src="https://github.com/user-attachments/assets/f306c364-1c92-44bd-9050-ecce1b7822a0" /> ## Skip empty line This is a minor fix which is intended to make lab workflow less tedious. Currently when you execute on an empty line (which might be there for formatting purposes) nothing will occur. This PR adds the ability to, when executing from an empty line, skip ahead the range of inclusion until you reach actual code, and then execute. Before: ``` code //run execute //empty space, so you have to move your cursor down or use arrow key code //run execute code //run execute ``` After: ``` code //run execute //empty space, you can now run execute on it and it will include the next line of code //empty space code //automatically executed code //run execute ``` Currently the only piece of tested code is related to this, i still have to write tests for the gutter annotation api i added and all of the gutter + inline related code. Also still have to add more config for this stuff. @rgbkrk would appreciate a review :D Closes zed-industries#22678 Release Notes: - repl: Added an inline display of execution results (as opposed to the large execution view) for simple REPL cells - repl: Improved how execution of empty lines are handled - repl: Added gutter execution display
Closes zed-industries#46175 I had very much hoped for bump2version to do this by default, well, left here disappointed I suppose Release Notes: - N/A
…ustries#46210) Always missed the ability to clear the search without having to reach for my keyboard if I'm on a mouse-first workflow: <img width="460" height="390" alt="Screenshot 2026-01-06 at 9 27@2x" src="https://github.com/user-attachments/assets/fda4650c-72fb-4b5b-92f6-7c69661507f8" /> Release Notes: - Added a button to clear the search query for the collab and outline panels' search bar.
Now when the agent reads images (which the tool now explicitly advertises to agents that it is capable of; previously the tool said it could only read text even though it can actually read images), we see them in the thread, and also they are auto-expanded by default so you can see them when scrolling through: <img width="725" height="1019" alt="Screenshot 2026-01-06 at 2 57 11 PM" src="https://github.com/user-attachments/assets/5c908bad-48f2-46c2-afaa-7f189a178e05" /> This also adds a visual regression test that verifies images render correctly in the agent thread view. Unlike our previous visual tests, this one only renders the agent panel, not the entire Zed window. The "screenshot" it generates (rendered to a Metal texture) is from completely mocked/simulated data structures, and looks like this: <img width="546" height="984" alt="Screenshot 2026-01-06 at 2 54 41 PM" src="https://github.com/user-attachments/assets/89a0921f-59e9-4dfe-94b2-4c3b625a851b" /> ## Changes - **New visual test**: `agent_thread_with_image` renders an `AcpThreadView` containing a tool call with image content (the Zed app icon) - **Test infrastructure**: Added `StubAgentServer` helper and required feature flags for visual testing - **Test-support API**: Added `expand_tool_call()` method to `AcpThreadView` to allow expanding tool calls for visual testing - **Baseline screenshot**: Included baseline image showing the Zed logo rendered in a tool call output ## How to run ```bash # Run the visual tests cargo run -p zed --bin visual_test_runner --features visual-tests # Update baselines if UI intentionally changed UPDATE_BASELINE=1 cargo run -p zed --bin visual_test_runner --features visual-tests ``` Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com> Co-authored-by: Amp <amp@ampcode.com>
I also added debug events for Sweep edit predictions so that we can see the API response for "no prediction" events when running evals. Release Notes: - N/A
…sh` (zed-industries#45365) Per LSP spec, when receiving `workspace/diagnostic/refresh`, clients should refresh all pulled diagnostics including both workspace and document diagnostics[^1]. Previously, only workspace diagnostics were refreshed. [^1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnostic_refresh This adds `pull_document_diagnostics_for_server()`, which refreshes `textDocument/diagnostic` for all open buffers associated with the given language server. Closes #ISSUE Release Notes: - When handling `workspace/diagnostic/refresh`, Zed now also sends new `textDocument/diagnostic` requests for open files, aligning with the LSP specification. --------- Co-authored-by: John Tur <john-tur@outlook.com>
Had some trouble in a PR with missing a test API change until deep into a refactor. Decided to move some example tests into the GPUI repo to put those through their paces, and got carried away and made a big test example file demonstrating all the testing features we have. Release Notes: - N/A --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
I was seeing some surprising un-coalesced edits in the edit history when looking at captured examples. I realized that we were only coalescing based on the *ends* of edit ranges, but I think we want to combine hunks where there are 8 or less unchanged lines in between changes. This PR implements that. Release Notes: - N/A
…s#46219) This expands the liveness check to cover all foreground tasks that don't take the app as a context (as some of their internal futures might.) Release Notes: - N/A
…dead code (zed-industries#46217) Just some code cleanup to improve the tests - make them better exemplars for future use. Release Notes: - N/A
…tries#46231) Reverts zed-industries#46088 This also made the new thread action no longer focus so this wasn't the right way to address this
## Context / Related PRs This PR is the third part of the encoding support improvements, following: - zed-industries#44819: Introduced initial legacy encoding support (Shift-JIS, etc.). - zed-industries#45243: Fixed UTF-16 saving behavior and improved binary detection. ## Summary This PR implements a status bar item that displays the character encoding of the active buffer (e.g., `UTF-8`, `Shift_JIS`). It provides visibility into the file's encoding and indicates the presence of a Byte Order Mark (BOM). ## Features - **Encoding Indicator**: Displays the encoding name in the status bar. - **BOM Support**: Appends `(BOM)` to the encoding name if a BOM is detected (e.g., `UTF-8 (BOM)`). - **Configuration**: The active_encoding_button setting in status_bar accepts "enabled", "disabled", or "non_utf8". The default is "non_utf8", which displays the indicator for all encodings except standard UTF-8 (without BOM). - **Settings UI**: Provides a dropdown menu in the Settings UI to control this behavior. - **Documentation**: Updated `configuring-zed.md` and `visual-customization.md`. ## Implementation Details - Created `ActiveBufferEncoding` component in `crates/encoding_selector`. - The click handler for the button is currently a **no-op**. Implementing the functionality to reopen files with a specific encoding has potential implications for real-time collaboration (e.g., syncing buffer interpretation across peers). Therefore, this PR focuses strictly on the visualization and configuration aspects to keep the scope simple and focused. - Updated schema and default settings to include `active_encoding_button`. ## Screenshots <img width="487" height="104" alt="image" src="https://github.com/user-attachments/assets/041f096d-ac69-4bad-ac53-20cdcb41f733" /> <img width="454" height="99" alt="image" src="https://github.com/user-attachments/assets/ed76daa2-2733-484f-bb1f-4688357c035a" /> ## Configuration To hide the button, add the following to `settings.json`: ```json "status_bar": { "active_encoding_button": "disabled" } ``` - **enabled**: Always show the encoding. - **disabled**: Never show the encoding. - **non_utf8**: Shows for non-UTF-8 encodings and UTF-8 with BOM. Only hides for standard UTF-8 (Default). <img width="1347" height="415" alt="image" src="https://github.com/user-attachments/assets/7f4f4938-3320-4d21-852c-53ee886d9a44" /> ## Heuristic Limitations: The underlying detection logic (implemented in zed-industries#44819 and zed-industries#45243) prioritizes UTF-8 opening performance and does not guarantee perfect detection for all encodings. We consider this margin of error acceptable, similar to the behavior seen in VS Code. A future "Reopen with Encoding" feature would serve as the primary fallback for any misdetections. Release Notes: - Added a status bar item to display the active file's character encoding (e.g. `UTF-16`). This shows for non-utf8 files by default and can be configured with `{"status_bar":{"active_encoding_button":"disabled|enabled|non_utf8"}}`
Release Notes: - N/A
…ndustries#46238) Release Notes: - N/A --------- Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
…stries#45874) Closes zed-industries#26819 Explained in zed-industries#26819 (comment) That action is now the default on format in zed-industries#41103 since October, but applying manually is still broken. Release Notes: - Fixed an issue where the `editor: organize imports` action didn’t work for Python, even though imports were organized correctly during formatting.
…46130) Add documentation for the existing `auto_update_extensions` setting that allows users to toggle auto-updates per extension. Release Notes: - N/A --------- Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
…dustries#46240) Release Notes: - N/A
…ries#46242) Follow-up to zed-industries/extensions#4397 Release Notes: - N/A
…d-industries#45837) [Sapling](https://sapling-scm.com/docs/git/git_support_modes/) is similar to git / hg / jj in that it creates a /.sl directory when initializing a repository. This can be added alongside the other source control scan exclusions includes a docs update for these defaults Release Notes: - Settings: Add Sapling directory to default `file_scan_exclusions`
) The `NumberField.render` method was always rendering a `border_1` for the number input, even when not focused. Even though it was using `cx.theme().colors().border_transparent`, some themes don't have this value set to a fully transparent color so it ends up looking a little bit weird. As such, this commit updates the way the border is rendered, to ensure it's actually only rendered, i.e., the `border_1` method is only called, when the field is actually focused. Release Notes: - Improved rendering of border on number field's input to ensure it's only rendered when the field is focused
Follow-up to zed-industries#44819 Stop doing this in more cases: <img width="1728" height="2168" alt="image" src="https://github.com/user-attachments/assets/a82f7217-3b7a-4ca9-bb12-c3098b3e9913" /> Release Notes: - Do not try to open PDF, zip and other binaries as text
Release Notes: - N/A
Additionally this extracts more functionality into the RunnableVariant which is renamed to GpuiRunnable. Release Notes: - N/A --------- Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: Cole Miller <cole@zed.dev>
Previously, if you stopped the terminal prematurely, the agent would assume the terminal process had timed out. Now it knows what happened and can see the output: <img width="718" height="885" alt="Screenshot 2026-01-07 at 12 40 23 AM" src="https://github.com/user-attachments/assets/a5ea14b2-249c-4ada-9f20-d6b608f829e5" /> Release Notes: - Stopping the terminal tool now allows the agent to see its output up to that point.
…ed-industries#46270) `extract_last_codeblock` was using `find()` to locate closing fences, which would match backticks anywhere in the text. This caused incorrect parsing when the content contained inline backticks or nested code blocks, resulting in wrong diffs. Fix by requiring the closing fence to be preceded by a newline. Release Notes: - N/A
Remove the attempts to have these issues land in the same 'inbox' (the existing project board for triage). Since they're closed, the automated workflow of the project board will move them to the 'Closed' column/status even with the API call specifically moving them to 'Incoming' instead. It is what it is, we'll have a separate project board for this. Also: - don't look at comments on PRs - don't freak out if the issue has no type - add a permissions block as a defensive measure (in case someone adds secrets.GITHUB_TOKEN later) - add a timeout to avoid hanging out for six hours or whatever the default is - add some logging. Release Notes: - N/A
Helps narrow down steps that are taking too long Release Notes: - N/A
…#46279) - Replace `is_new_file: bool` with `FileStatus` enum (Created/Modified/Deleted) in udiff.rs to properly track file status through diff operations - Handle deleted files in `apply_diff` by calling `project.delete_file()` - Fix diff serialization in reorder_patch.rs to output `+++ /dev/null` for file deletions and parse both `--- /dev/null` and `+++ /dev/null` correctly - Add bounds check for edit ranges exceeding buffer length Also includes edit_prediction_cli improvements: - Track `context_range` and `editable_range` in ExampleBuffer for more precise prompt formatting - Export MAX_CONTEXT_TOKENS and MAX_REWRITE_TOKENS from zeta2 - Wait for buffer parsing before computing ranges - Respect NO_COLOR env var and enable info-level logging Release Notes: - N/A Co-authored-by: Agus Zubiaga <agus@zed.dev>
This is only applicable to vim search.
…es#46281) zed-industries#45423 changed the Blade renderer to use a white clear color for "opaque" windows. This interacts poorly with our client-side decorations, causing the shadows around the window to be drawn over a white background. Release Notes: - N/A
…ew is in use (zed-industries#46283) The tree view effectively always sorts by status, not by path. Release Notes: - Fixed incorrect ordering of paths in the project diff when using the git panel's tree view.
Depends on: zed-industries#45768 Refactor plan: https://gist.github.com/mikayla-maki/6c4bf263fd80050715ba01f45478796e Overall plan: https://gist.github.com/mikayla-maki/7bb5078e4385a2e683e1e1eb40d17d38 This is the big one. Release Notes: - N/A --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Closes #ISSUE Organizes the giant list of settings UI items in `page_data.rs` a bit so that sections are split out in sub functions that (for the most part) return constant size arrays. Page items is also converted to a `Box<[...]>` instead of a Vec. The goal here is to have working breadcrumbs when in the settings UI file (e.g. `fn general_page() > fn general_section()`), and to escape the `vec![]` macro so that `rust-analyzer` works more consistently. This should help both humans and LLMs know where they are in the file and use the outline to navigate it instead of having to read the whole thing to have an idea of what is going on. Release Notes: - N/A *or* Added/Fixed/Improved ...
Now that zed-industries#45352 is in preview, this updates the docs at https://zed.dev/docs/languages/tailwindcss with instructions similar to https://github.com/tailwindlabs/tailwindcss-intellisense?tab=readme-ov-file#filesassociations Release Notes: - N/A
## Add variable row height mode to data table infrastructure This PR introduces support for variable row heights in the data table component, laying the groundwork for more flexible tabular data rendering in Zed. **Context:** This is the first in a series of infrastructure-focused PRs split out from the [original CSV preview draft PR](zed-industries#44344). The draft PR remains open as a reference and will be incrementally decomposed into smaller, reviewable pieces like this one. **Details:** - Adds a variable row height mode to the data table, enabling future features that require rows of differing heights (such as CSV preview and, eventually, database table views). - No user-facing changes; this is an internal refactor to support upcoming functionality. **Thanks:** Big thanks to @Anthony-Eid for pairing sessions and guidance on how to best structure and land these changes incrementally. --- Release Notes: - N/A (internal infrastructure change, no user impact)
…ghted (zed-industries#46302) Release Notes: - Fixed deleted portions of hunks in the branch diff and text diff views not being syntax-highlighted.
…ed-industries#46300) Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Hi Zed team thank you for the awesome editor!
I recently stumbled upon a markdown sequence that seems to cause a crash
```md
- [ ] -
\
-
```
*easier to read escape characters below
```rust
let crash_input = "-\t[\t] -\r\\\n-"
println!("{}", crash_input)
```
## how to reproduce
1. copy the markdown above
2. save the file
3. `[shift]` + `[cmd]` + `p` to open the command palette
4. select `markdown: open preview`
5. crash
I've confirmed that the issue is a bug in pulldown-cmark version 12, and
has been resolved in version
[v0.13.0](https://github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.13.0)
and specifically fixed in
pulldown-cmark/pulldown-cmark#1017
this PR simply bumps the pulldown-cmark version in zed which resolves
the crash on my local machine.
## recording
https://github.com/user-attachments/assets/dc77132f-0d43-40f3-9841-0bf34fe714fb
Release Notes:
- Fixes crash due to markdown parsing via bumping pulldown-cmark
Also improves the commit view to use the same status-based buffer header visual overrides as the project diff as a driveby. Fixes zed-industries#45735 Release Notes: - git: Binary files are no longer shown in garbled form when viewing an old commit.
… contain them (zed-industries#46331) Release Notes: - N/A
HalavicH
force-pushed
the
feat/remove-const-generics-from-data-table-ui-component
branch
from
January 8, 2026 07:58
2c93ef2 to
63953d4
Compare
HalavicH
force-pushed
the
feat/remove-const-generics-from-data-table-ui-component
branch
from
January 8, 2026 09:23
63953d4 to
311d573
Compare
Owner
Author
|
Redundant. See |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Redundant. see zed-industries#46341