8a73bc4
Vim: enable sending multiple keystrokes from custom keybinding (#7965)
Click to expand commit body
Release Notes:
- Added `workspace::SendKeystrokes` to enable mapping from one key to a
sequence of others
([#7033](https://github.com/zed-industries/zed/issues/7033)).
Improves #7033. Big thank you to @ConradIrwin who did most of the heavy
lifting on this one.
This PR allows the user to send multiple keystrokes via custom
keybinding. For example, the following keybinding would go down four
lines and then right four characters.
```json
[
{
"context": "Editor && VimControl && !VimWaiting && !menu",
"bindings": {
"g z": [
"workspace::SendKeystrokes",
"j j j j l l l l"
],
}
}
]
```
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
N
and
Conrad Irwin
created
8f5d7db
First pass at making a linux keymap (#8082)
Click to expand commit body
Undoubtedly not perfect, but this should be something we can work off
of.
Note that matching keybindings with ctrl in them is currently broken on
linux (or at least x11). This keymap might just manage to be less useful
than using the macos one on linux until that is fixed... the proximate
cause of this is that the `key` field of the `Keystroke` struct looks
like `"\u{e}"` instead of `"n"` when `ctrl-n` is pressed.
Release Notes:
- N/A
gmorenz
created
389d26d
Linux(Wayland): translate enter and pageup/down from keysym (#8089)
Click to expand commit body
enter and pagedown/pageup weren't working now they do
Release Notes:
- N/A
b028231
linux/x11: disable Vulkan validation in Debug (#8044)
Click to expand commit body
Turns out this validation requirement is confusing new users.
Release Notes:
- N/A
Dzmitry Malyshau
created
f7d2cb1
Project search bar layout improvements (#7963)
Click to expand commit body
The PR matches project search layout with the recent changes in the
buffer project layout.
https://github.com/zed-industries/zed/assets/2101250/91b905ea-aed8-4740-9e60-67f3052885e2
Release Notes:
- Improve project search bar layout, match it with the buffer search bar ([7722](https://github.com/zed-industries/zed/issues/7722))
Andrew Lygin
created
78dcd72
Fix display of links in lists (markdown_preview) (#8073)
Click to expand commit body

Release Notes:
- Fixed display of long links in lists not fully visible in markdown
preview.
With `send_and_check_request` we'd be blocking both the main loop and
the caller. `send_request` is only going to be blocking on the main loop
when processing the request.
Release Notes:
- N/A
Based on a flamegraph from `perf`/`hotspot`, we are spending 40% of time
redrawing, another 40% of time downloading stuff (i.e. rust toolchain),
and the rest on text rendering, layout and such. This is with Vulkan
Validation (see https://github.com/zed-industries/zed/pull/8044).
I'm also wondering if it would be better with #7758, but regardless we
should have no problem rendering at 60-120 fps and processing user
input. More follow-ups are expected here.
Following up to #8079, this PR changes the default Markdown tab size to
2 spaces.
This should produce less surprising formatting for lists when using
Prettier.
Release Notes:
- Changed default Markdown tab size to 2 spaces.
This PR sets the `tab_size` for Markdown to 2 spaces.
This should prevent Prettier from adding a bunch of leading whitespace
when formatting Markdown lists.
Release Notes:
- N/A
This PR bumps the tree-sitter-nu commit to the latest supported by the
nushell team. It also includes the latest highlights.scm
Release Notes:
Bumped `nu` tree sitter dependency and highlights.scm
Darren Schroeder
created
0a40a21
Timeout while waiting for server to shutdown and kill it
Release Notes:
- Improved reliability of following
Conrad Irwin
created
db0eaca
Rename scrollbar_thumb to be consistent with other style properties (#8004)
Click to expand commit body
This small inconsistency was mentioned on the discord. This fixes it.
Release Notes:
- Themes: Renamed `scrollbar_thumb.background` to
`scrollbar.thumb.background` to be consistent with other style
properties.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Philipp Schaffrath
and
Marshall Bowers
created
80db468
go: better logging if `go install gopls` fails (#8060)
Click to expand commit body
Release Notes:
- Improved logging if installing `gopls` fails
Thorsten Ball
created
0d2ad67
Add settings to configure terminal scroll limit (#8063)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/7550
Also set maximum allowed to runnables' terminals.
Release Notes:
- Added settings to configure terminal scroll limit
([7550](https://github.com/zed-industries/zed/issues/7550))
Kirill Bulatov
created
7065d6c
Use proper template for initial runnables config contents (#8064)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
6c714c1
Fix markdown preview heading overflows no wrap (#8052)
@ConradIrwin here's our current implementation for auto detecting links
in the chat.
We also fixed an edge case where the close reply to preview button was
cut off (rendered off screen).
Release Notes:
- Added auto detection for links in the chat panel.
---------
Co-authored-by: Remco Smits <62463826+RemcoSmitsDev@users.noreply.github.com>
Bennet Bo Fenner
and
Remco Smits
created
1e44bac
Add Ruby method visibility in outline view (#7954)
aad7761
Add an indicator to the channel chat to see all the messages that you missed (#7781)
Click to expand commit body
This pull requests add the following features:
- Show indicator before first unseen message
- Scroll to last unseen message
<img width="241" alt="Screenshot 2024-02-14 at 18 10 35"
src="https://github.com/zed-industries/zed/assets/62463826/ca396daf-7102-4eac-ae50-7d0b5ba9b6d5">
https://github.com/zed-industries/zed/assets/62463826/3a5c4afb-aea7-4e7b-98f6-515c027ef83b
### Questions:
1. Should we hide the indicator after a couple of seconds? Now the
indicator will hide when you close/reopen the channel chat, because when
the last unseen channel message ID is not smaller than the last message
we will not show it.
Release Notes:
- Added unseen messages indicator for the channel chat.
Remco Smits
created
0422d43
Linux: Add support for MouseButton::Navigate in GPUI (wayland and x11) (#7996)
Click to expand commit body
Release Notes:
- N/A
Based on wgpu implementation (which I wrote).
---------
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
fddb778
Enable server side decorations on wayland (#8037)
Click to expand commit body
This PR enables server side decorations on Wayland if possible. This is
stopgap solution, so that the window can be moved, resized and dragged
on Wayland sessions at all.

Since Wayland compositors can decide to force either mode (as in,
forcing server or client side decorations), this requires additional
handling in zed. Since zed doesn't provide any of that handling as of
now, as a temporary solution server side decorations are always
requested.
Janrupf
created
77974a4
Stubbing unix-dependent values on Windows (#8036)
Click to expand commit body
Release Notes:
- N/A
白山風露
created
0037f0b
Avoid dependencies build errors on Windows (#7827)
Click to expand commit body
This is a compilation of fixes for errors that appeared in dependent
crates in Windows.
- wezterm (zed-industries/wezterm#1)
- tree-sitter-svelte (Himujjal/tree-sitter-svelte#54)
- tree-sitter-uiua (shnarazk/tree-sitter-uiua#25)
- tree-sitter-haskell (I sent a PR, but upstream source is regenerated
and no longer errors.)
Release Notes:
- N/A
白山風露
created
37f6a70
Invalidate Linux build caches more agressively (#8031)
Click to expand commit body
We run Linux CI on regular GitHub Action runners, which have ~30GB of
disk space. This is nothing for Rust builds and, due to Cargo.lock
perturbations, we tend to accumulate enough artifacts to fill the disk
entirely since `restore-keys` alowed to keep the cache for different
lockfiles.
Instead, try to invalidate the cache more aggressively (which will cost
us more frequent ~30min Linux CI runs) to see how this will work in
comparison.
Release Notes:
- N/A
This is my first contribution, feedback is welcome.
Release Notes:
- Added Dart language support
([#5343](https://github.com/zed-industries/zed/issues/5343)).
Fixes: #7748
Release Notes:
- Fixed a bug where keystrokes could be lost after focus changes
([#7748](https://github.com/zed-industries/zed/issues/7748)).
Co-authored-by: Antonio <as-cii@zed.dev>
Conrad Irwin
and
Antonio
created
99559f3
Add another runnables_ui/Cargo.toml field to satisfy license checks
Part of #7108
This PR includes just the static runnables part. We went with **not**
having a dedicated panel for runnables.
This is just a 1st PR out of N, as we want to start exploring the
dynamic runnables front. Still, all that work is going to happen once
this gets merged.
Release Notes:
- Added initial, static Runnables support to Zed. Such runnables are defined in
`runnables.json` file (accessible via `zed: open runnables` action) and
they can be spawned with `runnables: spawn` action.
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Pitor <pitor@zed.dev>
Co-authored-by: Beniamin <beniamin@zagan.be>
Piotr Osiewicz
,
Kirill Bulatov
,
Pitor
, and
Beniamin
created
ca251ba
Drop `Box<dyn PlatformWindow>` when the OS closes the native window (#8016)
Click to expand commit body
Closes #7973
This fixes a leak in GPUI when the user didn't override
`on_should_close_window`.
Release Notes:
- N/A
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
As the ui for the file finder was recently changed in #7364, I think it
makes sense to also update the ui of the recent projects overlay.
Before:

After:

Release Notes:
- Improved UI of recent project overlay
Release Notes:
- N/A
---
Right now the Wayland backend is using `xkb::State::key_get_utf8` as the
`key`, when it should be used as the `ime_key`. It also manages
pressing/releasing modifiers manually when this should be managed by the
display server.
This allows modifier combinations to work in more cases, making it an
alternative to https://github.com/zed-industries/zed/pull/7975, which
interprets what is now only used as the `ime_key` value as a `key`
value.
This PR adds support for fractional scaling on Wayland.
Release Notes:
- N/A
Roman
created
4e1e26b
blade: Fix initialization of atlas textures used for path rasterization (#8000)
Click to expand commit body
Generally the BladeAtlas logic has been deferring all the texture
initializations and updates till `begin_frame`. This doesn't work for
path rasterization, since a texture needs to be allocated after
`begin_frame` and used immediately.
Fixed validation error:
> UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(ERROR / SPEC):
msgNum: 1303270965 - Validation Error: [
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0:
handle = 0x60ce301b9010, name = main, type =
VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0x51820000000007b,
name = atlas, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x4dae5635 |
vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] command buffer
VkCommandBuffer 0x60ce301b9010[main] expects VkImage
0x51820000000007b[atlas] (subresource: aspectMask 0x1 array layer 0, mip
level 0) to be in layout VK_IMAGE_LAYOUT_GENERAL--instead, current
layout is VK_IMAGE_LAYOUT_UNDEFINED.
Objects: 2
[0] 0x60ce301b9010, type: 6, name: main
[1] 0x51820000000007b, type: 10, name: atlas
Release Notes:
- N/A
Dzmitry Malyshau
created
12b12ba
Add syntax highlighting and LSP for Dockerfiles(#6905) (#7977)
Click to expand commit body
Release Notes:
- Added Dockerfile syntax highlighting and LSP support
---------
Co-authored-by: Bryce Palmer <bpalmer@redhat.com>
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>