Commit log

ba28827 Add support for numpad keys on linux (#14018)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/12117

Partial application of the changes in
https://github.com/zed-industries/zed/pull/13396

Release Notes:

- N/A

Mikayla Maki created

c22dbbe windows: Fix `tailwindcss-language-server` (#13891)

Click to expand commit body
We should run this server with `powershell`, or we will get some runtime
errors.

![Screenshot 2024-07-06
180154](https://github.com/zed-industries/zed/assets/14981363/e272e146-d4a8-4447-aa65-b657a49622de)


Release Notes:

- Fixed `tailwindcss-language-server` on Windows.

张小白 created

8f29ff8 windows: Fix font clipping issue (#13854)

Click to expand commit body
Closes #12737 . Left before this PR, right after.

![Screenshot 2024-07-05
180308](https://github.com/zed-industries/zed/assets/14981363/437baec3-2672-4b19-8595-17a6c564506e)


Release Notes:

- Fixed font rendering clipping issue on Windows.(#12737 )

张小白 created

ae414e2 gpui: Fix hide titlebar on Windows, with `titlebar: None` option (#13975)

Click to expand commit body
Release Notes:

- N/A

Ref the macOS Window:

When the `titlebar` is none, the titlebar should be hidden.


https://github.com/zed-industries/zed/blob/adaa4831766cde63b408909cf65cdeb1641e5888/crates/gpui/src/platform/mac/window.rs#L516-L528

```
cargo run -p gpui --example window_positioning
```

## Before


![img_v3_02ck_939c23d0-acc6-40c1-aaf7-c6dd73ddf7ag](https://github.com/zed-industries/zed/assets/5518/f2c7aa02-a102-4f24-8243-74219957d16b)

## After

<img width="466" alt="image"
src="https://github.com/zed-industries/zed/assets/5518/176ce4ea-14e9-44c8-8f2d-01e20ff3e543">

Jason Lee created

2dd4867 Reveal in files instead of Finder (#13432)

Click to expand commit body
fixes: #12776 

Release Notes:

- Renamed `editor::RevealInFinder` to `editor::RevealInFileManager`

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

francesco-gaglione and Mikayla Maki created

f44e81b Add more package managers to docs (#14015)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

c093bc8 Fix search/replace start of line anchor (#13920)

Click to expand commit body
This is related to #9428 

I noticed that doing a search and replace for the beginning of a line
`^` results in the trailing line being included in the search. This
seems to be because of the way the range is generated for generating
matches being the up to the start of the trailing line rather than up to
the end of the last line.

I added a test and took a stab at fixing it but it is a bit yolo as this
is the first time I've seen this codebase.

Andy Weiss created

09e7b48 lsp: Add support for ShowMessage notification (#14012)

Click to expand commit body
When "one newer language" sends these messages, "one newer editor" will
display a pop-up for users to see. :)

Related to https://github.com/gleam-lang/gleam/issues/3274


![image](https://github.com/zed-industries/zed/assets/24362066/00d2c168-59f0-4033-91c8-af29c47516b3)

Release Notes:

- A certain popular language recently had to work around a missing LSP
notification. This has been fixed

Piotr Osiewicz created

8cfa690 Fix transparency (#14010)

Click to expand commit body
Release Notes:

- (preview only) Fix transparent themes

Conrad Irwin created

3cdd465 gpui: Make style macros more composable (#14007)

Click to expand commit body
This PR begins the process of breaking up the `style_helpers!` macro
into smaller macros that can be used to generate methods for a related
subset of styles.

The style method macros also now accept an optional `visibility`
parameter to control the visibility of the generated methods. This
allows for adding these methods to a struct instead of a just a trait.

For example, to expose just the padding styles on a `Facepile` we can do
this:

```rs
impl Facepile {
    fn style(&mut self) -> &mut StyleRefinement {
        self.base.style()
    }

    gpui::padding_style_methods!({
        visibility: pub
    });
}
```

Release Notes:

- N/A

Marshall Bowers created

8203b68 windows: Remove more `todo`s (#13818)

Click to expand commit body
Release Notes:

- N/A

张小白 created

ce7074c Fix panic when opening the same context twice (#14004)

Click to expand commit body
Release Notes:

- Fixed a crash that occurred when opening the same context twice in the
assistant panel (preview-only).

Antonio Scandurra created

6cc8412 Prevent dumping of temporary files in config_dir (#14002)

Click to expand commit body
Move telemetry temp files from `config_dir` to `log_dir`. Fixes #7155 

- On MacOS: from `~/.config/zed` to `~/Library/Logs/Zed`
- On Linux: from `~/.config/zed` to `.local/share/zed/logs` (or
`$FLATPAK_XDG_DATA_HOME/zed/logs`).

Release Notes:

- Fixed telemetry putting temporary files in config_dir
([#7155](https://github.com/zed-industries/zed/issues/7155)).

Peter Tripp created

2a97aad Fix scrolling sticking to top (#13874)

Click to expand commit body
The problem seemingly was that scrolling only started after autoscroll
has finished. I have added a function to forcefully stop it, which I
call when scroll event happens
Release Notes:

- Fixed delay when changing scrolling direction (#13720)

---------

Co-authored-by: Piotr <piotr@zed.dev>

Stanislav Alekseev and Piotr created

275dd3f Remove extraneous `Cargo.lock` files (#14001)

Click to expand commit body
This PR removes some extraneous `Cargo.lock` files for the `storybook`
and `sqlez` crates.

These lockfiles were not used, as everything uses the workspace's
`Cargo.lock`.

Release Notes:

- N/A

Marshall Bowers created

3cb2a14 gpui_macros: Refactor style helpers (#13999)

Click to expand commit body
This PR refactors the style definitions in the `gpui_macros` style
helpers to use structs instead of tuples for additional clarity.

Release Notes:

- N/A

Marshall Bowers created

dd9b2e2 PR template: Make issue numbers double clickable (no brackets) (#13989)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

b691d1b Improve experience when themes provide transparent status colors (#13996)

Click to expand commit body
We shouldn't assume all themes will give us solid status color
backgrounds.

This change makes it so the status color renders on top of a normal
elevated surface background.

#### Before | After (Transparent status background color – Fixed)

![CleanShot 2024-07-09 at 10 50
17@2x](https://github.com/zed-industries/zed/assets/1714999/5f4b24c1-335a-4ed8-a1d0-f511e217e4a5)

![CleanShot 2024-07-09 at 10 50
31@2x](https://github.com/zed-industries/zed/assets/1714999/38c06533-bda5-4cfb-822a-ed5a9639fc33)

---

#### Before | After (Solid status background color – No change)

![CleanShot 2024-07-09 at 10 49
43@2x](https://github.com/zed-industries/zed/assets/1714999/bd60c807-a7bb-4f60-ab47-ddba17288e93)

![CleanShot 2024-07-09 at 10 49
58@2x](https://github.com/zed-industries/zed/assets/1714999/6ab27d60-5a77-448c-a23b-569b337f11e1)



Release Notes:

- Improved support for transparent status colors in themes.

Nate Butler created

bc0359a gpui: Input example log keystrokes (#13963)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

23c84f8 linux: Treat fullscreen as tiled on X11 and prevent resizing while maximized (#13990)

Click to expand commit body
Two quick fixes for issues I noticed:

1. Fullscreening an unmaximized X11 window still showed rounded window
corners and allowed resizing
2. Maximized windows still allowed for resizing on corners due to
missing checks

![image](https://github.com/zed-industries/zed/assets/71973804/47df4de2-4013-4e51-88c3-d33b52a909f5)


Release Notes:

- N/A

apricotbucket28 created

2922617 docs: Add tiny tweaks to the Linux page (#13994)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

9a523ef Fix keybind conflicts (atom mac/linux default) (#13988)

Click to expand commit body
- atom(mac): Cmd+j conflicts with `workspace: ToggleBottomDock` in
default map. Revert.
- default(linux): `ctrl-shift-t` conflict. Move
`project_symbols::Toggle` to `ctrl-t` to match vscode linux. Leave
`pane::ReopenClosedItem` at `ctrl-shift-t` to match vscode/chrome on
linux.
- Fixes #13973

Peter Tripp created

9b68865 Add a way to filter items in the outline panel (#13984)

Click to expand commit body
https://github.com/zed-industries/zed/assets/2690773/145a7cf2-332c-46c9-ab2f-42a77504f54f

Adds a way to filter entries in the outline panel, by showing all
entries (even if their parents were collapsed) that fuzzy match a given
query.

Release Notes:

- Added a way to filter items in the outline panel

Kirill Bulatov created

9a6f30f Snippets: Move snippets into the core of editor (#13937)

Click to expand commit body
Release Notes:

- Move snippet support into core editor experience, marking the official
extension as deprecated. Snippets now show up in any buffer (including
plain text buffers).

Piotr Osiewicz created

b3dad0b Revert "x11: Differentiate between mouse and keyboard focus #13943" (#13974)

Click to expand commit body
This reverts #13943 and reopens #13897 since the fix in #13943 comes
with a regression:

Sometimes Zed loses keyboard focus and can't be restored. I haven't
figured out yet exactly when and how this happens and can't reliably
reproduce it yet, but there's something off with focus handling.

One reliable way to reproduce _one_ of the problems:

1. Open two zed windows
2. Focus one Zed window
3. Hover with the mouse over the other
4. Try to type in the window that should still be focused

So, to be careful, I'm going to revert the PR first, since I couldn't
find an obvious fix yet. If we do find a fix, we can unrevert.


Release Notes:

- N/A

Thorsten Ball created

18d6be2 Add keyboard shortcuts for the prompts on Linux (#13915)

Click to expand commit body
This change adds ability to choose any action from prompts, not just the
default one and cancel as Zed has right now. For example, when a user
tries to close a file with edits in it the prompt offers "Don't save"
option that can be selected only with mouse. Now you can use arrows,
tab/shift-tab to pick action and enter/space to confirm it.

Fixes [#13906](https://github.com/zed-industries/zed/issues/13906)


Release Notes:

- Added keyboard navigation in the prompts on Linux
([#13906](https://github.com/zed-industries/zed/issues/13906)).


Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Aleksei Gusev and Thorsten Ball created

5e1c690 Add Nix/NixOS dev-shell (#13407)

Click to expand commit body
This PR adds a Nix/NixOS development-shell (`shell.nix`), which is based
on the upstream
[nixpkgs](https://github.com/NixOS/nixpkgs/blob/c5d4d458115263ec3ee0efd974e6aeb2f787a0ed/pkgs/by-name/ze/zed-editor/package.nix),
as well as its corresponding `flake.nix` file.

To use it, run either the `nix-shell` command (uses the `shell.nix`
file), or the newer but experimental `nix develop` command (uses
`flake.nix`)

~~This has not been tested on macOS, tho preliminary code is there to
try and support it, feel free to report any issues.~~ Zed unfortunately
doesn't build on nix-darwin (see
https://github.com/NixOS/nixpkgs/issues/320084), so this PR doesn't aim
to add darwin support.

---

Release Notes:

- N/A

---------

Signed-off-by: xtrm <oss@xtrm.me>
Co-authored-by: Niklas Korz <niklas@niklaskorz.de>

killian and Niklas Korz created

034d905 Allow vim counts with undo and redo (#13950)

Click to expand commit body
These were previously passed directly to the editor module, which knows
nothing about vim counts. Instead, implement new actions in the vim
module which take the count and use it to invoke the corresponding
action in the editor module, properly repeated.

Release Notes:

- Fixed vim undo and redo commands not taking counts.

Matt Fellenz created

0d7bd0c vim: Disable default ctrl-x/ctrl-w on linux (#13966)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

ed50dea Only clear selections when right click was performed outside of selection (#13701)

Click to expand commit body
Release Notes:

- Fixed selections being cleared when right-click was performed outside
of a selection
([#4267](https://github.com/zed-industries/zed/pull/13701)).

<img width="1136" alt="Screenshot 2024-07-01 at 16 53 58"
src="https://github.com/zed-industries/zed/assets/43210583/082bfb0a-c679-4e87-a4e8-7dd751d8f4a2">

Stanislav Alekseev created

5c95d28 Ensure people who hit /linux directly have the right instructions (#13959)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

05e2e4d Send IME-supported key downs (#13964)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

30479bf Improve window decorations: check for compositor support (#13822)

Click to expand commit body
Adds the `compositor_support` to the `X11WindowState` struct so that
correct window decorations are selected

Release notes:

- N/A

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Sebastijan Kelnerič , Thorsten Ball , and Conrad Irwin created

a40a16a zsh instructions too (#13944)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

2e7db8f Add mouse handling to gpui input example (#13960)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

b0ecda6 x11 calloop 2 (#13955)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>

Conrad Irwin and Max created

efc2336 title_bar: Factor out collab-related code into `collab` module (#13957)

Click to expand commit body
This PR refactors the `TitleBar` component to move all of the
collab-related code into the `collab` module.

This simplifies the top-level `Render` implementation of `TitleBar` by a
lot and makes it easier to read.

Release Notes:

- N/A

Marshall Bowers created

9e36a66 ui: Add `NumericStepper` component (#13954)

Click to expand commit body
This PR adds a `NumericStepper` component that can be used to display a
numeric value along with controls to increment, decrement, and reset the
value.

The `ApplicationMenu` has been updated to use the `NumericStepper` for
adjusting the buffer and UI font size.

Here it is in action:


https://github.com/zed-industries/zed/assets/1486634/03cffe67-1256-4283-aa3d-560fffa06dad

Note: Due to the way we do font adjustments, once modified the reset
button will be displayed until it is clicked (or the font size
adjustment is otherwise reset). Simply returning to the original value
will currently not hide the reset button.

Release Notes:

- N/A

Marshall Bowers created

97f3153 Linux docs (#13945)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Conrad Irwin , Mikayla Maki , and Marshall Bowers created

0b6ef99 wayland: Implement `activate()` API and use portals to open URLs and paths (#13336)

Click to expand commit body
This PR consists of two main changes:
1. The first commit changes the `open` crate for opening URLs/paths for
the `OpenURI` desktop portal. This fixes the activation token not being
passed to programs (at least on KDE).
2. The second commit implements the window `activate()` API on Wayland.
This allows KWin and Mutter to show a visual indicator when the window
is requesting attention. (see
https://github.com/zed-industries/zed/issues/12557)

![image](https://github.com/zed-industries/zed/assets/71973804/ce148f8e-28fd-4249-8f8d-3a5828ed6f83)


Release Notes:

- N/A

apricotbucket28 created

414cff5 One Dark Updates (#13777)

Click to expand commit body
Before | After

![CleanShot 2024-07-03 at 10 25
24@2x](https://github.com/zed-industries/zed/assets/1714999/7b355217-7dcf-416a-8b6f-63a12d3f2ea7)

Release Notes:

- Improved contrast between some items in the One Dark theme.

Nate Butler created

2925f3d Rename `ui_text_field` crate to `ui_input` (#13949)

Click to expand commit body
This PR renames the `ui_text_field` crate to `ui_input` to make it a bit
more generic.

We'll likely end up with multiple kinds of input components in this
crate.

Release Notes:

- N/A

Marshall Bowers created

1a0242e Add story for `ApplicationMenu` (#13948)

Click to expand commit body
This PR adds a story for the `ApplicationMenu` so it can be viewed in
isolation.

<img width="664" alt="Screenshot 2024-07-08 at 4 45 24 PM"
src="https://github.com/zed-industries/zed/assets/1486634/dca3dd32-4845-4009-b781-b4bac9ba6049">

Release Notes:

- N/A

Marshall Bowers created

ea9ba68 title_bar: Factor out application menu into its own component (#13947)

Click to expand commit body
This PR factors out the application menu in the title bar into its own
component.

Release Notes:

- N/A

Marshall Bowers created

af697d9 Better tooltips for back/forward (#13946)

Click to expand commit body
Fixes #8459

Peter Tripp created

75377bb x11: Differentiate between mouse and keyboard focus (#13943)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/13897

Release Notes:

- N/A

apricotbucket28 created

032b203 Separate out macOS and Linux keymaps (#13792)

Click to expand commit body
Release Notes:

- Added Linux-Specific keymaps for JetBrains, Atom and Sublime Text
- Improved MacOS-specific keymaps for JetBrains and Atom
- Improved Linux default keymap (VSCode compatibility)
- Windows now uses same keymap as Linux

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Mikayla Maki and Peter Tripp created

f555f66 clojure: Bump to v0.0.3 (#13935)

Click to expand commit body
This PR bumps the Clojure extension to v0.0.3.

Changes:

- https://github.com/zed-industries/zed/pull/13914
- https://github.com/zed-industries/zed/pull/13933

Release Notes:

- N/A

Marshall Bowers created

d3f869a scripts/flatpak: Escape XML characters in convert-release-notes.py (#13801)

Click to expand commit body
Resolves #13791

Release Notes:

- N/A

Joey Riches created

c617d48 clojure: Upgrade `zed_extension_api` to v0.0.6 (#13933)

Click to expand commit body
This PR upgrades the Clojure extension to use v0.0.6 of the
`zed_extension_api`.

Release Notes:

- N/A

Marshall Bowers created