2d83580
linux: enable test TextSystem (#9037)
Click to expand commit body
Make text tests work on linux.
Rom Grk created
2d83580
linux: enable test TextSystem (#9037)
Make text tests work on linux.
Rom Grk created
a90a667
Windows: Add document (#8948)
Release Notes: - N/A
白山風露 created
35c7b5d
Add vulkan linux dependency (#8932)
Release Notes: - Fixed ([#8934](https://github.com/zed-industries/zed/issues/8934)). Optionally, include screenshots / media showcasing your addition that can be included in the release notes. **or** - N/A Signed-off-by: pigletfly <wangbing.adam@gmail.com>
Bing Wang created
ffebe2e
Initial Linux nightly bundles upload (#8913)
Changes Zed CI to build and upload Linux nightly bundles.
* `todo!(linux)` are replaced with `TODO linux` to make `todo!`-based
workflows more convenient
* renames `run-build-dmg` label into `run-bundling`, also renames a few
GH Actions entries to be more generic
* make another upload path for Linux, which keeps a separate file with SHA to version the nightly artifact.
* adds a `*.deb` package building with a couple of caveats, marked with
new `TODO linux` entries:
1. `cargo-bundle` is not very flexible, so it generates artifacts with
the structure and names that we're unable to alter before/during the
generation.
For that, a set of extra steps is made by repacking the *.deb package —
this is not very portable between different Linux distros, so later one
needs to find a way to combine multiple package types in this script.
2. `cargo-bundle` is not able to properly generate the *.msi bundle
despite declaring it in the features:
https://github.com/burtonageo/cargo-bundle/issues/116
Windows needs to invent its own way of bundling or fix the tool.
3. Both `cli` and `zed` binaries are added into the archive under
`/usr/local/bin/` path with their `-$channel` suffix
(-nightly/-preview/-dev/-stable) and a `/usr/local/bin/zed ->
/usr/local/bin/cli-nightly` symlink is made to make CLI work as Zed
launcher:
```
~/work/zed kb/linux-nightly:origin/kb/linux-nightly* ❯ dpkg -c target/zed_amd64.deb
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/local/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/local/bin/
-rwxr-xr-x allaptop/allaptop 8746832 2024-03-06 00:53 ./usr/local/bin/cli-nightly
-rwxr-xr-x allaptop/allaptop 689078560 2024-03-06 00:53 ./usr/local/bin/zed-nightly
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/applications/
-rw-r--r-- allaptop/allaptop 153 2024-03-06 00:53 ./usr/share/applications/zed.desktop
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/hicolor/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/apps/
-rw-r--r-- allaptop/allaptop 716288 2024-03-06 00:53 ./usr/share/icons/hicolor/1024x1024@2x/apps/zed.png
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/
drwxr-xr-x allaptop/allaptop 0 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/apps/
-rw-r--r-- allaptop/allaptop 239870 2024-03-06 00:53 ./usr/share/icons/hicolor/512x512/apps/zed.png
lrwxrwxrwx allaptop/allaptop 0 2024-03-06 00:53 ./usr/local/bin/zed -> /usr/local/bin/cli-nightly
```
But the CLI does not work under Linux yet and there's no way to install
that CLI from Zed now; Zed binary itself is not able to open
`file/location:12:34`-like things and set up the env properly, but is
able to start or open a directory.
So, this structure can be considered temporary and changed, if needed.
4. Zed Nightly on Linux does not know how to update itself, so all
nightly publishing is not picked up automatically.
5. Rust cache from `main` builds does not get shared between CI jobs,
due to being run in a different CI job that forms a different CI key, so
```
- name: Cache dependencies
uses: swatinem/rust-cache@v2
with:
save-if: ${{ false }}
```
would not work.
This makes Linux bundling jobs long.
Release Notes:
- N/A
Kirill Bulatov created
e85f190
Fix 0 notes versions being always unread (#9030)
Co-Authored-By: Max <max@zed.dev> Co-Authored-By: Nathan <nathan@zed.dev> Release Notes: - Fixed empty notes always showing as unread Co-authored-by: Max <max@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
Conrad Irwin , Max , and Nathan created
284a57d
Fix panic in open urls (#9032)
Co-Authored-By: Nathan <nathan@zed.dev> Release Notes: - N/A Co-authored-by: Nathan <nathan@zed.dev>
Conrad Irwin and Nathan created
9068911
wayland: don't dispatch modifier key events (#9027)
Modifier keys are dispatched as events on wayland, unlike macos. This prevents pending bindings from matching, because something like e.g. `g shift-e` is received by the key matcher as `g shift shift-e`.
Rom Grk created
27518f4
Fix extension store test failure on main due to wasi-sdk download
Max Brunsfeld created
86748a0
Denormalize buffer operations (#9026)
This should significantly reduce database load on redeploy. Co-Authored-By: Max <max@zed.dev> Co-Authored-By: Nathan <nathan@zed.dev> Release Notes: - Reduced likelihood of being disconnected during deploys Co-authored-by: Max <max@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
Conrad Irwin , Max , and Nathan created
b5370cd
Remove git_commit syntax highlighting from core Zed (#9025)
Fallback to extension https://github.com/zed-industries/extensions/pull/307 Release Notes: - Remove git_commit syntax highlighting from Zed core, `git-firefly` extension replaced that Co-authored-by: William Desportes <williamdes@wdes.fr> Co-authored-by: Kirill Bulatov <mail4score@gmail.com> Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
d1y , William Desportes , Kirill Bulatov , and Marshall Bowers created
85e6bc9
Enable `clippy::suspicious_to_owned` (#9004)
Another small change: calling to owned on the `Cow` was cloning the `Cow`, not its contents and so calling `clone` makes this more explicit
Kirpal Grewal created
105e654
Include `font_features` in cache key for fonts (#8928)
## Release Notes - Fixed font ligatures not always respecting the setting ([#4313](https://github.com/zed-industries/zed/issues/4313)). ## Preview 
Yesterday17 created
6b89842
Pluralize and order user menu items for consistency (#9013)
Release Notes: - N/A
Max created
bc7fb9f
Show tooltip with item paths for recent project picker items (#8987)
Before  After  Release Notes: - Fixed empty tooltip for recent projects picker items
Jason Lee created
d450fde
language: Track buffer dirty state based on edits, not on file contents
Piotr Osiewicz created
4c9c9df
Add ZED_SELECTED_TEXT variable to tasks (#8865)
Tasks are able to access a users selected text using the environment variable "ZED_SELECTED_TEXT". Release notes: - Added ZED_SELECTED_TEXT task variable which contains contents of selection
Anthony Eid created
3a9ec90
task: make ZED_FILE return abs path, for real this time (#9000)
Release Notes: - Fixed ZED_FILE environment variable containing a relative path, not an absolute one.
Piotr Osiewicz created
01fe3ee
Fix project panel icon bouncing when renaming (#8988)
I found the project panel icon has a little bounce when I tried to rename some files. Release Notes: - Fix project panel icon bouncing when renaming. ## Before https://github.com/zed-industries/zed/assets/28998859/76f04c33-da68-40e2-9c83-045e78187679 **Set `buffer_line_height` to `standard`** https://github.com/zed-industries/zed/assets/28998859/9a9eca93-5fda-4060-ba1d-0cd4e0486eb8 ## After https://github.com/zed-industries/zed/assets/28998859/29b49f1c-a9ae-4281-8921-8f1d8dd74262 **Set `buffer_line_height` to `standard`** https://github.com/zed-industries/zed/assets/28998859/8f1ccbb5-fe0e-4905-97c4-cb7431e5dc46
Floyd Wang created
0a07746
Delete tasks.md
Moved documentation to zed.dev
Joseph T. Lyons created
026cdc6
Update tasks.md
Joseph T. Lyons created
4238793
Add `[x`/`]x` to select larger/smaller syntax node in Vim (#8985)
`[x` will select the larger syntax node, `]x` the smaller one. Inspired by https://github.com/tpope/vim-unimpaired. Release Notes: - Added `[x` and `]x` as default keybindings in Vim mode to select larger and smaller syntax nodes respectively.
Thorsten Ball created
1a93870
Only 5s of data! (#8983)
This is still 200Mb in production, and takes several minutes to process and download. Release Notes: - N/A
Conrad Irwin created
4f53e6e
Update cargo.lock
Conrad Irwin created
75a42c2
Migrate from scrypt to sha256. (#8969)
This reduces the server time to compute the hash from 40ms to 5µs, which should remove this as a noticable chunk of CPU time in production. (An attacker who has access to our database will now need only 10^54 years of CPU time instead of 10^58 to brute force a token). Release Notes: - Improved sign in latency by 40ms.
Conrad Irwin created
4d2156e
Improved message hovering in chat panel (#8977)
Highlights messages on hover and fixed a more concise position for the popover menu button. Before: https://github.com/zed-industries/zed/assets/146845123/39cab30f-659f-4164-a4ac-1dfee796e016 <img width="368" alt="Screenshot 2024-03-07 at 01 08 24" src="https://github.com/zed-industries/zed/assets/146845123/74f41243-2dc2-4839-a733-9db3109e4665"> <img width="313" alt="Screenshot 2024-03-07 at 01 04 39" src="https://github.com/zed-industries/zed/assets/146845123/f66c764d-488a-4303-b66e-f75835df6949"> After: https://github.com/zed-industries/zed/assets/146845123/ac059c0d-7b16-4fd5-bbd7-ca96e1a6dfe1 <img width="368" alt="Screenshot 2024-03-07 at 01 09 42" src="https://github.com/zed-industries/zed/assets/146845123/fa8940f6-52b4-489d-b0d3-d0e9443e2de2"> <img width="313" alt="Screenshot 2024-03-07 at 01 04 31" src="https://github.com/zed-industries/zed/assets/146845123/850226f3-2c70-4a90-bb35-4a4cb0b7a219"> Thank you for the help @ConradIrwin and @RemcoSmitsDev ! Release Notes: - Improved message hovering in chat panel
Evren Sen created
9481b34
Fix issue template formatting (#8866)
Release Notes: - N/A Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
L and Joseph T. Lyons created
8a92d28
Remove `todo!` comments (#8981)
Switching fully to normal `todo` style Release Notes: - N/A
Mikayla Maki created
8be4b4d
Support emoji shortcodes in chat (#8455)
Completes: https://github.com/zed-industries/zed/issues/7299 Suggestions https://github.com/zed-industries/zed/assets/53836821/2a81ba89-4634-4d94-8370-6f76ff3e9403 Automatically replacing shortcodes without using the completions (only enabled when `message_editor` > `auto_replace_emoji_shortcode` is enabled in the settings): https://github.com/zed-industries/zed/assets/53836821/10ef2b4b-c67b-4202-b958-332a37dc088e Release Notes: - Added autocompletion for emojis in chat when typing emoji shortcodes ([#7299](https://github.com/zed-industries/zed/issues/7299)). - Added support for automatically replacing emoji shortcodes in chat (e.g. typing ":wave:" will be converted to "👋") --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Bennet Bo Fenner and Conrad Irwin created
c0edb5b
GPUI custom window prompts (#8980)
This adds a GPUI fallback for window prompts. Linux does not support this feature by default, so we have to implement it ourselves. This implementation also makes it possible for GPUI clients to override the platform prompts with their own implementations. This is just a first pass. These alerts are not keyboard accessible yet, does not reflect the prompt level, they're implemented in-window, rather than as popups, and the whole feature need a pass from a designer. Regardless, this gets us one step closer to Linux support :) <img width="650" alt="Screenshot 2024-03-06 at 5 58 08 PM" src="https://github.com/zed-industries/zed/assets/2280405/972ebb55-fd1f-4066-969c-a87f63b22a6f"> Release Notes: - N/A
Mikayla Maki created
c8e03ce
Wayland: Support integer scaling without wp_fractional_scale (#8886)
Release Notes: - N/A `DoubleBuffered` is not currently very necessary because we only care about a single field `OutputState::scale` but I think it can be useful for other objects as it's a fairly common pattern in wayland.
bbb651 created
74e7611
windows: get current display size (#8916)
For the moment the windows port has a single display with hard-coded values. This first PR is just to at least fetch the **actual size of the current display**. The idea is using this code as a first template to start getting familar with the code base and prepare the work for enumerating all displays.
intigonzalez created
0b87be7
Make anchor_in_excerpt Optional (#8975)
We were seeing panics due to callers assuming they had valid excerpt_ids, but that cannot easily be guaranteed across await points as anyone may remove an excerpt. Release Notes: - Fixed a panic when hovering in a multibuffer
Conrad Irwin created
ae5ec92
Small fixes to task modal & long commands (#8974)
* Show the entire task tooltip on terminal tab hover: <img width="979" alt="Screenshot 2024-03-07 at 01 40 56" src="https://github.com/zed-industries/zed/assets/2690773/bc274a5c-70f6-4f3d-87b4-04aff3594089"> * Scroll to the end of the query when a menu label is reused as a query: <img width="658" alt="Screenshot 2024-03-07 at 01 41 03" src="https://github.com/zed-industries/zed/assets/2690773/972857f4-36db-49dc-8fa1-dd15e0470660"> Release Notes: - Improved task modal UX with long bash-like commands
Kirill Bulatov created
ca37d39
add a script to get a flamegraph of collab in production (#8972)
Add `./script/collab-flamegraph` so you can profile in production (or staging) Release Notes: - N/A
Conrad Irwin created
675ae24
Add a command for building and installing a locally-developed Zed extension (#8781)
This PR adds an `zed: Install Local Extension` action, which lets you select a path to a folder containing a Zed extension, and install that . When you select a directory, the extension will be compiled (both the Tree-sitter grammars and the Rust code for the extension itself) and installed as a Zed extension, using a symlink. ### Details A few dependencies are needed to build an extension: * The Rust `wasm32-wasi` target. This is automatically installed if needed via `rustup`. * A wasi-preview1 adapter WASM module, for building WASM components with Rust. This is automatically downloaded if needed from a `wasmtime` GitHub release * For building Tree-sitter parsers, a distribution of `wasi-sdk`. This is automatically downloaded if needed from a `wasi-sdk` GitHub release. The downloaded artifacts are cached in a support directory called `Zed/extensions/build`. ### Tasks UX * [x] Show local extensions in the Extensions view * [x] Provide a button for recompiling a linked extension * [x] Make this action discoverable by adding a button for it on the Extensions view * [ ] Surface errors (don't just write them to the Zed log) Packaging * [ ] Create a separate executable that performs the extension compilation. We'll switch the packaging system in our [extensions](https://github.com/zed-industries/extensions) repo to use this binary, so that there is one canonical definition of how to build/package an extensions. ### Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Max Brunsfeld , Marshall , and Marshall Bowers created
e273198
Debounce language server updates (#8953)
We'll send at least one every 100ms, but may send more if other messages are sent on the connection. Release Notes: - Fixed some slowness when collaborating with verbose language servers.
Conrad Irwin created
af87fb9
Implement more GPUI services on windows. (#8940)
### Description This is a part of #8809 , impl the following functions: - `os_version` - `local_timezone` - `double_click_interval` - `set_cursor_style` - `open_url` - `reveal_path` Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Small White and Mikayla Maki created
effc317
Fix project panel scrolling position restoration (#8961)
Project panel loses the last scrolling position every time the user hides/shows it. This PR fixes the problem. The reason of the problem is that `UniformListScrollHandle`, which is intended to store the scrolling position between redrawings, is only used for ad-hoc autoscrollings to the list items, while the `interactivity.scroll_handle` that is responsible for the scrolling position, doesn't survive the project panel hiding. How the problem looks: https://github.com/zed-industries/zed/assets/2101250/7c7e3da6-9a9d-4f28-a181-ee9547349d4c Release Notes: - Fixed scrolling position restoration in the Project Panel.
Andrew Lygin created
6bbd09e
Emit the WorktreeUpdatedEntries event for all projects, not just local (#8963)
Fixes a regression introduced in https://github.com/zed-industries/zed/pull/8846 (which hasn't yet been released), in which the project panel didn't update correctly for remote projects when collaborating. Release Notes: - N/A
Max Brunsfeld created
06035da
windows: more frequent frame requests (#8921)
Note rust analyzer running in background now without keyboard/mouse movement.  Release Notes: - Improved frame rate on Windows
Ezekiel Warren created
8357039
Set the default DPI awareness for Zed (#8936)
### Description This is a part of #8809 Release Notes: - N/A
Small White created
59faef5
Update `mio` (#8935)
### Description This is a part of #8809 Update mio from 0.8.8 to 0.8.11. When using named pipes on Windows, mio will under some circumstances return invalid tokens that correspond to named pipes that have already been deregistered from the mio registry. The impact of this vulnerability depends on how mio is used. For some applications, invalid tokens may be ignored or cause a warning or a crash. On the other hand, for applications that store pointers in the tokens, this vulnerability may result in a use-after-free. ### Connections [named-pipes: fix receiving IOCP events after deregister #1760](https://github.com/tokio-rs/mio/pull/1760) [Windows Named pipes invalid memory access #6369](https://github.com/tokio-rs/tokio/issues/6369) Release Notes: - N/A
Small White created
a0fac38
prevent empty cwd in terminal view (#8924)
closes #8825 Release Notes: - N/A
Ezekiel Warren created
8352f39
Improve bindings to better match VS-Code (#8584)
Release Notes: - Changed default keybindings in the VS Code keymap so that `alt-[up|down]` now move lines up/down and`alt-shift-[up|down]` duplicate lines up/down. Previous bindings for selecting larger/smaller syntax nodes are now bound to `ctrl-shift-[left|right]`. ([#4652](https://github.com/zed-industries/zed/issues/4652))([#7151](https://github.com/zed-industries/zed/issues/7151)) --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Edvard Høiby and Thorsten Ball created
850dddd
v0.127.x dev
Joseph T. Lyons created
563c4db
Install perf tools in production containers (#8957)
Release Notes: - N/A
Conrad Irwin created
8eb0239
Remove console-subscriber (#8955)
It doubles CPU and RAM usage for not really enough benefit Release Notes: - N/A
Conrad Irwin created
deb86a1
Fix ./script/symbolicate on Preview crashes (#8956)
Release Notes: - N/A
Conrad Irwin created
b622dcb
Enable `clippy::cast_abs_to_unsigned` (#8912)
Thankfully this one is a simple, single change that also prevents overflow in the `abs()`
Kirpal Grewal created
2f15676
Update App Menus to add `...` for some modal action menu, and group menu items by type. (#8951)
Release Notes: - Improved App Menu, add `...` for modal action menu, and group menu items by type. In macOS and Windows, the `...` suffix of menu item, is means that will open a dialog.
Jason Lee created