3fc2e07
Don't apply the 'literal' color to entire markdown code blocks
Max Brunsfeld created
3fc2e07
Don't apply the 'literal' color to entire markdown code blocks
Max Brunsfeld created
bdd3e77
Live-reload tree-sitter queries in development (#2578)
This PR adds live reloading of Tree-sitter queries when running in debug mode, similar to what we do for the themes. This way, you can change a highlighting query or an outline query, and immediately see the result in the app. Release Notes: - N/A
Max Brunsfeld created
7bfb51e
Live-reload tree-sitter queries in development
Max Brunsfeld created
559a58d
Revert "chore: bump MSRV to 1.70" (#2577)
Reverts zed-industries/zed#2573
Piotr Osiewicz created
c1c91dc
chore: bump MSRV to 1.70 (#2573)
Add rust-toolchain.toml Release Notes: - N/A
Piotr Osiewicz created
572c59e
chore: Enable full LTO (#2548)
Per conversation with Antonio, I've suggested enabling full LTO; right now we use a crate-local ThinLTO, which does not inline function calls across crates. | Configuration | Current main (788f97e) | Thin LTO | Full LTO | |------------------|------------------------|-----------|-----------| | Size in bytes | 158806721 | 155868753 | 111115553 | | % of `main` size | 100% | 98.14% | 69.96% | | Size in bytes (no debug info) | 129186657 | 127942929 | 108281345 |
Piotr Osiewicz created
17560cc
Eliminate assets crate (#2575)
Previously, all static assets were embedded into Zed using a single `RustEmbed` struct called `Assets`, which was in a crate of its own, also called `assets`. Many crates depended on this crate. The problem with this situation was that changing *any* static asset file caused almost every crate in the codebase to need recompilation (because of recursive dependencies on `assets`). Now, most of the assets are embedded only into the top-level `zed` crate. A few assets (such as settings JSON files and AI prompts) are needed in lower-level crates such as `settings` and `ai`. For these, I've created separate `RustEmbed` structs in those specific crates, which embed those specific sub-folders of `assets`. The result is that now, when you change a theme file, the only crate that needs to recompile is `zed`. Release Notes: - N/A
Max Brunsfeld created
dbbd055
Eliminate assets crate
Max Brunsfeld created
2003d3d
Update initial_user_settings.json
Joseph Lyons created
7a78e64
Merge remote-tracking branch 'origin/main' into assistant-2
Antonio Scandurra created
16090c3
Insert reply after assistant message when hitting `cmd-enter`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
ef7ec26
Cycle message roles on click
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
53906fd
Add an application menu item for creating/opening a project-specific settings file (#2572)
Previously, project-specific settings were not discoverable. This PR adds a `Zed > Preferences > Local Settings` application menu command that creates a `.zed/settings.json` at the root of your current worktree. This command works in both local and remote projects. Limitations: * Currently, if you have an empty project open, the command just shows a notification that there are no folders open. * The JSON-schema-based autocomplete is the same in local settings files as in your main settings, even though not all settings can be locally customized. Release Notes: - Added an application menu command - `Zed > Preferences > Local Settings` for creating a folder-specific settings file.
Max Brunsfeld created
ac71780
Include message headers in copied assistant text
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
cfcfc3b
Show notification when attempting to open local settings in a project w/ no folders
Max Brunsfeld created
093ce8a
Simplify prompt
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
7b066df
Tighten up spacing in the project panel (#2574)
Following https://github.com/zed-industries/zed/pull/2559 the project panel entries become pretty wide again. This PR tries to mitigate that and just make some general improvements to visual density in the project panel. - Reduces padding around items - Removes top margin - Slightly reduces the height of each item - Fixes an issue where ignored files had the wrong color chevron Release Notes: - Improved density of the project panel and tidied up some visual issues.
Nate Butler created
a0e2e5d
project panel/styles: Align child's chevron with parent path (#2559)
Z-1012 Release notes: - Adjust indent of files in subdirectories.
Piotr Osiewicz created
2b1aeb0
Show error message when requests to OpenAI fail
Co-Authored-By: Julia Risley <julia@zed.dev>
Antonio Scandurra and Julia Risley created
9c59146
Set assistant editor's title based on the first question/answer pair
Co-Authored-By: Julia Risley <julia@zed.dev>
Antonio Scandurra and Julia Risley created
69b8267
Show the current model and allow clicking on it to change it
Antonio Scandurra created
ada2220
Insert a user reply when hitting `cmd-enter` in an assistant message
Antonio Scandurra created
f4f0606
Add assertion to pinpoint how deletion works across excerpts
Antonio Scandurra created
337dda8
Only remove excerpts when an edit touches them
Antonio Scandurra created
8032324
Prevent moving across excerpts on `Editor::delete`
Antonio Scandurra created
e46d154
Retain selection's head (as opposed to its end) on insertion
This makes a difference when an edit spans two excerpts and the selection start won't necessarily be the same as the selection end after the edit.
Antonio Scandurra created
23836eb
Not working yet: Remove empty messages unless they contain the cursor
Problem is, I'm trying to trust the excerpt id of the selection head, but it's a sentinel value and not the actual excerpt id of the message. I think we probably need to resolve to offsets instead.
Nathan Sobo created
296a0bf
Populate created local settings file with an empty JSON object and comments
Max Brunsfeld created
cb975f1
Add Zed > Preferences > Local Settings to application menu
Max Brunsfeld created
0949ee8
:art: Move OpenSettings action back to the zed crate
Max Brunsfeld created
a2d5806
Improve test generation and implement status propogation
co-authored-by: max <max@zed.dev>
Mikayla Maki and max created
c12bdc8
Silence not found errors
Mikayla Maki created
398b0f3
Apply bounds to all windows when using start-local-collaboration script (#2570)
The `start-local-collaboration` script opens two instances of Zed, each
logged in as a different user, and each one taking up half of the
screen. But previously, when joining a remote project as one of the
collaborators, that newly-opened window would be full screen.
Now, each instance of Zed keeps *all* of its windows on its half of the
screen. This is implemented by respecting the `ZED_WINDOW_{SIZE,BOUNDS}`
env vars, even when joining *remote* projects.
Release Notes:
- N/A
Max Brunsfeld created
3d1ba1b
Apply bounds to all windows when using start-local-collaboration script
Max Brunsfeld created
5711511
Fix copilot state corruption when there are multiple buffers with the same remote id in different projects (#2569)
Fixes https://linear.app/zed-industries/issue/Z-1511/thread-main-panicked-at-assertion-failed-left-==-right-left-local-0-1 Previously, when exchanging messages about buffers with a copilot language server, we identified buffers using their **remote id**. This caused problems when there were multiple projects open, where one or more were remote, because buffers' remote ids are only unique within a given project. When you have multiple projects open, and one or more of the projects is remote, it's pretty easy to have two buffers open with the same remote id. In my testing, when this happened, copilot would stop working in both buffers. But I believe that depending on the editing patterns that occur in the two buffers, it could cause the crash reported in the Linear issue above. This PR changes our copilot logic to use buffers' local handle ids for identifying them. This fixed the problems I was able to reproduce when using copilot in both remote and local projects. Release Notes: - Fixed a crash that would sometimes occur when editing buffers after having collaborated on a remote project.
Max Brunsfeld created
12dd91c
Use local ids, not remote ids, to identify buffers to copilot
Max Brunsfeld created
5e4da64
Add file and line number information to logs (#2568)
This PR adds codegen from rustc to track the file and line number of calls to `log_err()`. I haven't noticed much longer compile times on my machine, and looking at the [implementation](https://rustc-dev-guide.rust-lang.org/backend/implicit-caller-location.html) it essentially adds an extra argument and secret reference pass. However, this will show a lot more data in our logs on user machines. Requesting review from @ForLoveOfCats, who usually knows a bunch about this kind of thing :)
Mikayla Maki created
624467e
Add file and line number information to logs
Mikayla Maki created
9a13a2b
WIP: Add status bubbling to project panel
Mikayla Maki created
7fbafc8
Remove code sending zed events to mixpanel (#2567)
Release Notes: - N/A
Joseph T. Lyons created
311074e
Remove code sending zed events to mixpanel
Joseph Lyons created
49c5a3f
Add postgres migration
Mikayla Maki created
2190a27
Stop sending editor events to mixpanel (#2566)
Release Notes: - N/A
Joseph T. Lyons created
70c5489
Stop sending editor events to mixpanel
Joseph Lyons created
4ac5f7b
Add statuses to test integration
Mikayla Maki created
e56fcd6
Track git status changes with the changed_paths system
Mikayla Maki created
4f31656
Move app version into panic object (#2565)
Final tweaks to clean up how we structure our panic data Release Notes: - N/A
Joseph T. Lyons created
917d894
Move app version into panic object
Joseph Lyons created
6b89243
Update rust-bindgen dev-dependencies (#2563)
I did \*something\* Friday afternoon which changed something about my system SDK to break the `media` crate's bindings generation. Some of the types and consts were not being generated despite being able to prove that they exist in the source, such as when running the header through the preprocessor myself and feeding that through the generator. Updating my OS, XCode, command line tools, and reinstalling Rust as well as working from fresh clones of the repo had no effect. Updating rust-bindgen resolved the issue and downgrading the version back to the original version caused the issue to reappear. I'm still not sure what happened to change the SDK but at this point with being able to build the project again I'm not going to look a gift horse in the mouth. Release Notes: - N/A
Julia created
0ed8bbc
Query `rect_for_text_range` on focused view instead of root element (#2564)
This was causing IME input to be drawn in the wrong place when there were splits or panels in the window. Release Notes: - Fixed a bug that was causing IME input to sometimes be rendered in the wrong position.
Antonio Scandurra created