Commit log

c516b8f zig: Revert `464a4439f7c71e867da481e99e22ad99cc23807e` (#13712)

Click to expand commit body
This PR reverts the changes from #13709, now that we've published a new
version of the Zig extension with them.

This reverts commit 464a4439f7c71e867da481e99e22ad99cc23807e.

Release Notes:

- N/A

Marshall Bowers created

03447b9 zig: Bump to v0.1.3 (#13710)

Click to expand commit body
This PR bumps the Zig extension to v0.1.3 so we can republish with
#13709.

Release Notes:

- N/A

Marshall Bowers created

464a443 zig: Temporarily roll back changes depending on new extension API (#13709)

Click to expand commit body
This PR temporarily rolls back the changes in #12173 so that we can
publish a new version of the Zig extension.

There was a problem stemming from #12614 that caused v0.1.2 of the Zig
extension to get re-published with unreleased `zed_extension_api`
changes.

Once we publish v0.1.3 we'll be able to revert this change.

Release Notes:

- N/A

Marshall Bowers created

0e60730 Slightly improve project panel ergonomics (#13704)

Click to expand commit body
* properly fetch outlines from channel notes and other project-less
external files
* show better messages when for no contents
* make file entries collapsible (hiding all excerpts and outlines
beneath), keep the initial panel state unfolded up to file level


Release Notes:

- Slightly improved project panel ergonomics

Kirill Bulatov created

25ad318 Remove invalid symlink in title bar crate (#13702)

Click to expand commit body
This removes an invalid symlink to a non-existing license file, which
was added in #13597.

Release Notes:

- N/A

Bennet Bo Fenner created

bac6e2f tasks: Add experimental support for user-defined task variables (#13699)

Click to expand commit body
Context:
@bennetbo spotted a regression in handling of `cargo run` task in zed
repo following a merge of #13658. We've started invoking `cargo run`
from the folder of an active file whereas previously we did it from the
workspace root. We brainstormed few solutions that involved adding a
separate task that gets invoked at a workspace level, but I realized
that a cleaner solution may be to finally add user-configured task
variables. This way, we can choose which crate to run by default at a
workspace level.

This has been originally brought up in the context of javascript tasks
in
https://github.com/zed-industries/zed/pull/12118#issuecomment-2129232114

Note that this is intended for internal use only for the time being.
/cc @RemcoSmitsDev we should be unblocked on having runner-dependant
tasks now.

Release notes:

- N/A

Piotr Osiewicz created

065ab93 Use user-defined font weight, where appropriate (#13653)

Click to expand commit body
Release Notes:

- N/A

Gilles Peiffer created

8359230 Add a test for PageUp/PageDown in completion list (#13670)

Click to expand commit body
This is just tests to verify [the fix for PageUp/PageDown in the
completions list](6e1b99b03935922511cdf01978f24abedd0d1868) that was
previously added works properly. @SomeoneToIgnore Please check when you
have a moment. Thanks

Release Notes:

- N/A

Aleksei Gusev created

e650c01 Fix Prettier parser values when formatting files with paths (#13666)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/13660

Now, as intended, the parser value is passed only if configured in the
language settings.

Also, allows to format JSONC by default with Prettier and reformats Zed
settings.

Release Notes:

- Fixed Zed Prettier integration always passing parser value for files
with paths ([13660](https://github.com/zed-industries/zed/issues/13660))

Kirill Bulatov created

f1859e3 Rust: Execute tasks from files ZED_DIRNAME (#13658)

Click to expand commit body
Fixes #13267

Release Notes:

- Fixed Rust tests not working when crates Cargo.toml is not at the root
of a worktree.

Piotr Osiewicz created

b1a0188 Fix: Atom keymap in ProjectPanel (#13655)

Click to expand commit body
- Fix various keys [aAD] which did not function in Project Panel filename entry with Atom Keybind.

Peter Tripp created

218629c language: Memoize value of has_edits_since for a given buffer version (#13656)

Click to expand commit body
As a drive-by of https://github.com/zed-industries/zed/pull/13654, I've
noticed that the editor felt sluggish after I've undone the changes made
by the replacement. It turns out that we are repeatedly checking whether
there are any edits to estabilish dirty/conflict state of a buffer, even
though this operation is pure; this PR stores away the result of a
computation and refers to it before rerunning it.

Release Notes:

- Improve editor's performance with large undo histories

Piotr Osiewicz created

0761383 search: Improve performance of `replace_all` (#13654)

Click to expand commit body
Previously replace_all amounted to what could be achieved by repeatedly
mashing "Replace" button, which had a bunch of overhead related to
buffer state syncing. This commit gets rid of the automated button
mashing, processing all of the replacements in one go.

Fixes #13455



Release Notes:

- Improved performance of "replace all" in buffer search and project
search

Piotr Osiewicz created

b616f9c Add doc entry for `buffer_font_weight` setting (#13651)

Click to expand commit body
As discussed in #13598.

Release Notes:

- N/A

Gilles Peiffer created

5e465f2 Add duplicate line shortcut to sublime_text.json (#13640)

Click to expand commit body
Release Notes:

- Added duplicate line shortcut to Sublime Text shortcuts

Johannes created

7d767ff Use a human-readable date format for the `now` command's label (#13632)

Click to expand commit body
Before:

![image](https://github.com/zed-industries/zed/assets/2690773/063887fb-1a28-4922-afd1-b2dc4117a03d)

After:
<img width="435" alt="Screenshot 2024-06-28 at 18 52 08"
src="https://github.com/zed-industries/zed/assets/2690773/8e9fd285-1991-4088-a93a-5ea3259d364a">
<img width="480" alt="Screenshot 2024-06-28 at 18 52 10"
src="https://github.com/zed-industries/zed/assets/2690773/7853fc90-6a63-4e66-bb83-2ed37d41b1b9">


Release Notes:

- N/A

Kirill Bulatov created

3cabd4b gpui example: Fix SVG not showing up when running from root (#13648)

Click to expand commit body
Took me a while to figure out that I can't run

    cargo run -p gpui --example animation

and that it has to run in the `gpui` crate.

So I thought I'd fix this.

Release Notes:

- N/A

Thorsten Ball created

2972bdc docs: Make it clearer how to disable ligatures with `buffer_font_features` (#13645)

Click to expand commit body
This PR updates the docs around disabling font ligatures to make it
clearer which OpenType features need to be changed.

Release Notes:

- N/A

Marshall Bowers created

a295b90 Fix typo in tab_bar.show default value rustdoc (#13641)

Click to expand commit body
Fixes #13639

Release Notes:

- N/A

Peter Tripp created

891f195 Add support for .markdown extension (#13609)

Click to expand commit body
Fixes #13608

Release Notes:

- Added recognizing *.markdown files as Markdown
([#13608](https://github.com/zed-industries/zed/issues/13608)).

Peter Tripp created

6e1b99b Fix PageUp for context menu (#13593)

Click to expand commit body
The PageUp key was not working for the context menu. Instead of
selecting one of the previous items in the context menu, `MovePageUp`
closed the menu and scrolled the editor. `MovePageDown` was working
correctly because it has the same fix.



Release Notes:

- Fixed `pageup` key, when bound to `editor::MovePageUp`, not moving context menus as other keys

Aleksei Gusev created

00d1561 Use better names for prompts duplicated (#13630)

Click to expand commit body
Repeats project panel duplicated file name logic for prompts:
* add a ` copy` suffix
* if conflicts still, add a ` i` digit suffix, where `i` is the first
number available starting from 1

Release Notes:

- N/A

Kirill Bulatov created

d5fbf75 Add keyboard shortcuts for scrolling in terminal (#13508)

Click to expand commit body
Fixes #4917, #12231

Release Notes:
-  Added keyboard shortcuts for scrolling in terminal ([4917](https://github.com/zed-industries/zed/issues/4917), [12231](https://github.com/zed-industries/zed/issues/12231))

Aleksei Gusev created

61bbb35 Fix a stupid bug that was dropping system prompts for Claude (#13626)

Click to expand commit body
Release Notes:

- Fixed a bug that was causing system prompts to be dropped for
Anthropic models.

@JosephTLyons @notpeter We probably need to hot-fix this as I'm pretty
sure this affects the regular anthropic provider in addition to just the
feature-flagged cloud stuff. Wouldn't mind confirming that first so we
can communicate around it. 😬

Nathan Sobo created

c560a24 Default theme to match system (#13621)

Click to expand commit body
Release Notes:

- Default to a light theme during the day (#9627)

Conrad Irwin created

da03610 vim: Fix issues with r/R (#13623)

Click to expand commit body
Release Notes:

- vim: Fix undo after repeated insert/replace mode (#13573)
- vim: Fix 'r' repeating too much (#13566)

Conrad Irwin created

363ac6b vim: Empty pane improvements (#13624)

Click to expand commit body
Release Notes:

- vim: Fixed `:` in empty diagnostics view
- vim: Fixed `g/` outside of an editor

Conrad Irwin created

97159bd Associate logs from log_err with the calling crate (#13617)

Click to expand commit body
Now, when you selectively enable logs from particular crates with
`RUST_LOG=call,worktree`, logs created via `log_err` calls in those
crates get correctly enabled. Previously, they were all attributed to
the `util` crate, because they used the normal logging macros, which
implicitly insert the current crate name.

This relies on the regularity of our directory naming. Rust's
`track_caller` feature allows you to obtain the file system path of the
caller, but not its rust module path, so I'm inferring the crate name
from the file system path (which I believe is always valid, in our
codebase).

Release Notes:

- N/A

Max Brunsfeld created

0b57df5 Extract `title_bar` crate (#13597)

Click to expand commit body
This PR extracts a singular title bar (`title_bar::TitleBar`) from
`ui::TitleBar` and
`collab_ui::collab_titlebar_item::CollabTitlebarItem`.

This is a first step towards organizing title bar things into one place,
and standardizing platform titlebar/window control implementations.

Release Notes:

- N/A

Nate Butler created

7652a8a Fix font selection on macOS (#13615)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

1d19358 Fix multi-keystroke shortcuts better (#13612)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

af5efce Fix typo in README (#13610)

Click to expand commit body
Fixes a typo in the README which (I believe) was accidentally committed
in #13604

Release Notes:

- N/A

Bennet Bo Fenner created

228202a Store starts open state of outline panel (#13601)

Click to expand commit body
- Fixed issue where outline panel remains open despite being closed
before window close.

Before the release of Outline Panel feature, everything works fine. But
after that, the outline panel keeps open. It's very annoy that I only
want to edit a simple file. Event I close it before I close the window.
The active state of this panel didn't stored.

### Description:
Before the introduction of the Outline Panel feature, the application
behaved as expected. However, with the addition of the Outline Panel, an
issue arose where the panel would persistently remain open. This
behavior was observed even when manually closing the panel before
closing the application window. The problem stemmed from the inactive
state of the panel not being stored properly. This fix addresses the
issue by ensuring that the panel's active state is correctly stored and
retrieved, thereby improving user experience and preventing unnecessary
persistence of the panel's visibility.

### Screen Records

#### Before Release of Outline Panel


https://github.com/zed-industries/zed/assets/704762/2a222c70-c6d7-4472-9f27-7868d1786a5f


#### After Release of Outline Panel


https://github.com/zed-industries/zed/assets/704762/69c16a5d-beed-4d4a-8341-83c53f6a6713


#### After Fixing This Issue


https://github.com/zed-industries/zed/assets/704762/f51c5df7-54e3-4a62-ac54-b5d12cfe69d1

### Release Notes:

- Persist outline panel open state to avoid opening it on Zed startup

Yongkang Chen created

e1fbef0 Fix multi-key shortcuts (#13606)

Click to expand commit body
Broken by the shift shift support PR

Release Notes:

- Fix multi-key shortcuts (preview only)

Conrad Irwin created

7d7fd7d Move from Zed fonts to IBM Plex (#13596)

Click to expand commit body
Release Notes:

- Changed the default fonts to IBM Plex Sans and IBM Plex Mono. If you'd
like to go back to using Zed Sans/Zed mono you need to
[download](https://github.com/zed-industries/zed-fonts/releases/tag/1.2.0)
them and install them.

Conrad Irwin created

6a1b257 Fix X11 window activation better (#13604)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

a695322 Fix incorrect point types in scroll calculations (#13600)

Click to expand commit body
fixes https://github.com/zed-industries/zed/issues/13559

Release Notes:

- Fixed incorrect scroll behavior when using different
`scroll_beyond_last_line` settings
([#13559](https://github.com/zed-industries/zed/issues/13559)) (preview
only)

Mikayla Maki created

cb2d05b editor: Fix scroll_beyond_last_line off for short files (#13571)

Click to expand commit body
Release Notes:

- Fixed bug with `scroll_beyond_last_line: off` for short files
([#13559](https://github.com/zed-industries/zed/issues/13559)).

Evan Liu created

45d4de7 Add jq as a dependency for Linux script for Arch Linux (#13569)

Click to expand commit body
## Error
```sh
./script/install-linux 

+ [[ 0 -gt 0 ]]
+ export ZED_CHANNEL=dev
+ ZED_CHANNEL=dev
++ pwd
+ export 'ZED_UPDATE_EXPLANATION=You need to fetch and rebuild zed in /home/adityakrcodes/repos/zed'
+ ZED_UPDATE_EXPLANATION='You need to fetch and rebuild zed in /home/adityakrcodes/repos/zed'
+ script/bundle-linux
+ getopts h flag
+ export ZED_BUNDLE=true
+ ZED_BUNDLE=true
+ channel=dev
++ script/get-crate-version zed
script/get-crate-version: line 16: jq: command not found <-- ERROR
+ version=
```
The script fails to install zed on Arch Linux due to a missing
dependency, `jq`.
## My machine info
OS: Arch Linux
Kernel: 6.6.34-1-lts 
WM: dwm 
Terminal: kitty
CPU: Ryzen 5 5500U with Radeon Graphics
GPU: AMD ATI 04:00.0 Lucienne 
Memory: 16 GB

## Error Description
The error occurs when running the script in `script/install-linux`,
which is unable to find the `jq` package, which is not installed by
default on the machine.
## Solution
To resolve this issue, you can install `jq` independently by running
`sudo pacman -S jq`. Alternatively, I have updated script `script/linux`
to include `jq` as a dependency ([link to the
commit](https://github.com/adityakrcodes/zed/commit/2349ad111f48bf8c571e3710bdb317ee151fabdb)),
ensuring it is installed automatically when running the initial script
for system libraries.

Release Notes:

- N/A

Aditya Kumar created

20c1f82 Improve PageUp/PageDown keybinds for Linux/Mac (#13510)

Click to expand commit body
This makes pageup/pagedown move the cursor too.  Fixes: #13389

Co-authored-by: llogick <16590917+llogick@users.noreply.github.com>

Peter Tripp and llogick created

b16075d Enable "duplicate prompt" button (#13588)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

da22e0d Revert "vue: Release 0.0.4" (#13584)

Click to expand commit body
Reverts zed-industries/zed#13580 as it turned out that the issue lied in
incorrect user settings.

Release notes:
- N/A

Piotr Osiewicz created

fb3ef0d Add separate JSONC language (#12655)

Click to expand commit body
Resolves https://github.com/zed-industries/extensions/issues/860 and
https://github.com/zed-industries/zed/issues/10921, also
https://github.com/biomejs/biome-zed/issues/11.

### Problem:
When opening .json files, zed allows comments by default in the JSON
language, which can cause some problems.
For example, language-servers also get "json" as the language, which may
show errors for those comments.

<img width="935" alt="image"
src="https://github.com/zed-industries/zed/assets/10381895/fed3d83d-abc0-44b5-9982-eb249bb04c3b">

### Solution:

This PR adds a JSONC language. 

<img width="816" alt="image"
src="https://github.com/zed-industries/zed/assets/10381895/8b40e671-d4f0-4e8d-80cb-82ee7c0ec490">

This allows for more specific configuration for language servers. 
Also any json file can be set explicitly to be JSONC using the
file_types setting:

```jsonc
{
  "file_types": {
    // set all .json files to be seen as JSONC
    "JSONC": ["*.json"]
  }
}
```


Release Notes:

- N/A

Tim Havlicek created

e71b642 vue: Release 0.0.4 (#13580)

Click to expand commit body
Respect user settings in initialization_options.


Release Notes:

- Fixed Vue extension not picking up user-provided initialization
options.

Piotr Osiewicz created

6cedfa0 example: Fix Input example mistake (#13574)

Click to expand commit body
![CleanShot 2024-06-27 at 15 52
48](https://github.com/zed-industries/zed/assets/5518/71b25759-0cd5-40ed-b7c2-2f1045f81683)

Release Notes:

- N/A

Jason Lee created

209b1d1 Code maintenance in the `editor` crate (#13565)

Click to expand commit body
Release Notes:

- N/A

Gilles Peiffer created

6986ac4 Use iterators instead of loops in `clock.rs` (#13561)

Click to expand commit body
This should be slightly faster and makes the code easier to read.

Release Notes:

- N/A

Gilles Peiffer created

d50d161 Release notes upload fix (#13560)

Click to expand commit body
- Action for release notes upload (softprops/action-gh-release) configured with incorrect key. 
- Valid keys here: https://github.com/softprops/action-gh-release?tab=readme-ov-file#-customizing

Peter Tripp created

1260c61 Simplify font feature tag validation (#13548)

Click to expand commit body
Simplifies the logic for the changes of #13542.

Release Notes:

- N/A

Gilles Peiffer created

89951f7 Add `shift shift` to open command palette (#13556)

Click to expand commit body
I've add `shift shift` as a default keybinding to open command palette,
when using JetBrains keymap, along with the already existing
`cmd-shift-a`. This isn't quite right, as in JetBrains, `cmd-shift-a`
opens the actions modal, which would be our command palette, and `shift
shift` actually opens up a view for searching everything, commands,
actions, settings, etc - we do not have a unified modal for these
things, so I think this is the best thing we can do. Some users might
want to change this to be our file picker, but I think adding it as the
default at least puts it on their radar that they can use this type of
binding; they can change it if they want.

Release Notes:

- Added `shift shift` as a default binding to open the command palette
in the JetBrains keymap.

Joseph T. Lyons created