37fc4ce
Allow Zed Nightly to use v0.0.7 of the Zed extension API (#14209)
Click to expand commit body
This PR updates the Wasm API compatibility check to allow Nightly to
load extensions using v0.0.7 of the Zed extension API.
Release Notes:
- N/A
Marshall Bowers
created
99f5625
docs: Tiny formatting tweaks on the Linux page (#14208)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
f61abe0
Pass `hold: true` to Alacritty for tasks (#13898)
Click to expand commit body
It seems `hold: false` causes alacritty to close the channel earlier,
without waiting for the output from the child command to go to Zed.
Fixes [#13683](https://github.com/zed-industries/zed/issues/13683)
Release Notes:
- Fixed loosing output of a spawned task
([#13683](https://github.com/zed-industries/zed/issues/13683)).
[Screencast from 2024-07-06
18-28-56.webm](https://github.com/zed-industries/zed/assets/39293/4ebef8b5-7c0d-46be-9341-4ac0d809458d)
Aleksei Gusev
created
45c54d1
assistant: Show a message when no docs providers are available (#14207)
Click to expand commit body
This PR updates the `/docs` slash command to show a message to more
clearly indicate when there are no available docs providers.
<img width="379" alt="Screenshot 2024-07-11 at 10 31 53 AM"
src="https://github.com/zed-industries/zed/assets/1486634/d079f87c-4933-4da9-ad82-34dbfe6a284c">
Release Notes:
- N/A
Marshall Bowers
created
2727f55
Add support for projects managed with Yarn (#13644)
Click to expand commit body
TODO:
- [ ] File a PR with Yarn to add Zed to the list of supported IDEs.
Fixes: https://github.com/zed-industries/zed/issues/10107
Fixes: https://github.com/zed-industries/zed/issues/13706
Release Notes:
- Improved experience in projects using Yarn. Run `yarn dlx
@yarnpkg/sdks base` in the root of your project in order to elevate your
experience.
---------
Co-authored-by: Saurabh <79586784+m4saurabh@users.noreply.github.com>
Piotr Osiewicz
and
Saurabh
created
291d64c
lsp: Implement `textDocument/signatureHelp` for `ProjectClientState::Local` environment (#12909)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/5155
Closes https://github.com/zed-industries/zed/issues/4879
# Purpose
There was no way to know what to put in function signatures or struct
fields other than hovering at the moment. Therefore, it was necessary to
implement LSP's `textDocument/signatureHelp`.
I tried my best to match the surrounding coding style, but since this is
my first contribution, I believe there are various aspects that may be
lacking. I would greatly appreciate your code review.
# Description
When the window is displayed, the current argument or field at the
cursor's position is automatically bolded. If the cursor moves and there
is nothing to display, the window closes automatically.
To minimize changes and reduce the burden of review and debugging, the
SignatureHelp feature is implemented only when `is_local` is `true`.
Some `unimplemented!()` macros are embedded, but rest assured that they
are not called in this implementation.
# How to try it out
Press `cmd + i` (MacOS), `ctrl + i` (Linux).
# Enable auto signature help (2 ways)
### Add `"auto_signature_help": true` to `settings.json`
<img width="426" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/61310c39-47f9-4586-94b0-ae519dc3b37c">
Or
### Press `Auto Signature Help`. (Default `false`)
<img width="226" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/34155215-1eb5-4621-b09b-55df2f1ab6a8">
# Disable to show signature help after completion
### Add `"show_signature_help_after_completion": false` to
`settings.json`
<img width="438" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/5e5bacac-62e0-4921-9243-17e1e72d5eb6">
# Movie
https://github.com/zed-industries/zed/assets/55743826/77c12d51-b0a5-415d-8901-f93ef92098e7
# Screen Shot
<img width="628" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/3ebcf4b6-2b94-4dea-97f9-ac4f33e0291e">
<img width="637" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/6dc3eb4d-beee-460b-8dbe-d6eec6379b76">
Release Notes:
- Show function signature popovers
([4879](https://github.com/zed-industries/zed/issues/4879),
[5155](https://github.com/zed-industries/zed/issues/5155))
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
bdba8b2
dart: Add Flutter runnables and tasks (#13686)
Click to expand commit body
Release Notes:
- Added runnable tasks for Flutter
Abdullah Alsigar
created
2290055
Project panel: Prevent scrollbar size from scaling with rem size (#14167)
Click to expand commit body
The underlying container had width of 0.75 rem, which was equal to 12px
at default ui_font_size. However, with larger values of ui_font_size the
scrollbar would drift towards the center of a project panel, as the
scrollbar itself has a fixed width of 12 pixels. This commit moves
towards using a fixed width of 12px for scrollbar container. The
alternative was to make the scrollbar scale with ui_font_size, but that
isn't what the Editor scrollbar does, so I decided against it.
Release Notes:
- Fixed position of scrollbar in project panel with non-default
`ui_font_size` values.
Piotr Osiewicz
created
6db0b6c
terminal: Prevent extra character on handled meta keystrokes (#14151)
Click to expand commit body
On macOS, when `terminal.option_as_meta` is enabled, pressing key
combinations like `option+b` and `option+f` would lead to both an escape
sequence being sent to the terminal (the expected behavior with
`option_as_meta == true`) AND a character being inserted (the behavior
when `option_as_meta == false`). Prevent the latter by stopping
propagation of the key-down event if it corresponds to a terminal escape
sequence and `option_as_meta` is enabled.
Fixes #7728
Release Notes:
- Fixed insertion of extra characters for some keystrokes if
`terminal.option_as_meta` is enabled
([#7728](https://github.com/zed-industries/zed/issues/7728)).
Denis Washington
created
ba11e9a
Fix SystemUIFont typo in default settings (#14158)
This let's GitHub and the Git cli optionally "skip" certain revs when
generating `git blame`.
Co-authored-by: Gilles Peiffer <gilles.peiffer.yt@gmail.com>
Peter Tripp
and
Gilles Peiffer
created
1b08f14
Document how to enable `vim_mode` in /docs/vim (#14138)
Click to expand commit body
## Documents:
- **Added** instructions on how to enable "Vim mode" to the
["Settings"](https://zed.dev/docs/vim#settings) of
[/docs/vim](https://zed.dev/docs/vim).
While [/docs/configuring-zed](https://zed.dev/docs/configuring-zed)
_does_ mention the `vim_mode` setting,
[/docs/vim](https://zed.dev/docs/vim) does not.
This can be confusing for users like me who went straight to the vim
doc, and could not figure out how to enable vim.
## Release Notes:
- N/A
Chris Hayes
created
36d3b16
Add toggle hunk diff and expand all hunk diffs key bindings (#14130)
Click to expand commit body
Noticed these were missing when I was reading through the docs.
Release Notes:
- Add toggle hunk diff and expand all hunk diffs key bindings
Release Notes:
- Fixed #5236
- Added the ability to select and copy text from information popovers
https://github.com/zed-industries/zed/assets/50590465/d5c86623-342b-474b-913e-d07cc3f76de4
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Antonio <ascii@zed.dev>
Ephram
,
Conrad Irwin
, and
Antonio
created
f1281c1
Revert Windows normal window title style to `WS_EX_APPWINDOW` (#14132)
Click to expand commit body
Release Notes:
- N/A
@ConradIrwin we must revert this little change.
https://github.com/zed-industries/zed/pull/14063#issuecomment-2221867379
For: #13417
This is a simple version, I'm not sure if we just need to limit this
feature to vim mode, or maybe in normal editor mode, which involves
other logic like the location of the setting
Release Notes:
- N/A
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
5bc3846
Fix #14106 Windows title bar broken (#14122)
Click to expand commit body
Release Notes:
- N/A
----
Fix #14106
Sorry, the previous change in #14063 I have made a mistake. I shouldn't
have changed the previous logic.
```diff
- if !state_ptr.hide_title_bar {
+ if state_ptr.hide_title_bar {
```
## Test
https://github.com/zed-industries/zed/assets/5518/e03fbcac-be6b-4a9d-8937-d3b5e236b564
And the popup window limit is still works.
Jason Lee
created
e6d608f
linux: Add NewWorkspace to the Actions list in .desktop (#14097)
This PR fixes `<script context="module">` not being highlighted.
It also adds support for scss.
Release Notes:
- N/A
Sören Meier
created
15662f1
gpui: Fix TextStyle default font_family crash on Windows, use `Segoe UI` for Windows (#14040)
Click to expand commit body
Release Notes:
- Fixed default font_family crash on Windows, use `Segoe UI`.
## Crash error message
```
thread 'main' panicked at crates\gpui\src\text_system.rs:150:9:
failed to resolve font 'Helvetica' or any of the fallbacks:
Zed Plex Mono, Helvetica, Cantarell, Ubuntu, Noto Sans, DejaVu Sans
```
Jason Lee
created
1887a6d
gpui: Fix popup kind window support on Windows (#14063)
Click to expand commit body
Release Notes:
- N/A
----
Continue #14044 for Windows
## The problem
The `cx.open_window` method has provided us a `window_kind` option to
allows creating a Popup kind. This behavior can work on macOS, the popup
kind window have no-border, no-shadow, no-resize, and followed the
`is_movable` if present true it can't move.
This PR to fix those supports on Windows.
The border and shadow still exist, I have tried to use WS_POPUP
window_style, but it will crash:
> This is looks like complex, it is out of my known.
```
Blocking waiting for file lock on build directory
Compiling gpui v0.1.0 (F:\work\zed\crates\gpui)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.96s
Running `target\debug\examples\window_positioning.exe`
thread 'main' panicked at F:\Users\jason\.cargo\git\checkouts\blade-b2bcd1de1cf7ab6a\21a56f7\blade-graphics\src\vulkan\init.rs:864:18:
called `Result::unwrap()` on an `Err` value: ERROR_OUT_OF_DEVICE_MEMORY
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target\debug\examples\window_positioning.exe` (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)
```
So I just make a simple change, to use `WS_EX_TOOLWINDOW` this can
disable resize, and connect `is_movable` to `handle_hit_test_msg` to
disable move, and also no Status Bar icon.
## Before
https://github.com/zed-industries/zed/assets/5518/76740a71-e0ba-401f-958d-f4afdeb417c6
## After
https://github.com/zed-industries/zed/assets/5518/dca49f13-914c-425a-b8b6-b9fc15f8d208
Jason Lee
created
fa9360f
windows: Work around font rendering clipping issue (#14075)
Click to expand commit body
Release Notes:
- N/A
张小白
created
3ff738f
Fix panic clicking on multibyte chars (#14086)
Click to expand commit body
Fixes: #12011
When hovering over a multibyte character in a debug build, Zed would
panic.
Follow up to #11296
Release Notes:
- N/A
Conrad Irwin
created
77b31d1
Allow rpc_url to be assigned on Client with test-support feature (#13430)
Click to expand commit body
Also, allow proto messages to be deserialized. This is to support
translating these messages JS types in a new server implementation based
on CloudFlare durable objects.
Release Notes:
- N/A
Release Notes:
- Changed the `modified` color on the one-light color theme to a more
readable value
The current color in the file tree for modified files is basically
unreadable in the default light mode
<img width="238" alt="image"
src="https://github.com/zed-industries/zed/assets/50590465/e553673f-1c24-41d9-b1b9-1dbbb7419d1e">
This change just changes the color to match that of the one-light theme
present in vscode
~~old proposal:
https://github.com/zed-industries/zed/assets/50590465/b4dc4030-bcd8-429a-84b8-2744e213e492~~
new proposal:
<img width="378" alt="image"
src="https://github.com/zed-industries/zed/assets/50590465/41c53019-8cf3-4927-9879-47937388cde8">
This does have a side-effect of changing the modified color on the side
in the editor, but personally I think this change is negligable.
Release Notes:
- Fixed line wrap for CJK characters.
## Demo
https://github.com/zed-industries/zed/assets/5518/c6695bb4-b170-4ce0-9a84-c36b051de438

Fix issues: #4623 #11202
### Render case
```
## fr
Bien démarrer avec la documentation GitHub Découvrez comment commencer à créer, à livrer et à gérer des logiciels avec GitHub. Explorez nos produits, inscrivez-vous pour obtenir un compte et connectez-vous à la plus grande communauté de développement du monde.
## zh
GitHub 入门文档 了解如何开始构建、运输和维护具有 GitHub 的软件。 了解我们的产品,注册一个帐户,与世界上最大的发展社区建立联系。
## es
Documentación sobre la introducción a GitHub Aprende cómo comenzar a crear, enviar y mantener software con GitHub. Explora nuestros productos, regístrate para una cuenta y conéctate con la comunidad de desarrollo más grande del mundo.
## kr
GitHub 설명서 시작 GitHub를 사용하여 소프트웨어 빌드, 납품 및 유지 관리를 시작하는 방법을 알아봅니다. 제품을 탐색하고, 계정에 등록하고, 세계 최대의 개발 커뮤니티와 연결합니다.
## ja
GitHub の概要に関するドキュメント GitHub を使用してソフトウェアの構築、出荷、および保守を始める方法を学びます。 当社の製品を探索し、アカウントにサインアップして、世界最大の開発コミュニティと繋がりましょう。
## pt
Documentação de introdução ao GitHub Aprenda a começar a criar, enviar e manter um software com a GitHub. Explore nossos produtos, inscreva-se em uma conta e conecte-se com a maior comunidade de desenvolvimento do mundo.
## ru
Начало работы с документацией по GitHub Узнайте, как начать создание, доставку и обслуживание программного обеспечения с помощью GitHub. Изучите наши продукты, зарегистрируйте учетную запись и присоединитесь к крупнейшему в мире сообществу разработчиков.
```
Minor breadcrumb style updates
Before:

After:

Release Notes:
- N/A
Nate Butler
created
ee623f7
linux/x11: Restore differentiation of mouse/keyboard focus (#13995)
Click to expand commit body
This restores https://github.com/zed-industries/zed/pull/13943 which was
reverted in #13974 because it was possible to get in a state where focus
could not be restored on a window.
In this PR there's an additional change: `FocusIn` and `FocusOut` events
are always handled, even if the `event.mode` is not "NORMAL". In my
testing, `alt-tabbing` between windows didn't produce `FocusIn` and
`FocusOut` events when we had that check. Now, with the check removed,
it's possible to switch focus between two windows again with `alt-tab`.
Release Notes:
- N/A
---------
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
8a659af
gpui_macros: Enable `extra-traits` feature for `syn` (#14067)
Click to expand commit body
Must enable extra-traits of syn feature to enable Debug trait of
Visibility
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
sgj123456
and
Marshall Bowers
created
07dc405
Do not bind cmd-enter for repl::Run when in AssistantContext (#14066)
Click to expand commit body
Don't pollute cmd-enter in the Assistant's `ContextEditor`.
Release Notes:
- N/A
Kyle Kelley
created
896b9bd
Stick REPL icon in quick action bar (#14064)
Click to expand commit body
REPL Quick Actions
<img width="325" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/faaf4c8f-ef12-4417-a9dd-158d5beae8ba">
When the Jupyter REPL is enabled and a kernel is available, show the
status in the editor bar:

Release Notes:
- N/A
---------
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
The biggest hurdle turned out to be use of `Arc<Language>` in maps, as
`clippy::mutable_key_type` started triggering on it (due to - I suppose
- internal mutability on `HighlightMap`?). I switched over to using
`LanguageId` as the key type in some of the callsites, as that's what
`Language` uses anyways for it's hash/eq, though I've still had to
suppress the lint outside of language crate.
/cc @maxdeviant , le clippy guru.
Release Notes:
- N/A
Piotr Osiewicz
created
d4ddc4c
gpui: Fix `cx.bounds`, `cx.open_window` position on macOS (#14044)
Click to expand commit body
Release Notes:
- gpui: Fixed `cx.bounds` method to get correct `y` position on macOS.
- gpui: Fixed `cx.open_window` position when macOS Dock is existed.
- Fixed call notification and reopen window position.
## Before

https://github.com/zed-industries/zed/assets/5518/ab925779-4253-4b27-9084-01023888087f
## After
<img width="533" alt="image"
src="https://github.com/zed-industries/zed/assets/5518/142e9aaa-ae82-4a72-9acf-04097c545bf0">
https://github.com/zed-industries/zed/assets/5518/8793824a-8b74-4913-8204-7b39649aeeed
---
The case is I have made a Popover by use child window, the coordinate of
the window is always can't placement a right position.
So, I make this example to test the `cx.bounds` and set bounds to
window.
---
By this test, is the `cx.bounds` have a bug?
For example the **Top Left** window, we give it origin (150,150), but it
`cx.bounds()` returns (150,262)
> On the window label, middle line is the `bounds` that we set to the
window, last line is `cx.bounds()` result.
Display 1:
<img width="1512" alt="CleanShot 2024-07-10 at 14 52 26@2x"
src="https://github.com/zed-industries/zed/assets/5518/3adf9e79-f237-431a-a72b-02face7b2361">
---
Or is there something I missed. Is it correct to use `cx.bounds` method
to get the bounds of the current window?
At the same time, I also found that when there are multiple screens, the
information obtained by cx.bounds is very different on different
screens, and it seems that the origin is not relative to the screen.
Display 2:
<img width="2560" alt="SCR-20240710-nkmq"
src="https://github.com/zed-industries/zed/assets/5518/d87d4151-0562-4bf8-b3b3-5da3b4d09d82">
Jason Lee
created
8944af7
Lay the groundwork for collaborating on assistant panel (#13991)
Click to expand commit body
This pull request introduces collaboration for the assistant panel by
turning `Context` into a CRDT. `ContextStore` is responsible for sending
and applying operations, as well as synchronizing missed changes while
the connection was lost.
Contexts are shared on a per-project basis, and only the host can share
them for now. Shared contexts can be accessed via the `History` tab in
the assistant panel.
<img width="1819" alt="image"
src="https://github.com/zed-industries/zed/assets/482957/c7ae46d2-cde3-4b03-b74a-6e9b1555c154">
Please note that this doesn't implement following yet, which is
scheduled for a subsequent pull request.
Release Notes:
- N/A
Antonio Scandurra
created
1662993
windows: Revert "windows: Fix font clipping issue" (#14045)
Click to expand commit body
The implemetation of that PR is totally wrong, sorry for that!
Release Notes:
- N/A
张小白
created
7ef64fe
vim: Add ctrl-m binding (equivalent to <CR>) (#14057)
Click to expand commit body
Now that we have macros I noticed how much I rely on this.
Release Notes:
- vim: `ctrl-m` now is equivalent to `enter` in editor.