1fbc041
Move `lints` section to the top of `Cargo.toml`, to match the others
Marshall Bowers created
1fbc041
Move `lints` section to the top of `Cargo.toml`, to match the others
Marshall Bowers created
2f892e3
Improve drop targets (#10643)
This introduces multiple improvements to the drop targets. ## Hitbox shape Currently, hitboxes are rectangles, where the vertical ones reach all the way to the ends, which reduces the space for the horizontal ones, making the hitboxes a bit awkward in the corners. This new approach just determines the closest side. Visual representation:  ## Hitbox size The width of the hitbox was currently always 8 rem all around. In setups with many columns or rows, or when the font size was very large, this could potentially overlap the center hitbox, not allowing to drop a tab without another split. Now the width of the hitboxes are a fraction of the smaller size of its parents width and height. This makes sure the hitboxes have the same width all around, but never fully block the center hitbox. I've also made this value configurable through the new `drop_target_size` config which takes a `f32` fraction and is set to 0.2 by default. Not sure if this is worth mentioning, but this technically allows to remove the split hitboxes all together by setting it to `0.0`, or removing the center hitbox by setting it to any value `>=0.5`. Not that this is necessary, but it would be possible now. ## Larger visualization The visual overlay when using one of the side hitboxes were also `8em` wide. Since their logical size now changed, and it can't currently be represented with GPUI (without abusing the `canvas` element), I made the visual feedback take half of the width or height of the available space, just like how other editors do this. Also, the opacity/alpha value set by a theme is currently ignored. This change now respects the themes opacity for it! ## Respect alpha value Currently, the alpha value of `drop_target.background` is ignored. Even the default themes set a value that is overwritten by a hard coded value. I have removed this hard coded value and it now respects the alpha value. This change affects existing themes, see https://github.com/zed-industries/zed/pull/10643#issuecomment-2059641528 ## ~~No more lag while dragging over gutter~~ Extracted into #10737 ~~It looks like the editor had a small optimization to drop events when hovering the gutter. This also happens while dragging a tab over the gutter, and causes some stuttering. Please correct me if this wasn't just a small optimization, but I could not derive a different reason for this code to exist.~~ Here is a video that tries to show all those changes with a before on the left, and the after on the right: https://github.com/zed-industries/zed/assets/1282767/f97f3420-513f-410f-a1c8-7966429ad348 Release Notes: - Added `drop_target_size` setting. This should be a fractional percent (e.g., `0.5`). - Improved the hitboxes for drop targets. - Updated drop targets to respect the alpha channel of the `drop_target.background` color.
Philipp Schaffrath created
5c3e5cc
windows: Support emoji inputs (#10125)
To work properly, needs #10119 to be merged. https://github.com/zed-industries/zed/assets/14981363/2bb0c51b-6c70-4b29-8baa-302fb4fb9e89 Release Notes: - N/A
张小白 created
11a3d2b
windows: Introduce `Direct Write` (#10119)
This PR brings `Direct Write` to Zed. Now, Zed first trys to query dwrite interface, if not supported, which means runing on Windows below win10 1703), will choose `cosmic` as a fallback text system. This direct write text system supports: - Full font features support - Emoji support - Default system fonts as fallback ### Font features https://github.com/zed-industries/zed/assets/14981363/198eff88-47df-4bc8-a257-e3acf81fd61d ### Emoji  **Note: input emoji through IME or IMM not working yet, copy paste emoji works fine (will be fixed by #10125 )** ### Font fallback I use `Zed mono` which dose not support chinese chars to test font fallback https://github.com/zed-industries/zed/assets/14981363/c97d0847-0ac5-47e6-aa00-f3ce6d1e50a5 Release Notes: - N/A
张小白 created
1127b1a
glsl: Bump to v0.1.0 (#10734)
This PR bumps the GLSL extension to v0.1.0. Changes: - #10694 Release Notes: - N/A
Marshall Bowers created
c550555
glsl: Add glsl_analyzer (LSP) (#10694)
<img width="691" alt="image" src="https://github.com/zed-industries/zed/assets/2588851/c5e02d12-d1e4-4407-971c-72de7e6599f0"> @mikayla-maki the extension lists you as the original author. Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
jansol and Marshall Bowers created
a202499
markdown preview: Update channel notes when other collaborator changes buffer (#10718)
https://github.com/zed-industries/zed/assets/53836821/9a57885e-83b0-49fb-b3a8-0a7868566b85 Release Notes: - Markdown preview now re-renders when another collaborator changes the content of channel notes
Bennet Bo Fenner created
c2428f9
git blame: Parse permalinks client side (#10714)
Release Notes: - N/A
Thorsten Ball created
d5c5394
Open exactly one terminal on `workspace::NewTerminal` action (#10721)
Fixes https://github.com/zed-industries/zed/issues/4567 Release Notes: - Fixed multiple terminals being opened on `workspace::NewTerminal` calls ([4567](https://github.com/zed-industries/zed/issues/4567))
Kirill Bulatov created
bb97432
Add minimum column option to git inline blame (#10682)
Release Notes:
- Added a setting to determine the minimum column where the inline blame
information is shown. Example: `{{"git": {"inline_blame": {"min_column":
80}}}` ([#10555](https://github.com/zed-industries/zed/issues/10555)).
Demo Video:
https://github.com/zed-industries/zed/assets/1185253/61343dbe-9002-4bd1-b0d4-403f8da79050
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Shreekar Halvi and Thorsten Ball created
1b75f9d
Add a setting to show/hide the project panel button in the status bar (#10707)
### What?
A setting has been added to control the visibility of the Project Panel
button in the status bar.
### Why?
I don't tend to use the Project Panel, but use a keyboard shortcut to
access if needed. Thus, the button in the status bar provides me little
more than visual clutter. Additionally, there is precedent for this
configurability with other panels (collaboration, chat, notification,
terminal, etc).
Release Notes:
- Added a setting to show/hide the Project Panel button in the status
bar. `{"project_panel": {"button": false}}`
David Baldwin created
4c3178e
Have the CI server draft the release notes (#10700)
While I don't expect these to be useful for our weekly minor releases, I hope that this will save a step for people doing mid-week patches. Release Notes: - N/A
Conrad Irwin created
41c8f2c
Attempt to fix segfault in window drop (#10690)
By default NSWindow's release themselves when closed, which doesn't interact well with rust's lifetime system. Disable that behaviour, and explicitly release the NSWindow when the window handle is dropped. Release Notes: - Fixed a (rare) panic when closing a window.
Conrad Irwin created
b9e0269
project panel: do not expand collapsed worktrees on "collapse all entries" (#10687)
Fixes #10597 Release Notes: - Fixed "project panel: collapse all entries" expanding collapsed worktrees.
Piotr Osiewicz created
4f2214e
terminal: Treat paths with non-digit col/rows as paths nonetheless (#10691)
This relaxes path parsing to allow paths like ./foo.rs:food or ./food/foo_bar.rs:2:12:food as some tools may add a suffix without regard for col/row end. Fixes #10688 Release Notes: - Made path parsing in terminal (for directory links) more lenient with regards to row/column fields.
Piotr Osiewicz created
e25f0df
v0.133.x dev
Marshall Bowers created
3c805d4
prisma: Bump to v0.0.2 (#10689)
This PR bumps the Prisma extension to v0.02. Changes: - The Prisma extension now provides its own `tab_size` setting ([#10296](https://github.com/zed-industries/zed/pull/10296)) Release Notes: - N/A
Marshall Bowers created
4f1861e
git blame: ignore uncommitted files or repos without commits (#10685)
This fixes useless error messages popping up in case a file hasn't been committed yet or the repo doesn't have commits yet. Release Notes: - Fixed git blame functionality not handling errors correctly when there are no commits yet or when file isn't committed yet.
Thorsten Ball created
d7becce
git: Only show inline git blame when editor is focused (#10680)
Release Notes: - N/A
Thorsten Ball created
6217138
Do not show tooltip for editor controls if clicked (#10679)
This avoids the tooltip showing up when the context menu is visible. It fixes this:  Release Notes: - N/A
Thorsten Ball created
47ad010
Backport documentation for inline git blame (#10677)
Only noticed this when editing zed.dev. Release Notes: - N/A
Thorsten Ball created
06987ed
project panel: Fix alignment of entries overflowing the panel. (#10676)
With file icons turned off, we still reserve space for an icon and make it invisible. However, that space was marked as flex, which made it shrink in case subsequent file name could not fit in the current width of the project panel. Fixes #10622 https://github.com/zed-industries/zed/assets/24362066/d565a03a-3712-49d1-bf52-407e4508a8cf Release Notes: - Fixed project panel entries misalignment with narrow panel & file icons turned off.
Piotr Osiewicz created
1e1a280
Document inline git blame (#10675)
Release Notes: - N/A
Thorsten Ball created
9782dd3
docs: Sync with zed.dev version (#10674)
This PR brings the docs in line with the version we have on https://zed.dev Release Notes: - N/A
Bennet Bo Fenner created
535bcfa
Update crates/ui/docs/hello-world.md TODO with explanation of SharedString usage (#10664)
Filled out a comment where there was a TODO to explain SharedString usage. Release Notes: - N/A
Keith created
c76bacb
Rename label to toggle inline git blame on/off (#10673)
cc @iamnbutler I think we should differentiate between inline blame and the gutter blame. Release Notes: - N/A
Thorsten Ball created
20554d0
Fix center element wrapper size (#10672)
Fixes https://github.com/zed-industries/zed/pull/9754#pullrequestreview-2005401133 Fixes https://github.com/zed-industries/zed/pull/9754#issuecomment-2060536590 Closes https://github.com/zed-industries/zed/pull/10669 * Updates the docs to use a proper max value for the centered layout padding (0.4 instead of 0.45) * Makes the `center` wrapper (`h_flex`) to be of size of the `center` element always, to ensure terminal lines are displayed correctly The letter fix is somewhat hacky: while it does the right thing right now, it does not prevent us from future mistakes like these, and does not explain why the bottom dock could be of one, smaller, height, and its contents, the terminal pane/terminal element/something else would think that it has a larger height, thus breaking the scrolling and rendering. cc @alygin if you're interested to solve another layout-related thing. Release Notes: - N/A
Kirill Bulatov created
2c78cf3
Regenerate git blame info when buffer's dirty bit changed (#10670)
This fixes the https://github.com/zed-industries/zed/issues/10583 by regenerating the blame information after the buffer is edited. It uses a debounce of 2seconds. Meaning that undone deletions show up again after 2secs. Release Notes: - Fixed `git blame` data not handling the undoing of deletions correctly. ([#10583](https://github.com/zed-industries/zed/issues/10583)).
Thorsten Ball created
c81eb41
Clear credentials state and delete keychain on SignOut request (#10558)
Release Notes: - Fixed ([#4716](https://github.com/zed-industries/zed/issues/4716)). --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Pedro Augusto da Silva Soares and Conrad Irwin created
c4e446f
./script/trigger-release (#10589)
Add `./script/trigger-release {nightly|stable|preview}`
This command can be run regardless of the state of your local git
repository, and it
either triggers a workflow run of `bump_patch_version.yml` (for
stable/preview) or
it force pushes the nightly tag.
Also add some docs on releases to explain all of this.
Release Notes:
- N/A
Conrad Irwin created
bc7eaa6
Add links to jobs page in README and in app, under help menu (#10658)
Release Notes: - N/A Co-authored-by: Nathan <nathan@zed.dev>
Max Brunsfeld and Nathan created
e93d554
Add Editor Controls Menu to Tool Bar (#10655)
This PR adds an editor controls menu to the tool bar. This menu will be used to contain controls that toggle visual features in the editor, like toggling inlay hints, showing git status or blame, hiding the gutter, hiding or showing elements in the tool bar, etc. For the moment, this consolidates the new Inline Git Blame toggle and the old Inlay Hints toggle. In the future it will contain additional controls. Before:  After:  --- Release Notes: - Added an editor controls menu to the tool bar. This will contain visual, editor-specific options like toggling inlay hints, showing git status or blame, etc. - Removed the top level inlay hint toggle from the tool bar due to the above change. - Added the ability to toggle inline git blame from the new editor controls menu. --------- Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
Nate Butler and Marshall Bowers created
775539b
Fix order of migrations from #9754 (#10657)
This fixes a bug caused by mis-ordered database migration in #9754 Release Notes: - N/A
Mikayla Maki created
545319b
terraform: Bump to v0.0.2 (#10653)
This PR bumps the Terraform extension to v0.0.2. Changes: - #10641 Release Notes: - N/A
Marshall Bowers created
0b2de51
csharp: Bump to v0.0.2 (#10651)
This PR bumps the C# extension to v0.0.2. Changes: - #10638 Release Notes: - N/A
Marshall Bowers created
9a680da
clojure: Bump to v0.0.2 (#10650)
This PR bumps the Clojure extension to v0.0.2. Changes: - #10636 Release Notes: - N/A
Marshall Bowers created
4c35cfa
gleam: Bump to v0.1.1 (#10648)
This PR bumps the Gleam extension to v0.1.1. Changes: - #10635 Release Notes: - N/A
Marshall Bowers created
be2bf98
Show task summary in its terminal after it stops running (#10615)
Based on https://github.com/alacritty/alacritty/issues/7795 Unknown error code commands (now includes the interrupted ones):  Successful command:  Unsuccessful command:  The "design", including wordings and special characters, is not final, suggestions are welcome. The main idea was to somehow distinguish the appended lines without occupying extra vertical space. Release Notes: - Added task summary output into corresponding terminal tabs
Kirill Bulatov created
4eb1e65
Add centered layout support (#9754)
This PR implements the Centered Layout feature (#4685):
- Added the `toggle centered layout` action.
- The centered layout mode only takes effect when there's a single
central pane.
- The state of the centered layout toggle is saved / restored between
Zed restarts.
- The paddings are controlled by the `centered_layout` setting:
```json
"centered_layout": {
"left_padding": 0.2,
"right_padding": 0.2
}
```
This allows us to support both the VSCode-style (equal paddings) and
IntelliJ-style (only left padding in Zen mode).
Release Notes:
- Added support for Centered Layout
([#4685](https://github.com/zed-industries/zed/pull/9754)).
https://github.com/zed-industries/zed/assets/2101250/2d5b2a16-c248-48b5-9e8c-6f1219619398
Related Issues:
- Part of #4382
Andrew Lygin created
5259190
lua: Bump to v0.0.2
The previous v0.0.3 bump was in error, as we hadn't published a v0.0.2 yet.
Marshall Bowers created
d2e83cc
lua: Bump to v0.0.3 (#10646)
This PR bumps the Lua extension to v0.0.3. Changes: - #10639 - #10642 Release Notes: - N/A
Marshall Bowers created
f633460
zig: Bump to v0.1.1 (#10645)
This PR bumps the Zig extension to v0.1.1. Changes: - #10559 - #10634 Release Notes: - N/A
Marshall Bowers created
9470a52
lua: Fix broken LuaLS download on x64 (#10642)
The changes in #10437 accidentally switched 'x64' to 'x86_64' which
breaks installs on linux x64, macos x64 and windows x64. This yields the
following error:
```
[2024-04-16T12:58:01-04:00 ERROR project] failed to start language server "lua-language-server": no asset found matching "lua-language-server-3.7.4-darwin-x86_64.tar.gz"
[2024-04-16T12:58:01-04:00 ERROR project] server stderr: Some("")
```
It's trying to download:
`lua-language-server-3.7.4-darwin-x86_64.tar.gz`
which should be
`lua-language-server-3.7.4-darwin-x64.tar.gz`
See [LuaLS release
page](https://github.com/LuaLS/lua-language-server/releases/tag/3.6.25).
CC: @maxbrunsfeld
lua.rs before ef4c70c:
https://github.com/zed-industries/zed/blob/c6028f665182403a035af193a3f27021f6e57c67/crates/languages/src/lua.rs#L35
lua.rs after:
https://github.com/zed-industries/zed/blob/5d7148bde108bd59ca20f297fcebbcb9b8c27452/extensions/lua/src/lua.rs#L49
Release Notes:
- N/A
Peter Tripp created
fa0302f
terraform: Don't cache user-installed `terraform-ls` (#10641)
This PR updates the Terraform extension to not cache the binary when it is using the one on the $PATH. Release Notes: - N/A
Marshall Bowers created
5d7148b
lua: Don't cache user-installed `lua-language-server` (#10639)
This PR updates the Lua extension to not cache the binary when it is using the one on the $PATH. Release Notes: - N/A
Marshall Bowers created
58991f3
csharp: Don't cache user-installed `OmniSharp` (#10638)
This PR updates the C# extension to not cache the binary when it is using the one on the $PATH. Release Notes: - N/A
Marshall Bowers created
9c569c8
zig: Rename `cached_binary` to `cached_binary_path` (#10637)
This PR renames the `cached_binary` field on the `ZigExtension` back to `cached_binary_path` to make it match the other extensions. Release Notes: - N/A
Marshall Bowers created
1ba0bf9
clojure: Don't cache user-installed `clojure-lsp` (#10636)
This PR updates the Clojure extension to not cache the binary when it is using the one on the $PATH. Release Notes: - N/A
Marshall Bowers created
53105dd
gleam: Don't cache user-installed `gleam` (#10635)
This PR updates the Gleam extension to not cache the binary when it is using the one on the $PATH. Release Notes: - N/A
Marshall Bowers created
210f8eb
zig: Do not cache user-installed `zls` (#10634)
This was a bug introduced when moving to extensions: when we find a binary in the user's project environment, we shouldn't cache that globally since it might not work for other projects. See also: https://github.com/zed-industries/zed/pull/10559 Release Notes: - N/A
Thorsten Ball created