1301c41
Add direnv `.envrc` to `.gitignore` (#24115)
Click to expand commit body
Release Notes: - N/A
Michael Sloan created
1301c41
Add direnv `.envrc` to `.gitignore` (#24115)
Release Notes: - N/A
Michael Sloan created
1dd2bbe
docs: Add lua-language-server formatter example (#24105)
Peter Tripp created
4885ace
workspace: Prevent clicks from falling through on some notifications (#24104)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
691de6b
Add `#[track_caller]` to gpui foreground executor spawn methods (#24103)
Use of this location info was added in #21758 to help with diagnosing remote_server panics on drop of tasks on a different thread. Release Notes: - N/A
Michael Sloan created
422d57e
docs: Add Lua formatters section (stylua) (#24101)
Peter Tripp created
aa42e20
gpui: Add text alignment (#24090)
Adds a text property for controlling left, center, or right text alignment. #8792 should stay open since this doesn't add support for `justify` (which would require a much bigger change since this can just alter the origin of each line, but justify requires changing spacing, whereas justify requires changes to each platform's shaping code). Release Notes: - N/A
someone13574 created
4a65315
gpui: Switch from `linkme` to `inventory` for action registration (#24087)
This switches how actions are registered in GPUI from [dtolnay/linkme](https://github.com/dtolnay/linkme) to [dtolany/inventory](https://github.com/dtolnay/inventory), fixing the linking error seen in #15902, which also occurs on nightly toolchains. I'm not sure if that issue should be closed or not given the other problems on Chimera though. This also fixes zed-industries/create-gpui-app#10 Release Notes: - N/A
someone13574 created
f4f51c1
Remove /workflow command as not existing anymore #2 (#24097)
Follow-up of https://github.com/zed-industries/zed/pull/24095 Release Notes: - N/A
Kirill Bulatov created
f7d2b53
Remove /workflow command as not existing anymore (#24095)
Based on https://github.com/zed-industries/zed/issues/16913#issuecomment-2629424808 Follow-up of https://github.com/zed-industries/zed/pull/19900 Release Notes: - N/A
Kirill Bulatov created
2f82374
Switch GitHub Copilot Chat from o1-mini to o3-mini (#24080)
Co-authored-by: SkywardSyntax <87048477+SkywardSyntax@users.noreply.github.com>
Peter Tripp and SkywardSyntax created
af461f8
assistant: Use GPT 4 tokenizer for `o3-mini` (#24068)
Sorry to dump an unsolicited PR for a hot feature! I'm sure someone else was taking a look at this. I noticed that token counting was disabled and I was getting error logs of the form `[2025-01-31T22:59:01-05:00 ERROR assistant_context_editor] No tokenizer found for model o3-mini` when using the new model. To fix the issue, this PR registers the `gpt-4` tokenizer for this model. Release Notes: - openai: Fixed Assistant token counts for `o3-mini` models
Roshan Padaki created
f6824e3
Move scheme extension to zed-extensions/scheme (#24078)
New home: https://github.com/zed-extensions/scheme - See also: https://github.com/zed-industries/extensions/pull/1981
Peter Tripp created
5bd7eaa
Solve 50+ `cargo doc` warnings (#24071)
Release Notes: - N/A
João Marcos created
39d45bc
Update docs for running collab locally (again) (#24069)
Release Notes: - N/A
João Marcos created
d0152f9
vim: Add keybindings for resizing docks (#23874)
Closes #23334 This does not follow the exact way that windows are resized in vim. Normally the command is `ctrl-w >` however this PR uses just `ctrl->`. This is because I could not find a good way to read in a count like `10 ctrl-w ctrl->`. This is not really a problem since `ctrl->` can be held down, which, in my opinion, speeds up resizing. I think this is a good compromise since it improves usability; however, I am concerned that this is not intuitive. I am looking forward to feedback. Release Notes: - Added the following commands - vim::ResizeLeftDock - vim::ResizeRightDock - vim::ResizeBottomDock - Added keybinds - `ctrl->` for widening left dock - `ctrl-<` for narrowing left dock
AidanV created
a3c7dc3
vim: Add textobject `e` for entire file (#24039)
Co-Authored-By: Thomas Heartman <zed@thomasheartman.com> Release Notes: - vim: Add `e` for entire file object. `yae` to copy entire file Co-authored-by: Thomas Heartman <zed@thomasheartman.com>
Conrad Irwin and Thomas Heartman created
66e2028
git_ui: More git panel refinement (#24065)
- Removes flakey keybindings from buttons - Moves git panel entries to use a standard ListItem - Show a repo selector in the panel when more than one repo is present - Remove temporary repo selector from title bar Release Notes: - N/A
Nate Butler created
52a3013
editor: Push `em` width calculations down into `EditorSnapshot::gutter_dimensions` (#24062)
This PR removes the `em_width` and `em_advance` parameters to `EditorSnapshot::gutter_dimensions` in favor of computing the values inside of it. In practice all of the callers were passing in the same values, and there isn't a circumstance where we would want to pass in different values. `gutter_dimensions` has also been modified to return `Option<GutterDimensions>` instead of `GutterDimensions` so that we can remove some `.unwrap`s when interacting with the text system. Release Notes: - N/A
Marshall Bowers created
1787226
Add `language::BufferSnapshot::highlighted_text_for_range` (#24060)
In support of work on https://github.com/zed-industries/zed/tree/new-ui-for-edit-prediction-with-lsp-completions, where we want to be able to extract a range of the buffer as `HighlightedText`. Release Notes: - N/A
Michael Sloan created
9a6b9e3
Use different commit author for collab project clients (#24058)
Follow-up of https://github.com/zed-industries/zed/pull/23869 * Retrieves user + email for collab project clients and use these when such users commit Same as in https://github.com/zed-industries/zed/pull/23329, "is it the right user name and e-mail" and "how to override these" questions apply. * If this data is unavailable, forbid committing to the remote client * Forbid running related actions in git panel, if committing/writing is not permitted Release Notes: - N/A
Kirill Bulatov created
93c7b54
Renames: `HighlightedText`->`HighlightedMatch` + `HighlightedEdits`->`HighlightedText` (#24057)
In support of work on https://github.com/zed-industries/zed/tree/new-ui-for-edit-prediction-with-lsp-completions, where we want to be able to extract a range of the buffer as `HighlightedText`. Release Notes: - N/A
Michael Sloan created
4d9659a
feature_flags: Add `FeatureFlagAppExt::wait_for_flag_or_timeout` (#24055)
This PR adds a new `wait_for_flag_or_timeout` method to the `FeatureFlagAppExt` trait. This encapsulates the somewhat gnarly code for using `wait_for_flag` with a timeout. A side benefit of this is that the tasks waiting on the feature flags run in parallel, so in the case where the feature flags do not resolve we don't end up having to wait on consecutive timeouts. This should help a bit with https://github.com/zed-industries/zed/issues/23922. Release Notes: - N/A
Marshall Bowers created
3af37dd
lmstudio: Support missing quantization in model metadata (#24054)
- Closes https://github.com/zed-industries/zed/issues/23764 Certain models do not include `quantization` parameter from lm studio rest API.
Peter Tripp created
df16ef2
chore: Fix default.json formatting (#24053)
Forgot to run default.json through prettier in #24051. Oops.
Peter Tripp created
1e96663
assistant_context_editor: Don't block `ContextStore` initialization on reloading contexts (#24052)
This PR changes the `ContextStore` constructor to not block on reloading the contexts before we finish initializing it. I noticed that the Assistant panel was taking a long time to show up in the status bar, and upon further investigation uncovered that with a large number of contexts (I have ~320) it takes a long time to load them all. Release Notes: - N/A
Marshall Bowers created
de3702b
Improve inline_completions.disabled_globs in default.json (#24051)
Make sure that inline completions (Copilot, etc) are disabled for more secret globs (matches `private_files`)
Peter Tripp created
d04800c
Add OpenAI o3-mini support (#24044)
Release Notes: - Add support for OpenAI o3-mini
Peter Tripp created
e42b6e6
Do less git metadata rescans on FS events (#24034)
A preparation for collaborative commit message editing. Before, almost any `.git`-contained file FS update, except `.git/fsmonitor--daemon/cookies/**` caused git metadata rescan. This included `index.lock` that was created after any git operation, e.g. `git status`, which was unnecessary. Collaborative editing aims to share `.git/COMMIT_EDITMSG` between multiple users, so there are potentially multiple users editing the file and causing excessive events. The change makes worktree to ignore .git/COMMIT_EDITMSG`, `.git/index.lock` and `.git/fsmonitor--daemon/**` paths and adjusts the logic to be more extensible: there's much more files Zed can ignore and still have its git metadata up to date. Release Notes: - N/A
Kirill Bulatov created
0c94bdc
gpui: Update docs to reflect removal of View, ViewContext, WindowContext (#24008)
This PR updates function signatures, docstrings, and gpui's other documentation to reflect it's new state following the merge of `Model` and `View` into `Entity` as well as the removal of `WindowContext`. Release Notes: - N/A
someone13574 created
027fe1b
Ensure pane where search buttons are clicked is focused before dispatching action (#24037)
Closes #23906 Note: Changes the focused pane when search UI is interacted with on an unfocused pane rather than leaving the focused pane unchanged as focusing on click is more likely to be the expected behavior Release Notes: - Fixes an issue with search actions so that they now execute on the clicked pane rather than the focused pane when using search UI in multiple panes
Ben Kunkle created
990bdde
gpui: Add helper methods for em width and em advance (#24036)
This PR adds two helpers methods to the `TextSystem`: - `em_width` - `em_advance` These methods return the width and advance width for an `em`, respectively. We were using these definitions in a number of different spots, and by unifying them we better canonicalize that an `em` is based on the `m` character. Release Notes: - N/A
Marshall Bowers created
af6548c
docs: Remove lingering docs for `default_dock_anchor` (#24029)
This PR removes some lingering docs leftover after `default_dock_anchor` was removed. These were missed in https://github.com/zed-industries/zed/pull/18210. Closes https://github.com/zed-industries/zed/issues/24023. Release Notes: - N/A
Marshall Bowers created
6f46728
Fix data collection permission asked multiple times for same worktree (#24016)
After the user confirmation, only the current instance of the completions provider had the answer stored. In this PR, the changes are propagated by having each provider have an `Entity<choice>`, and having a lookup map with one `Entity<choice>` for each worktree that `Zeta` has seen. Release Notes: - N/A
João Marcos created
be4c3cf
workspace: Make "New Window" bring app to foreground (#24015)
Closes #ISSUE Release Notes: - "New Window" action will now bring App to foreground.
Piotr Osiewicz created
0ad2aeb
Enable word wrap in feedback modal (#23893)
https://zed-industries.slack.com/archives/C04S7CZPF4M/p1738151539115169 Release Notes: - Enable word wrap in the feedback modal
Conrad Irwin created
f2b3f3a
Allow buffer search in project search (#23819)
Closes #13437 Closes #19993 Release Notes: - Allow searching within the results of a project search - vim: Fix `/`/`?`, `n`/`N`, `gn`/`gN`,`*`/`#` in project search results --------- Co-authored-by: Nico <nico.lehmann@gmail.com>
Conrad Irwin and Nico created
e1af35a
gpui: Add `closest_index_for_position` method (#23668)
Closes #ISSUE Release Notes: - N/A ------------ I just make a little change to improve `index_for_position` to support return closest index for position. I need this method to measure for position cursor in multi-line mode TextInput. https://github.com/longbridge/gpui-component/pull/583 https://github.com/user-attachments/assets/c69d098e-d2cb-4053-b739-6c7dd666e769 Before this change, GPUI have `LineLayout::closest_index_for_x` method for unwrapped line case. https://github.com/zed-industries/zed/blob/d1be419fff415329b38f26aff90488700702c82a/crates/gpui/src/text_system/line_layout.rs#L58-L94 This change is equivalent to making `index_for_position` have a corresponding method to get the closest index like `index_for_x`.
Jason Lee created
cb15753
Fix clipping at end of line in vim mode with inlay hints (#23975)
Closes #23877 Co-Authored-By: Ben <ben@zed.dev> Co-Authored-By: Michael <michael@zed.dev> Release Notes: - vim: Fix navigating to end of line with inlay hints --------- Co-authored-by: Ben <ben@zed.dev> Co-authored-by: Michael <michael@zed.dev>
Conrad Irwin , Ben , and Michael created
5914ccd
Deflake fs::test_event_stream_simple (#24013)
Should reduce test flakiness Release Notes: - N/A
Conrad Irwin created
8be73bf
collab: Remove unused `POST /predict_edits` endpoint from LLM service (#23997)
This PR removes the `POST /predict_edits` endpoint from the LLM service, as it has been superseded by the corresponding endpoint running in Cloudflare Workers. All traffic is already being routed to the Cloudflare Workers via the Workers route, so nothing is hitting this endpoint running in the LLM service anymore. You can see the drop off in requests to this endpoint on this graph when the Workers route was added: <img width="472" alt="Screenshot 2025-01-30 at 9 18 04 PM" src="https://github.com/user-attachments/assets/fa60f7c8-2737-4329-88a3-17093bdb5a29" /> We also don't use the `fireworks` crate anymore in this repo, so it has been removed. Release Notes: - N/A
Marshall Bowers created
35fbe1e
zeta: Send staff edit predictions through `llm.zed.dev` again (#23996)
This PR changes the edit predictions URL for Zed Staff back to `llm.zed.dev/predict_edits`. This endpoint is now being routed to the Cloudflare Workers instead of the LLM service. Release Notes: - N/A
Marshall Bowers created
517e519
Make the gpui_tokio crate generic over the context it spawns (#23995)
Part of #21092 Makes `Tokio::spawn` generic over any `AppContext`. Also removes a stray `model_context` I missed Release Notes: - N/A
Mikayla Maki created
ff43b68
Add icon association for ESLint flat config (#23994)
Release Notes: - Added file type associations for ESLint flat config files. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Cameron Radmore and Marshall Bowers created
4c8b5ea
Unify selection directions when performing `editor: select all selections` (#23993)
Closes https://github.com/zed-industries/zed/issues/19569 Current behavior: https://github.com/user-attachments/assets/1de764c9-7c62-49ad-b24b-6e85760857db After PR: https://github.com/user-attachments/assets/651d8e50-95e2-4513-852b-9557d00d2b62 Release Notes: - Unified selection directions when performing `editor: select all selections`. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Joseph T. Lyons and Marshall Bowers created
f29b33e
extensions_ui: Show the filtered icon theme selector when installing an icon theme (#23992)
This PR makes it so when you install an extension with icon themes it will deploy the icon theme selector filtered down to the newly-installed icon themes. This is similar to what we do when installing an extension with themes. Because we can only have one picker open at a time, when installing an extension that has _both_ themes and icon themes, the theme selector will take precedence. Release Notes: - N/A
Marshall Bowers created
e5bc048
Add `schema_generator` for generating JSON schemas (#23991)
This PR adds a `schema_generator` crate that can be used to generate our various JSON schemas for publishing elsewhere. Currently it does the simplest thing possible and just prints the JSON schema to stdout. We can make this a but more robust later. I also removed the schema-printing facilities from the `theme_importer`, as they don't really make sense there. Release Notes: - N/A
Marshall Bowers created
b6e54ae
Fix two bugs in new diff hunk handling (#23990)
Closes https://github.com/zed-industries/zed/issues/23981 Release Notes: - Fixed a crash that could happen when expanding certain diff hunks - Fixed a bug where diff hunks were not syntax highlighted when reopening a project with previously-opened buffers.
Max Brunsfeld created
9c34820
Map window after set_app_id() under X11 (#23046)
GPUI applications can set the window class by the `app_id` window option. However, GPUI will map the window first and then change the window class after the window is displayed. This doesn't work on some X11 window managers. FVWM, for example, does not track window class after a window is mapped. Because in practice, a window shouldn't change its application group on the fly. This PR fixed this by adding a `map_window()` function `PlatformWindow`. On X11, it will `set_app_id()` first and then map the window. Release Notes: - N/A
Mike Qin created
c28a420
Use click event to determine modifier keys (#22988)
Previously, editor elements had to listen for mouse_up events to determine when a click had completed. This meant that they only had access to modifier keys that were pressed during the mouse_up event. This led to some incorrect user experiences, such as executing a ctrl+click if the user pressed ctrl after pressing the mouse button, but before releasing it. This change adds a click event handler to EditorElement, and adds a modifier() method to the ClickEvent, which only includes the modifier keys that were pressed during both mouse down and mouse up. The code for handling link clicks has been moved into the click event handler, so that it's only triggered when the non-multi-cursor modifier was held for both the mouse down and mouse up events. Closes #12752, #16074, #17892 (the latter two seem to be duplicates of the former!) Release Notes: - Fixed a bug where pressing ctrl/cmd (or other modifiers) after mouse down but before mouse up still triggered ctrl/cmd+click behavior (e.g. "go to definition")
Shane Friedman created
4892286
theme_importer: Fix theme JSON schema URL (#23988)
This PR fixes the URL for the theme JSON schema, as it had an extra path segment. Release Notes: - N/A
Marshall Bowers created