Closes #12737 . Left before this PR, right after.

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

## 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)
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

Release Notes:
- A certain popular language recently had to work around a missing LSP
notification. This has been fixed
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
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)).
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>
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
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)


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


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

Release Notes:
- N/A
apricotbucket28
created
2922617
docs: Add tiny tweaks to the Linux page (#13994)
- 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>
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)
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
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
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
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)

Release Notes:
- N/A
Before | After

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
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
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>
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
7f50055
windows: Replace symlinks with files for TSX Tree-sitter queries (#13893)
Click to expand commit body
Previously to these changes, as stated in the issue, when someone tried
to use TSX as language for the file, the language was not set and it
disappeared from the selectable language list. This was due to the fact
that that the three files were symlinks, and windows couldn't read them.
I replaced them with normal files.
Fixes #12208.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>