Commit log

6a11184 dart: Release 0.0.3 (#14176)

Click to expand commit body
Includes: https://github.com/zed-industries/zed/pull/13686

Release Notes:

- Added Flutter tasks to Dart extension.

Piotr Osiewicz created

ff1dcff gpui example: Add reset button to Input example (#14163)

Click to expand commit body
Extracted from #14051 which I don't want to merge in its current state.


Release Notes:

- N/A

Thorsten Ball created

bef2586 windows: Fix `rust` tasks (#13413)

Click to expand commit body
https://github.com/zed-industries/zed/assets/14981363/56c208da-132c-438a-92b3-e31505859262


Release Notes:

- N/A

张小白 created

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)

Click to expand commit body
Release Notes:

- N/A

Aaron Cunnington created

de57013 Docs: Fix theme.mode default settings (#14153)

Click to expand commit body
- Updated docs to match the changes made in
https://github.com/zed-industries/zed/pull/13621
- Fixes: #14084.

Peter Tripp created

f1b1a9f Ignore whitespace commits (#13889)

Click to expand commit body
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

Sensational Code created

945764e Selectable popover text (#12918)

Click to expand commit body
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

Jason Lee created

3b823d4 Add simple support for wrapscan (#13497)

Click to expand commit body
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>

Hans and Conrad Irwin created

46645b5 Remove unused variable query_editor_was_focused (#14128)

Click to expand commit body
Fix
https://github.com/zed-industries/zed/pull/14128

Release Notes:

- N/A

Xiaoguang Wang created

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)

Click to expand commit body
Fix
https://github.com/zed-industries/zed/pull/13807#issuecomment-2221324262


Release Notes:

- N/A

jansol created

e106a39 AlpineLinux: Fix install.sh and docs typo (#14105)

Click to expand commit body
- AlpineLinux uses busybox `mktemp` which requires `mktemp -d` end with six XXXXXX (not five).
- Fixes #14082

Peter Tripp created

d32e9f7 svelte: Improve syntax highlighting (#12788)

Click to expand commit body
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

Nathan Sobo created

15b8790 Update One Light modified color (#12143)

Click to expand commit body
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.

Ephram created

b693cbf Fix line wrap for CJK characters (#11296)

Click to expand commit body
Release Notes:

- Fixed line wrap for CJK characters. 

## Demo


https://github.com/zed-industries/zed/assets/5518/c6695bb4-b170-4ce0-9a84-c36b051de438


![diff](https://github.com/zed-industries/zed/assets/5518/318bc815-1018-485c-aa16-49c775a9f402)

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. Изучите наши продукты, зарегистрируйте учетную запись и присоединитесь к крупнейшему в мире сообществу разработчиков.
```

Jason Lee created

73d7f70 Flatpak fixes (#14083)

Click to expand commit body
The Flatpak was failing to build because of AppStream metadata linting
errors. It also complained about the hyphen in the cid.

Release Notes:
 
     * N/A

Aidan Harris created

be5b7b2 Reduce the need to read the shell script to figure out what's going on (#14077)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

4434353 docs: Correct `ln` command in linux install steps (#14078)

Click to expand commit body
Release Notes:

- N/A

Tim Whitbeck created

95637a0 Minor breadcrumb style updates (#14070)

Click to expand commit body
Minor breadcrumb style updates

Before:

![CleanShot 2024-07-10 at 12 42
46@2x](https://github.com/zed-industries/zed/assets/1714999/9e1d4fb7-7549-4749-85f8-797f59d06c4d)

After:

![CleanShot 2024-07-10 at 12 42
36@2x](https://github.com/zed-industries/zed/assets/1714999/f448eb0a-deac-4a8e-b26e-67d559c4c679)


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>

Thorsten Ball , Conrad , and Conrad Irwin created

c732865 Build x86 linux too :/ (#14068)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

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:

![quick action bar
repl](https://github.com/zed-industries/zed/assets/836375/f3445283-f1fc-4714-895b-7aa842d4ab76)


Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Kyle Kelley and Nate Butler created

9282bf9 Default linux to stable (#14061)

Click to expand commit body
Release Notes:

- linux: default install.sh to stable

Conrad Irwin created

33a67ad chore: Clippy fixes for 1.80 (#13987)

Click to expand commit body
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


![image](https://github.com/zed-industries/zed/assets/5518/4a435ffd-d7ef-4de7-a7de-44d21db4a719)


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.

Thorsten Ball created

f147722 v0.145.x dev

Joseph T Lyons created

e1a6efa go: Quote targeting expression on runnables (#14055)

Click to expand commit body
Release Notes:

- Go: fix test runnables in fish shell.

Daniel Schmidt created

ba7d5a3 Fixed keymap for toggling right dock in linux (#14041)

Click to expand commit body
Release Notes:

- N/A

Saurabh created

6f99399 extensions: Add support for snippets provided by extensions (#14020)

Click to expand commit body
For now extensions can only register global snippets, but there'll be
follow-up work to support scope attribute in snippets.json.

Release Notes:

- Extensions can now provide snippets by including `snippets.json` file
next to the extension manifest.

---------

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

Piotr Osiewicz , Marshall , and Marshall Bowers created

2f2047a outline_panel: Fix outline panel should autoscroll when selection has changed (#14038)

Click to expand commit body
Fixed selection changed, outline panel not autoscroll.

Release Notes:

- N/A

CharlesChen0823 created

d01d764 gpui: Expose more granular style macros (#14035)

Click to expand commit body
This PR extract more GPUI style methods into macros that can be composed
together to selectively add styles to components.

Release Notes:

- N/A

Marshall Bowers created

a46a562 ui: Add margin style methods to `Label` and `LabelLike` (#14032)

Click to expand commit body
This PR adds margin style methods to the `Label` and `LabelLike`
components.

This allows for callers to provide a margin to these components without
needing to introduce a wrapping `div` to do so.

Release Notes:

- N/A

Marshall Bowers created

4bb8a08 Measure maximum width of each cell to render table (#14026)

Kyle Kelley created

c4bca87 assistant: Replace margin with gap (#14027)

Click to expand commit body
This PR replaces a usage of margin with a gap. This allows us to remove
an extra wrapping `div`.

Release Notes:

- N/A

Marshall Bowers created