git_ui: Fix list in git commit message - #33409
Conversation
a38b34e to
3e03097
Compare
|
Thanks, this is a clever approach! I don't love that we create an editor for each line, but with the way that I also think we should have a test for this, to freeze the fix for #33274 and check that it behaves reasonably in other case. That'd be easier if we extracted this wrapping logic so you can call it without setting up a Happy to pair on this if you want: https://cal.com/cole-miller-zed/30min |
|
Sounds good, @cole-miller. I'd be happy to pair up on this and see what we can do. I also realized that the ideal fix should probably be in rewrap to handle list item prefixes, similar to how we handle comments. I will try to fix it at rewrap level this weekend and set up a call next week to close this up with you. |
Signed-off-by: Umesh Yadav <git@umesh.dev>
3e03097 to
26d577b
Compare
|
Hey @cole-miller I have updated the code to use language features to do rewrapping. Thanks to @smitbarmase changes we don't have to make much changes just added regex for list items in config.toml and some test scenarios for testing the git commit message rewrapping. Let me know in case you think we should add some more to git panel as well. IMO these should suffice but happy to add more tests if you think it's needed. |
|
Thanks @imumesh18! I don't think we need the additional test cases inside |
|
Done @cole-miller removed the test cases and kept only the changes for |
commit 3f0f316 Author: localcc <kate@zed.dev> Date: Wed Jul 2 00:45:05 2025 +0200 Fix windows manifest inclusion (zed-industries#33745) Fixes a regression which prevented zed from starting on windows due to the lack of the embedded manifest. Caused by #bff5d85 Release Notes: - N/A commit 9d6b2e8 Author: Cole Miller <cole@zed.dev> Date: Tue Jul 1 17:09:19 2025 -0400 debugger: Don't take JS adapter's suggested child session name if it's empty (zed-industries#33739) Related to zed-industries#33072 We use the JS adapter's suggested names for child sessions, but sometimes it sends us `""`, so don't use that one. Release Notes: - debugger: Fixed nameless child sessions appearing with the JavaScript adapter. commit 1d74fdc Author: Cathal <contact@cathal.dev> Date: Tue Jul 1 21:23:55 2025 +0100 debugger: Filter test executables by metadata profile in Cargo locator (zed-industries#33126) Closes zed-industries#33114 Release Notes: - debugger: Ensure Cargo locator only targets relevant executables. commit b7bfdd3 Author: Cole Miller <cole@zed.dev> Date: Tue Jul 1 16:02:12 2025 -0400 Move language-specific debugging docs to the page for each language (zed-industries#33692) Release Notes: - N/A commit 0e2e5b8 Author: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Date: Tue Jul 1 15:43:58 2025 -0400 debugger: Debug sessions rerun build tasks by default when restarting (zed-industries#33724) We reworked the debug modal spawning to use the task context from past debug sessions when spawning a debug scenario based on task inventory history. We changed restart session keybinding to rerun session too. Closes zed-industries#31369 Release Notes: - Restarting a debug session now reruns build tasks that are associated with the session --------- Co-authored-by: Cole Miller <cole@zed.dev> commit 6b06685 Author: Peter Tripp <peter@zed.dev> Date: Tue Jul 1 14:21:26 2025 -0400 Revert "settings: Remove `version` field migration" (zed-industries#33729) - Reverts zed-industries#33711 I think we should just make this a breaking change with v0.194.x. Forwards compatibility is hard, we should build abstractions that make this easier (next time). See also: - zed-industries#33372 Release Notes: - N/A commit 8d894dd Author: Marshall Bowers <git@maxdeviant.com> Date: Tue Jul 1 14:10:00 2025 -0400 collab: Add logs to Stripe usage sync job (zed-industries#33731) This PR adds some additional logs to the Stripe usage sync job for monitoring purposes. Release Notes: - N/A commit 0eee768 Author: Ben Kunkle <ben@zed.dev> Date: Tue Jul 1 12:58:38 2025 -0500 keymap_ui: Separate action input into separate column and highlight as JSON (zed-industries#33726) Closes #ISSUE Separates the action input in the Keymap UI into it's own column, and wraps the input in an `impl RenderOnce` element that highlights it as JSON. Release Notes: - N/A *or* Added/Fixed/Improved ... commit f1f19a3 Author: Michael Sloan <michael@zed.dev> Date: Tue Jul 1 11:56:24 2025 -0600 Use version equality constraint for `zed_llm_client` dependency (zed-industries#33728) Closes zed-industries#33578 Release Notes: - N/A commit 2ff155d Author: Michael Sloan <michael@zed.dev> Date: Tue Jul 1 11:47:19 2025 -0600 Fix language settings formatter regression - formatter list can be a single formatter not wrapped in an array (zed-industries#33721) Fixes a regression from zed-industries#33635 Release Notes: - N/A commit eb74df6 Author: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue Jul 1 18:58:55 2025 +0200 debugger: Do not set exception breakpoints in initialization sequence in certain conditions (zed-industries#33723) As pointed out in probe-rs/probe-rs#3333, we violate the spec by sending setExceptionBreakpoints even when the adapter does not define any exceptions. Release Notes: - N/A commit 0068de0 Author: Julia Ryan <juliaryan3.14@gmail.com> Date: Tue Jul 1 09:14:59 2025 -0700 debugger: Handle the `envFile` setting for Go (zed-industries#33666) Fixes zed-industries#32984 Release Notes: - The Go debugger now respects the `envFile` setting. commit a11647d Author: Julia Ryan <juliaryan3.14@gmail.com> Date: Tue Jul 1 09:14:25 2025 -0700 ci: Block PRs on Nix build failures (zed-industries#33688) Closes zed-industries#17458 For now we're being conservative and only running CI on changes to the following files: - `flake.{nix,lock}` - `Cargo.{lock,toml}` - `nix/*` - `.cargo/config.toml` - `rust-toolchain.toml` Release Notes: - N/A commit 274f2e9 Author: Peter Tripp <peter@zed.dev> Date: Tue Jul 1 12:12:46 2025 -0400 Add support for more python operators (zed-industries#33720) Closes: zed-industries#33683 | Before | After | | - | - | | <img width="571" alt="Screenshot 2025-07-01 at 11 42 56" src="https://github.com/user-attachments/assets/5ef79304-37bb-42a1-8891-d19a55a5095e" /> | <img width="592" alt="Screenshot 2025-07-01 at 11 44 45" src="https://github.com/user-attachments/assets/f28aa2a8-6306-4294-86e1-8f089f57b825" /> | Release Notes: - python: Properly highlight additional operators ("&=", "<<=", ">>=", "@=", "^=" and "|=") commit 31b7786 Author: Alex Shi <hlcfan.yan@gmail.com> Date: Tue Jul 1 23:43:39 2025 +0800 Fix IndentGuides story (zed-industries#32781) This PR updates the `Model` to `Entity` also fixes the `IndentGuidesStory`. In this [commit](zed-industries@6fca1d2), `Entity<T>` replaces `View<T>`/`Model<T>`. Other than this, I noticed the storybook fails on my MacOS and Ubuntu, see error below ``` thread 'main' panicked at crates/gpui/src/colors.rs:99:15: called `Result::unwrap()` on an `Err` value: no state of type gpui::colors::GlobalColors exists note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` This was resolved by explicitly specifying `GlobalColors` in Storybook. Release Notes: - N/A commit 351ba50 Author: G36maid <53391375+G36maid@users.noreply.github.com> Date: Tue Jul 1 23:18:34 2025 +0800 docs: Add FreeBSD build instructions and current status (zed-industries#33617) This adds documentation for building Zed on FreeBSD. Notice WebRTC/LiveKit remains unsupported on this platform for now. Follow-up to: - zed-industries#33162 - zed-industries#30981 Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev> commit 3041de0 Author: Abdelhakim Qbaich <abdelq@users.noreply.github.com> Date: Tue Jul 1 10:54:53 2025 -0400 Suggest Typst extension for .typ files (zed-industries#33632) Release Notes: - N/A commit 52c4212 Author: Marshall Bowers <git@maxdeviant.com> Date: Tue Jul 1 09:29:43 2025 -0400 language_models: Fix casing of `ZedAiConfiguration` (zed-industries#33712) This PR fixes the casing of the `ZedAiConfiguration` identifier. Release Notes: - N/A commit 62e8f45 Author: Bennet Bo Fenner <bennet@zed.dev> Date: Tue Jul 1 15:17:36 2025 +0200 settings: Remove `version` field migration (zed-industries#33711) This reverts some parts of zed-industries#33372, as it will break the settings for users running stable and preview at the same time. We can add it back once the changes make it to stable. Release Notes: - N/A commit 0fe73a9 Author: Vitaly Slobodin <vitaliy.slobodin@gmail.com> Date: Tue Jul 1 15:12:08 2025 +0200 ruby: Add basic documentation about debugging (zed-industries#33572) Hi, this pull request adds basic documentation about debugging feature available in the Ruby extension. Release Notes: - N/A commit 6e9c6c5 Author: Umesh Yadav <23421535+imumesh18@users.noreply.github.com> Date: Tue Jul 1 17:35:08 2025 +0530 git_ui: Fix list in git commit message (zed-industries#33409) Follow up: zed-industries#32114 Closes zed-industries#33274 Use the new support for language-specific rewrap_prefixes added in zed-industries#33702. Release Notes: - Fix git commit message line break getting stripped after committing. --------- Signed-off-by: Umesh Yadav <git@umesh.dev> commit 42f7881 Author: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Date: Tue Jul 1 09:00:20 2025 -0300 agent: Use callout for displaying errors instead of toasts (zed-industries#33680) This PR makes all errors in the agent panel to use the `Callout` component instead of toasts. Reason for that is because the toasts obscured part of the panel's UI, which wasn't ideal. We can also be more expressive here with a background color, which I think helps with parsing the message. Release Notes: - agent: Improved how we display errors in the panel. commit a5b2428 Author: Cole Miller <cole@zed.dev> Date: Tue Jul 1 07:34:50 2025 -0400 debugger: Fix Go locator for subtests (zed-industries#33694) Closes zed-industries#33054 Release Notes: - Fixed debugging Go subtests. commit 0629804 Author: Bennet Bo Fenner <bennet@zed.dev> Date: Tue Jul 1 13:32:14 2025 +0200 agent: Clarify upgrade path when starting trial (zed-industries#33706) Release Notes: - N/A commit 3151b5e Author: Smit Barmase <heysmitbarmase@gmail.com> Date: Tue Jul 1 16:51:46 2025 +0530 languages: Fix `(` wouldn’t autocomplete when `.` is preceded by it in Markdown (zed-industries#33705) Closes zed-industries#5092 Release Notes: - Fixed issue where `(` wouldn’t autocomplete when `.` is preceded by it in Markdown. commit 782fbfa Author: Bennet Bo Fenner <bennet@zed.dev> Date: Tue Jul 1 13:12:51 2025 +0200 agent: Add component preview for Zed AI configuration (zed-industries#33704) As we are in the process of improving our Onboarding UX for Zed AI, I added component previews for the Zed AI Configuration section. This should make it easier to inspect the different states we can run into. <img width="1198" alt="image" src="https://github.com/user-attachments/assets/eb774f27-9091-450d-bfae-c688d533c25e" /> Release Notes: - N/A commit 2caa192 Author: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue Jul 1 13:03:40 2025 +0200 debugger: Do not include Rust in default value for `sourceLanguages` (CodeLLDB config) (zed-industries#33670) - **debugger: Update exception breakpoints list on capability update** - **Do not prefill codelldb sourcelanguages by default** Release Notes: - debugger: CodeLLDB no longer enables pretty-printers for Rust by default. This fixes pretty-printers for C++. This is a breaking change for user-defined debug scenarios from debug.json; in order to enable Rust pretty printing when using CodeLLDB, add `"sourceLanguages": ["rust"]` to your debug configuration. This change does not affect scenarios automatically inferred by Zed. --------- Co-authored-by: Anthony Eid <anthony@zed.dev> commit bff5d85 Author: Sunli <sunlipad4@icloud.com> Date: Tue Jul 1 19:00:14 2025 +0800 gpui: Add the `windows-manifest` feature to embed manifest, enable by default (zed-industries#32440) Gpui's build.rs will embed a manifest file into the Windows binary, but sometimes we want to customize it, so I added a feature called `no-windows-manifest` to disable this behavior. Release Notes: - N/A commit abe5d52 Author: Bedis Nbiba <bedisnbiba@gmail.com> Date: Tue Jul 1 11:28:01 2025 +0100 dap_adapters: Add attachSimplePort to JS DAP schema (zed-industries#31412) taken from https://github.com/microsoft/vscode-js-debug/blob/main/OPTIONS.md?plain=1 Release Notes: - debugger: Added attachSimplePort to JavaScript DAP schema --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> commit 8fb3199 Author: Smit Barmase <heysmitbarmase@gmail.com> Date: Tue Jul 1 15:34:39 2025 +0530 editor: Improve rewrap of markdown lists, todos, and block quotes (zed-industries#33702) Closes zed-industries#19644 zed-industries#18151 Now, rewrapping markdown lists (unordered, ordered, and to-do lists) and block quotes wrap them separately, without merging them together. Additionally, it correctly indents subsequent lines. With this input: ```md 1. This is a list item that is short. 2. This list item is a bit longer because I want to see if it wraps correctly after a rewrap operation in Zed. What do you think? 3. another short item ``` Output would be: ```md 1. This is a list item that is short. 2. This list item is a bit longer because I want to see if it wraps correctly after a rewrap operation in Zed. What do you think? 3. another short item ``` Instead of: ```md 1. This is a list item that is short. 2. This list item is a bit longer because I want to see if it wraps correctly after a rewrap operation in Zed. What do you think? 3. another short item ``` Release Notes: - Improved rewrap for markdown lists, todos, and block quotes. commit 0d809c2 Author: Shardul Vaidya <31039336+5herlocked@users.noreply.github.com> Date: Tue Jul 1 05:51:09 2025 -0400 bedrock: Fix bedrock not streaming (zed-industries#28281) Closes zed-industries#26030 Release Notes: - Fixed Bedrock bug causing streaming responses to return as one big chunk --------- Co-authored-by: Peter Tripp <peter@zed.dev> commit 93b1e95 Author: Michael Sloan <michael@zed.dev> Date: Tue Jul 1 00:46:01 2025 -0600 agent: Make `AgentSettings::default_model` optional (zed-industries#33695) It's already effectively optional and the the old default of gpt-4 doesn't really get used in practice Release Notes: - N/A commit 49bc2e6 Author: maan2003 <49202620+maan2003@users.noreply.github.com> Date: Tue Jul 1 12:14:19 2025 +0530 gpui: Fix slow scrolling in lists (zed-industries#33608) matches editor element's behavior https://github.com/user-attachments/assets/f70912e1-5adb-403b-a98c-63e2e89929ac - in first version editor scrolls like 1.5 pages, but agent panel only scrolls half a page. - in second version, agent panel also scrolls like 1.5 pages. Release Notes: - Fixed skipping of some scroll events in the non-uniform list UI element, which fixes slow scrolling of the agent panel. commit 9a4bcd1 Author: mslzed <mary@zed.dev> Date: Mon Jun 30 23:35:00 2025 -0700 Remove callout for hiring (zed-industries#33674) Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... commit 2ee5bed Author: Michael Sloan <michael@zed.dev> Date: Mon Jun 30 22:51:32 2025 -0600 agent: Only consider zed provider authenticated if TOS is accepted (zed-industries#33693) Also now auto-expands the zed provider section when TOS is not accepted Release Notes: - N/A commit d497f52 Author: Michael Sloan <michael@zed.dev> Date: Mon Jun 30 21:01:32 2025 -0600 agent: Improve error handling and retry for zed-provided models (zed-industries#33565) * Updates to `zed_llm_client-0.8.5` which adds support for `retry_after` when anthropic provides it. * Distinguishes upstream provider errors and rate limits from errors that originate from zed's servers * Moves `LanguageModelCompletionError::BadInputJson` to `LanguageModelCompletionEvent::ToolUseJsonParseError`. While arguably this is an error case, the logic in thread is cleaner with this move. There is also precedent for inclusion of errors in the event type - `CompletionRequestStatus::Failed` is how cloud errors arrive. * Updates `PROVIDER_ID` / `PROVIDER_NAME` constants to use proper types instead of `&str`, since they can be constructed in a const fashion. * Removes use of `CLIENT_SUPPORTS_EXA_WEB_SEARCH_PROVIDER_HEADER_NAME` as the server no longer reads this header and just defaults to that behavior. Release notes for this is covered by zed-industries#33275 Release Notes: - N/A --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com> Co-authored-by: Richard <richard@zed.dev> commit f022a13 Author: Michael Sloan <michael@zed.dev> Date: Mon Jun 30 18:20:02 2025 -0600 Add `#[serde(deny_unknown_fields)]` to action structs that didn't have it (zed-industries#33679) Release Notes: - N/A commit c74ecb4 Author: Michael Sloan <michael@zed.dev> Date: Mon Jun 30 17:34:25 2025 -0600 Warn about unknown fields when editing settings json (zed-industries#33678) Closes zed-industries#30017 * While generating the settings JSON schema, defaults all schema definitions to reject unknown fields via `additionalProperties: false`. * Uses `unevaluatedProperties: false` at the top level to check fields that remain after the settings field names + release stage override field names. * Changes json schema version from `draft07` to `draft_2019_09` to have support for `unevaluatedProperties`. Release Notes: - Added warnings for unknown fields when editing `settings.json`. commit 7609ca7 Author: Mikayla Maki <mikayla@zed.dev> Date: Mon Jun 30 16:25:11 2025 -0700 Sketch in a table for the keybindings UI (zed-industries#32436) Adds the initial semblance of a keymap UI. It is currently gated behind the `settings-ui` feature flag. Follow up PRs will add polish and missing features. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Anthony <anthony@zed.dev> commit 32906bf Author: Umesh Yadav <23421535+imumesh18@users.noreply.github.com> Date: Tue Jul 1 02:42:02 2025 +0530 Update Cargo.lock (zed-industries#33667) Followup to: zed-industries#32208 Release Notes: - N/A commit 5fafab6 Author: Michael Sloan <michael@zed.dev> Date: Mon Jun 30 15:07:28 2025 -0600 Migrate to schemars version 1.0 (zed-industries#33635) The major change in schemars 1.0 is that now schemas are represented as plain json values instead of specialized datatypes. This allows for more concise construction and manipulation. This change also improves how settings schemas are generated. Each top level settings type was being generated as a full root schema including the definitions it references, and then these were merged. This meant generating all shared definitions multiple times, and might have bugs in cases where there are two types with the same names. Now instead the schemar generator's `definitions` are built up as they normally are and the `Settings` trait no longer has a special `json_schema` method. To handle types that have schema that vary at runtime (`FontFamilyName`, `ThemeName`, etc), values of `ParameterizedJsonSchema` are collected by `inventory`, and the schema definitions for these types are replaced. To help check that this doesn't break anything, I tried to minimize the overall [schema diff](https://gist.github.com/mgsloan/1de549def20399d6f37943a3c1583ee7) with some patches to make the order more consistent + schemas also sorted with `jq -S .`. A skim of the diff shows that the diffs come from: * `enum: ["value"]` turning into `const: "value"` * Differences in handling of newlines for "description" * Schemas for generic types no longer including the parameter name, now all disambiguation is with numeric suffixes * Enums now using `oneOf` instead of `anyOf`. Release Notes: - N/A commit a2e786e Author: Conrad Irwin <conrad.irwin@gmail.com> Date: Mon Jun 30 14:04:28 2025 -0600 Allow repeat in visual mode (zed-industries#33569) Release Notes: - vim: Allow `.` in visual mode. commit b0086b4 Author: Alejandro Fernández Gómez <antarticonorte@gmail.com> Date: Mon Jun 30 22:03:55 2025 +0200 Fix an interaction between vim's linewise yank and editor's paste (zed-industries#33555) Closes zed-industries#32397 This PR fixes an issue when pasting text with the `editor::Paste` command that was copied with `vim::Yank`'s linewise selection. The change stops setting the `is_entire_line` setting when copying from with vim linewise selections (<kbd>⇧v</kbd>) and motions (i.e. <kbd>y2j</kbd>). This flag is used when cutting/copying text without being selected (so, place a cursor on line without selecting anything, and press <kbd>⌘X</kbd>). When cutting/copying text in this manner, [the editor pastes the text above the cursor](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/editor/src/editor.rs#L11936-L11947). However, this behaviour is not needed when cutting/copying with vim motions. Pasting with vim operations is not affected by this change. [They are handled elsewhere](https://github.com/afgomez/zed/blob/36941253ee086af3dc7d2b2729a68bebe387d650/crates/vim/src/normal/paste.rs) and they don't consider the `is_entire_line` flag at all. Note for maintainers: I'm not familiar with this codebase 🙃. This change fixes the issue. I don't see anything breaking... but let me know if it's not the case and a more thorough change is needed. **Before:** The text is copied above the first line, before the cursor. https://github.com/user-attachments/assets/0c2f111a-5da0-4775-a7a0-2e4fb6f78bfc **After:** The text is copied at the cursor location: https://github.com/user-attachments/assets/60a17985-fe8b-4149-a77b-d72bf531bf85 Release Notes: - Fixed an issue when pasting text that was yanked with vim's linewise selections. commit d10cc13 Author: fantacell <ghub@giggo.de> Date: Mon Jun 30 21:57:20 2025 +0200 helix: Add more tests (zed-industries#33582) These tests cover more edge cases Release Notes: - N/A commit 2680a78 Author: Alvaro Parker <64918109+AlvaroParker@users.noreply.github.com> Date: Mon Jun 30 15:55:45 2025 -0400 Support vim-mode in git commit editor (zed-industries#33222) Release Notes: - Added support for vim-mode on git commit editor (modal included) Side notes: - Maybe in the future (or even on this PR) a config could be added to let the user choose whether to enable vim-mode on this editor or not? And on the agent message editor as well. commit 1978289 Author: Kirill Bulatov <kirill@zed.dev> Date: Mon Jun 30 22:08:50 2025 +0300 Properly register initialized default prettier (zed-industries#33669) Stop doing useless prettier-related work when doing a project search. Before, project search might cause <img width="1728" alt="not_pretty" src="https://github.com/user-attachments/assets/5f8b935f-962d-488e-984f-50dfbaee97ba" /> but now we debounce the prettier-related task first, and actually set the "installed" state for the default prettier, when there's no install needed. Release Notes: - N/A commit 7c4da37 Author: Conrad Taylor <conradwt@gmail.com> Date: Mon Jun 30 09:45:10 2025 -0700 emmet: Fix expansion for HEEx and H sigil files (zed-industries#32208) Closes zed-industries#14149 Release Notes: - Added support for the Emmet LSP in Elixir heex files
Follow up: zed-industries#32114 Closes zed-industries#33274 Use the new support for language-specific rewrap_prefixes added in zed-industries#33702. Release Notes: - Fix git commit message line break getting stripped after committing. --------- Signed-off-by: Umesh Yadav <git@umesh.dev>
Follow up: #32114
Closes #33274
Use the new support for language-specific rewrap_prefixes added in #33702.
Release Notes: