3e25908
zed 0.128.3
Thorsten Ball created
3e25908
zed 0.128.3
Thorsten Ball created
9ed7822
Update to vscode-eslint 2.4.4 & support flat config file extensions (#9708)
This upgrades to vscode-eslint 2.4.4 to support flat configs, in multiple configuration files, ending in `.js`, `.cjs`, `.mjs`. We changed the code to not use the GitHub release because we actually don't need the artifacts of the release, we just need the source code, which we compile anyway. Fixes #7271. Release Notes: - Added support for ESLint flat config files. ([#7271](https://github.com/zed-industries/zed/issues/7271)). Co-authored-by: Kristján Oddsson <koddsson@gmail.com>
Thorsten Ball and Kristján Oddsson created
ff0164e
Fix `prettier-plugin-organize-imports` plugin removes used imports (#9598)
So this pull request fixes an issue that was driven me crazy. The issue
was that when you use the `prettier-plugin-organize-imports` It would
remove some imports that should not be removed before they were used
inside the module itself.
You can reproduce it with the following `prettierrc.json` config and
source code. When you **save** the file, it would remove the `import
clsx from "clsx";` import from the file.
**Prettier config**
```json
{
"semi": true,
"tabWidth": 4,
"trailingComma": "es5",
"useTabs": true,
"plugins": [
"prettier-plugin-tailwindcss",
"prettier-plugin-organize-imports"
]
}
```
**Source code**
```typescript
import clsx from "clsx";
export default function Home() {
return (
<main>
{clsx("asdjklasdjlkasd", "asdjlkasjdjlk")}
</main>
);
}
```
After a deep dive with @mrnugget, I was debugging deep down the prettier
plugin system and found the issue that was causing this issue. When I
was looking inside the
`node_modules/prettier-plugin-organize-imports/lib/organize.js`. I saw
the following code that looked strange to me because it falls back to
`file.ts` if `filepath` is not passed through inside the prettier config
options.
<img width="860" alt="Screenshot 2024-03-20 at 21 31 46"
src="https://github.com/zed-industries/zed/assets/62463826/47177fe5-e5a9-41d8-9f2f-0304b2c2159f">
So the issue was small, if you look at the following code, the `path`
key should be `filepath` inside the
`crates/prettier/src/prettier_server.js:205`

Release Notes:
- Fixed prettier integration not using the correct filepath when
invoking prettier, which could lead to some prettier plugins failing to
format correctly.
([#9496](https://github.com/zed-industries/zed/issues/9496)).
Remco Smits created
4296755
chat panel: Fix tooltips not working for links (cherry-pick #9691) (#9699)
Cherry-picked chat panel: Fix tooltips not working for links (#9691) Closes #9418 Noticed a difference in the `cx.set_tooltip(...)` calls between `div` and `InteractiveText`. `div` calls `cx.set_tooltip(...)` inside `after_layout`, but `InteractiveText` was calling this inside `paint`. I believe as #9012 was merged, we need to call `cx.set_tooltip` inside `after_layout`, as inserting inside `paint` does not seem to be supported anymore. I moved the code for setting the tooltip to `after_layout` and hovering over links inside the chat seems to bring up the tooltips again. Before: See https://github.com/zed-industries/zed/issues/9418#issue-2189398784 After:  Release Notes: - Fixed tooltip not showing up when hovering over links inside the chat panel ([#9418](https://github.com/zed-industries/zed/issues/9418)) Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
gcp-cherry-pick-bot[bot] and Bennet Bo Fenner created
ddc2844
zed 0.128.2
Antonio Scandurra created
646b493
Hard code max token counts for supported models (cherry-pick #9675) (#9685)
Cherry-picked Hard code max token counts for supported models (#9675) Co-authored-by: Nathan Sobo <nathan@zed.dev>
gcp-cherry-pick-bot[bot] and Nathan Sobo created
8ca7b0d
zed 0.128.1
Conrad Irwin created
383473c
Fix copilot modal (cherry-pick #9613) (#9615)
Cherry-picked Fix copilot modal (#9613) Release Notes: - Fixed copilot modal not responding ([#9596](https://github.com/zed-industries/zed/issues/9596)). (preview only) Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
77b7187
v0.128.x preview
Mikayla created
88857f8
VS Code -> Zed tasks converter (#9538)
We can convert shell, npm and gulp tasks to a Zed format. Additionally, we convert a subset of task variables that VsCode supports. Release notes: - Zed can now load tasks in Visual Studio Code task format --------- Co-authored-by: Piotr Osiewicz <piotr@zed.dev> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Anthony Eid , Piotr Osiewicz , and Piotr Osiewicz created
269d251
Add support for applying theme after extension is installed (#9529)
Release Notes: - Added support for opening the theme selector with installed themes after installing an extension containing themes. ([#9228](https://github.com/zed-industries/zed/issues/9228)). <img width="1315" alt="Screenshot 2024-03-20 at 11 00 35 AM" src="https://github.com/zed-industries/zed/assets/1486634/593389b3-eade-4bce-ae17-25c02a074f21"> --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Jason Lee and Marshall Bowers created
6cec389
ui: Make `top_padding` an associated function on the `TitleBar` (#9577)
This PR makes the function for computing the top padding for the `TitleBar` an associated function. Release Notes: - N/A
Marshall Bowers created
9ab7a22
Fix licensing errors
Antonio Scandurra created
f2394c7
Fix licensing
Antonio Scandurra created
7855b9e
Allow to handle autoclosed characters differently (#8666)
Adds the `always_treat_brackets_as_autoclosed` setting to control how the autoclosed characters are handled. The setting is off by default, meaning the behaviour stays the same (following how VSCode handles autoclosed characters). When set to `true`, the autoclosed characters are always skipped over and auto-removed no matter how they were inserted (following how Sublime Text/Xcode handle this). https://github.com/zed-industries/zed/assets/471335/304cd04a-59fe-450f-9c65-cc31b781b0db https://github.com/zed-industries/zed/assets/471335/0f5b09c2-260f-48d4-8528-23f122dee45f Release Notes: - Added the setting `always_treat_brackets_as_autoclosed` (default: `false`) to always treat brackets as "auto-closed" brackets, i.e. deleting the pair when deleting start/end, etc. ([#7146](https://github.com/zed-industries/zed/issues/7146)). --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Tim Masliuchenko and Thorsten Ball created
d5e0817
windows: Fix title bar height when maximized (#9449)
screenshots and description incoming ## title bar when window is maximized | before | after | | --- | --- | |  |  | ## ~~caption buttons at 200%~~ ~~buttons are now properly responsive at different scales~~ ~~closes #9438~~ ~~proper scale factor handling in follow up PR (possibly #9440)~~ <details> <summary>out of date image</summary>  </details> should be fixed by https://github.com/zed-industries/zed/pull/9456 Release Notes: - N/A
Ezekiel Warren created
3dadfe4
Channel chat: Add edit message (#9035)
**Summary**: - Removed reply message from message_menu - Made render_popover_buttons a bit more reusable - Fixed issue that you can't close the reply/edit preview when you are not focusing the message editor - Notify only the new people that were mentioned inside the edited message **Follow up** - Fix that we update the notification message for the people that we mentioned already - Fix that we remove the notification when a message gets deleted. - Fix last acknowledge message id is in correct now **Todo**: - [x] Add tests - [x] Change new added bindings to the `Editor::Cancel` event. Release Notes: - Added editing of chat messages ([#6707](https://github.com/zed-industries/zed/issues/6707)). <img width="239" alt="Screenshot 2024-03-09 at 11 55 23" src="https://github.com/zed-industries/zed/assets/62463826/b0949f0d-0f8b-43e1-ac20-4c6d40ac41e1"> <img width="240" alt="Screenshot 2024-03-13 at 13 34 23" src="https://github.com/zed-industries/zed/assets/62463826/d0636da2-c5aa-4fed-858e-4bebe5695ba7"> --------- Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Remco Smits , Bennet Bo Fenner , and Conrad Irwin created
5139aa3
Fix merge conflict in collab (#9550)
Release Notes: - N/A
Conrad Irwin created
86a86a9
Fix incorrect git ref check in publish extension cli workflow
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
fd11bd6
Perform extension packaging in extension-cli (#9549)
Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
85c294d
windows: Implement `app_version` (#9410)
#### Call `app_version`:  #### `Zed.exe` info:  Release Notes: - N/A
张小白 created
cfa0fc9
wayland: change some borrow_mut to borrow, reduce borrow scopes, fix two crashes (#9306)
Release Notes: - N/A
Luke Jones created
086f4e6
windows: Properly handle `DPI` (#9456)
As I mentioned before, there are the following issues with how GPUI handles scale factors greater than 1.0: 1. The title bar buttons do not function correctly, with minimizing button performing maximization and maximizing button performing closure. 2. As discussed in #8809, setting a scale factor greater than 1.0 causes GPUI's drawing content to be pushed off the screen. This PR introduces `LogicalSize` and `PhysicalSize` to differentiate between coordinate systems for proper GPUI rendering, and now scale factors above 1.5 are working correctly. `Zed` with a scale factor equals 1.5, and change between different scale factors: https://github.com/zed-industries/zed/assets/14981363/3348536d-8bd3-41dd-82f6-052723312a5b Release Notes: - N/A
张小白 created
2c36652
wayland: fix handling of non-discrete scroll events (#9548)
https://github.com/zed-industries/zed/pull/9103 broke touchpad scrolling on Wayland This PR correctly filters the `Axis` to handle all non-discrete scroll events (see https://wayland.app/protocols/wayland#wl_pointer:enum:axis_source) Should fix https://github.com/zed-industries/zed/issues/9525 Release Notes: - N/A
apricotbucket28 created
8ae5a3b
Allow AI interactions to be proxied through Zed's server so you don't need an API key (#7367)
Co-authored-by: Antonio <antonio@zed.dev> Resurrected this from some assistant work I did in Spring of 2023. - [x] Resurrect streaming responses - [x] Use streaming responses to enable AI via Zed's servers by default (but preserve API key option for now) - [x] Simplify protobuf - [x] Proxy to OpenAI on zed.dev - [x] Proxy to Gemini on zed.dev - [x] Improve UX for switching between openAI and google models - We current disallow cycling when setting a custom model, but we need a better solution to keep OpenAI models available while testing the google ones - [x] Show remaining tokens correctly for Google models - [x] Remove semantic index - [x] Delete `ai` crate - [x] Cloud front so we can ban abuse - [x] Rate-limiting - [x] Fix panic when using inline assistant - [x] Double check the upgraded `AssistantSettings` are backwards-compatible - [x] Add hosted LLM interaction behind a `language-models` feature flag. Release Notes: - We are temporarily removing the semantic index in order to redesign it from scratch. --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Thorsten <thorsten@zed.dev> Co-authored-by: Max <max@zed.dev>
Nathan Sobo , Antonio , Antonio Scandurra , Thorsten , and Max created
905a240
Add GitHub Action for publishing the extension CLI (#9542)
This PR adds a GitHub Action for publishing the extension CLI. When the `extension-cli` tag is pushed, this Action will run, build the `zed-extension` binary, and upload it to DigitalOcean for consumption. This will allow us to consume the pre-built binary in the CI for the extensions repo. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Marshall Bowers and Max created
2ea333f
Insert hitbox if div contains tooltip (#9545)
Release Notes: - Fixed a bug that would cause certain tooltips to not show up (preview-only).
Antonio Scandurra created
ac6c4f3
windows: fix 'space' keystroke keydown event (#9476)
the space key was being reported as key " " which didn't allow it to be used in keybindings Release Notes: - N/A
Ezekiel Warren created
fd0071f
Add an animation to the LSP checking indicator (#9463)
Spinner go spinny. Extra thanks to @kvark for helping me with the shaders. https://github.com/zed-industries/zed/assets/2280405/9d5f4f4e-0d43-44d2-a089-5d69939938e9 Release Notes: - Added a spinning animation to the LSP checking indicator --------- Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
Mikayla Maki and Dzmitry Malyshau created
56bd96b
Image viewer (#9425)
This builds on #9353 by adding an image viewer to Zed. Closes #5251. Release Notes: - Added support for rendering image files ([#5251](https://github.com/zed-industries/zed/issues/5251)). <img width="1840" alt="image" src="https://github.com/zed-industries/zed/assets/836375/3bccfa8e-aa5c-421f-9dfa-671caa274c3c"> --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Kyle Kelley and Mikayla Maki created
8d515a6
Update binary name for extension CLI (#9541)
This PR updates the binary name used by the extension CLI from `extension_cli` to `zed-extension`. Release Notes: - N/A
Marshall Bowers created
d6b7f14
suggested extensions (#9526)
Follow-up from #9138 Release Notes: - Adds suggested extensions for some filetypes ([#7096](https://github.com/zed-industries/zed/issues/7096)). --------- Co-authored-by: Felix Zeller <felixazeller@gmail.com>
Conrad Irwin and Felix Zeller created
7573f35
Simplify and document parts of linux text system code (#9443)
I mainly focused on improving the `font_id` function, see the description of e286483262e525c64c29d3747838ea9d2bac7bad for more details. The rest are some drive-by changes I could not resist to. When I am right about af4d6c43ce87ff5f16ad39c223e13326550010dd, someone with a Mac could change it there as well. This PR is probably best reviewed commit by commit :) cc @gabydd @h3mosphere Release Notes: - N/A --------- Signed-off-by: Niklas Wimmer <mail@nwimmer.me>
Niklas Wimmer created
250528d
Windows: Auto close HANDLE (#9429)
`HANDLE` is wrapped in a RAII struct. Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla@zed.dev>
白山風露 and Mikayla Maki created
868616d
Introduce `extension-cli` binary, for packaging extensions in CI (#9523)
This will be used in the [extensions](https://github.com/zed-industries/extensions) repository for packaging the extensions that users submit. Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Max Brunsfeld and Marshall Bowers created
7ef6600
Improve Ruby language to recognize Guardfiles (#9530)
Release Notes: - Improved Ruby language to recognize Guardfile.
Ben Hamment created
97fbec9
Clean up the live_kit_client manifest file (#9532)
Removes some redundant dependency defenitions and updates one dependency.
Tobias Decking created
080e25d
chore: Merge zed lib with zed binary.
TL;DR: - shaves off about 0.5 seconds from most of our debug builds. - It would've slightly regressed release build due to preventing build pipelining, but as a tradeoff I've bumped up codegen-units for zed. \# What did you come up with this time Piotr In our zed repository I've noticed that merely *loading dependencies* in each crate takes non-trivial amount of time (~800ms in case of editor). That is to say, the moment you \`use editor\`, your build time increases by 800ms - this happens just once in crate though, as it looks like compiler has to load .rlibs of all of the referenced dependencies. This is visible under rustc's self-profile. Repro steps on twitter: https://twitter.com/PiotrOsiewicz/status/1762845413072101567 \# How does this commit alleviate this? zed lib + zed bin are on critical path of every build and cumulatively take about 3s to build. This commit bundles all of this up into ~2.2s of bin build time instead. \# Wait, splitting binary targets is good, no? Splitting up a binary target into lib + bin is generally considered to be a good practice, as you can then reuse the lib part elsewhere if needed. It also allows the build to kick off the moment metadata for all of the dependencies is available (thus, you don't need to wait for codegen). However, we do not really use zed as a lib, so the first benefit is not really a thing for us. The latter *is* indeed something we lose out on in release mode (in dev codegen phase of leaf-ish crates is insignificant, as we use shared generics - thus we don't spend much time codegening). That's why I've bumped codegen units for zed crate to 16 in release mode to keep build times in tact.
Piotr Osiewicz created
79a424f
Add Vue language server auto update (#9474)
For #9401 --------- Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Hans and Joseph T. Lyons created
192cd5f
Fix file git status refresh on .gitignore update (#9466)
This PR fixes file name coloring in the project panel and tabs when .gitignore file is updated. It's intended to fix #7831. There's another, less vivid, problem with git-aware labels coloring. It's about files that are both ignored and contained in the git index. I'll file a separate issue for it to keep this fix focused. Release Notes: - Fixed file Git status refreshing on .gitignore update (#7831).
Andrew Lygin created
1e1fb21
Merge prost dependecies (#9522)
This patch puts the prost, prost-build, and prost-types dependencies together and unifies their version. This improves organization a bit in addition to improving build time slightly, since a redundant version of prost is now removed. The dependencies are _not_ updated to the newest versions, because the newest versions add a dependency on the `protoc` application, which is not provided by cargo and thus breaks the building process.
Tobias Decking created
0c82585
Bump collab min version (#9521)
We made a change last week to allow creating files with names. This means some files have null saved_mtime, which old versions of zed panic on. A fix is available in 0.126.3 and above Release Notes: - N/A
Conrad Irwin created
d8e32c3
linux: scrolling improvements (#9103)
This PR adjusts scrolling to be a lot faster on Linux and also makes terminal scrolling work. For Wayland, it makes scrolling faster by handling the `AxisValue120` event (which also allows high-resolution scrolling on supported mice) On X11, changed the 1 line per scroll to 3. ### Different solutions I tried replicating Chromium's scrolling behaviour, but it was inconsistent in X11/Wayland and found it too fast on Wayland. Plus, it also didn't match VSCode, since it seems that they do something different. Release Notes: - Made scrolling faster on Linux - Made terminal scroll on Linux
apricotbucket28 created
c0f8581
Windows: implement symlink (#9508)
Since Windows has a distinction between symlinks for directories and symlinks for files, the implementation is adapted to this distinction. Release Notes: - N/A
白山風露 created
cd9b865
maintain channel subscriptions in RAM (#9512)
This avoids a giant database query on every leave/join event. Release Notes: - N/A
Conrad Irwin created
963618a
Upgrade Tree-sitter to handle high memory usage and memory errors in wasm parsers (#9518)
Fixes #8528 Release Notes: - Fixed a crash that could occur when editing certain SQL files. - Fixed a general class of crashes that could occur due to bugs in grammars added via extensions. Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
18fa84b
Fix panic loading language queries (#9506)
Release Notes: - Fixed a panic when loading a language with queries but no grammar
Conrad Irwin created
f738bfd
Don't panic on missing mtime (#9513)
This is expected as of zed 0.128 when a new unsaved file is created Release Notes: - Fixed a panic when collaborating with newer zed versions
Conrad Irwin created
afda188
ci: fixup typo (#9511)
Typoed in path in #9509 , mea culpa. Release Notes: - N/A
Piotr Osiewicz created
bce6fe4
chore/ci: Fix naming collision in release artifacts. (#9509)
Release Notes: - N/A
Piotr Osiewicz created