Commit log

02a859f docs: Fix favicon (#11381)

Click to expand commit body
This PR fixes the favicon used in the docs so it matches zed.dev.

Release Notes:

- N/A

Marshall Bowers created

f576bd3 Clean up some stray todos (#11380)

Click to expand commit body
Quick little todo comment cleanups, either because they aren't needed or
a comment will suffice.

Release Notes:

- N/A

Kyle Kelley created

15299dc docs: Update "Themes" page (#11379)

Click to expand commit body
This PR updates the "Themes" page in the docs to remove some outdated
copy.

Release Notes:

- N/A

Marshall Bowers created

75a5453 docs: Update inline code style (#11378)

Click to expand commit body
This PR updates the inline code style on the docs to match what we use
on zed.dev.

Release Notes:

- N/A

Marshall Bowers created

d629439 docs: Put redirects underneath `/docs2` path

Marshall Bowers created

0969f31 docs: Update redirects

Marshall Bowers created

8d390f9 docs: Remove unneeded frontmatter from "Themes"

Marshall Bowers created

b2582a7 docs: Force light mode syntax highlighting (#11377)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Marshall <marshall@zed.dev>

Conrad Irwin and Marshall created

a497c49 update docs content (#11374)

Click to expand commit body
Move all docs to zed repo

Release Notes:

- N/A

---------

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

Conrad Irwin , Marshall Bowers , and Marshall created

3e5dcd1 Attachment store for assistant2 (#11327)

Click to expand commit body
This sets up a way for the user (or Zed) to _push_ context instead of
having the model retrieve it with a function. Our first use is the
contents of the current file.

<img width="399" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/198429a5-82af-4b82-86f6-cb961f10de5c">

<img width="393" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/cfb52444-723b-4fc1-bddc-57e1810c512b">

I heard the asst2 example was deleted in another branch so I deleted
that here too since we wanted the workspace access.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>

Kyle Kelley and Marshall created

6bdcfad Zeddish docs (#11372)

Click to expand commit body
Co-Authored-By: Marshall <marshall@zed.dev>

Release Notes:

- N/A

---------

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

Conrad Irwin , Marshall , and Marshall Bowers created

86696d8 wayland: Implement xdg-activation when opening urls (#11368)

Click to expand commit body
Since Wayland doesn't have a way for windows to activate themselves,
currently, when you click on a link in Zed, the browser window opens in
the background.

This PR implements the `xdg-activation` protocol to get an activation
token, which the browser can use to raise its window.


https://github.com/zed-industries/zed/assets/71973804/8b3456c0-89f8-4201-b1cb-633a149796b7

Release Notes:

- N/A

apricotbucket28 created

dccf6da Setup docs deployments with mdBook (#11369)

Click to expand commit body
This PR sets up deployments for the docs using mdBook.

Right now the new docs are hosted at
[zed.dev/docs2](https://zed.dev/docs2/).

The docs are deployed to Cloudflare Pages on merges to `main`, and we
have a Cloudflare Worker that routes traffic from `zed.dev/docs2` to the
docs deployment.

We can iterate on the docs for a bit, and then promote them to
`zed.dev/docs` when we're all ready for the switchover.

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Marshall Bowers and Conrad Irwin created

6563330 Supermaven (#10788)

Click to expand commit body
Adds a supermaven provider for completions. There are various other
refactors amidst this branch, primarily to make copilot no longer a
dependency of project as well as show LSP Logs for global LSPs like
copilot properly.

This feature is not enabled by default. We're going to seek to refine it
in the coming weeks.

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Kyle Kelley , Antonio Scandurra , Nathan Sobo , Max , and Max Brunsfeld created

6109688 Fix backwards mouse selection in vim mode (#11329)

Click to expand commit body
Fixes: #8492

Release Notes:

- vim: Fixed last character of reversed mouse selections (#8492)

Conrad Irwin created

ff56ca7 toml: Bump to v0.1.1 (#11359)

Click to expand commit body
This PR bumps the TOML extension to v0.1.1.

Changes:

- https://github.com/zed-industries/zed/pull/11251

Release Notes:

- N/A

Marshall Bowers created

899f711 elixir: Bump to v0.0.3 (#11358)

Click to expand commit body
This PR bumps the Elixir extension to v0.0.3.

Changes:

- https://github.com/zed-industries/zed/pull/11318

Release Notes:

- N/A

Marshall Bowers created

beee79a toml: Fix language server installation on Windows (#11251)

Click to expand commit body
Release Notes:

- N/A


---

Follow #11156, to make sure extensions install on window.

https://github.com/tamasfe/taplo/releases/tag/0.8.1

The Taplo have `gz` for windows, so we can just use `gz`.

---------

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

Jason Lee and Marshall Bowers created

b3d969e elixir: Check for next-ls and lexical in path first (#11318)

Click to expand commit body
Since it's not longer possible to setup a local elixir LSP, @maxdeviant
proposed to look for `next-ls` and `lexical` in path first, just like
it's already done for `elixir_ls`.

For context take a look at #11297 (starting from [this
comment](https://github.com/zed-industries/zed/issues/11297#issuecomment-2091095537)).

Release Notes:

- N/A

Andrei Zvonimir Crnković created

55555bb Enable first version of auto-updates on Linux (#11348)

Click to expand commit body
This downloads Nightly/Preview releases on Linux and copies the contents
the `zed-<channel>.app` to `~/.local`.

What's missing:

- Check if we're not installed in ~/.local and abort
- Update `.desktop` file


Release Notes:

- N/A

Thorsten Ball created

f5e155b When clicking on a hunk expand it, do not move the caret (#11350)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

3605550 project panel: Allow confirming prompt with keyboard (#11346)

Click to expand commit body
The ability to confirm the file deletion prompt by pressing "Enter" was
broken in #11015

Release Notes:

- Restored the ability to confirm a prompt by pressing "Enter" when
deleting/trashing files

Bennet Bo Fenner created

9348e6f lsp: More information in error if server fails to start (#11343)

Click to expand commit body
We do log that information, but we don't put it in the error message
where it's really useful.



Release Notes:

- N/A

Thorsten Ball created

f987ff0 Improve JSDoc injection in comments (#10800)

Click to expand commit body
This PR improves JSDoc injection for syntax highlighting. Now we are
only injecting JSDoc in block comments. The regex was mostly adapted
from nvim-treesitter's implementation (lua) to a rust regex.


https://github.com/nvim-treesitter/nvim-treesitter/blob/eb93c3b2fbe9ca55d70e9297d5c037880b997559/queries/ecma/injections.scm#L1-L6

**Before:**
<img width="441" alt="Screenshot 2024-04-20 at 5 51 04 AM"
src="https://github.com/zed-industries/zed/assets/20072509/8e77851d-22ad-4dc4-8e10-9ac558d3cf40">

**After:**
<img width="441" alt="Screenshot 2024-04-20 at 5 52 05 AM"
src="https://github.com/zed-industries/zed/assets/20072509/a607c219-6973-40c3-958c-44a003d008c3">

Release Notes:

- Changed detection of JSDoc to only do syntax highlighting in block
comments. Improved previous work done in #7826.

José Olórtegui created

2306e3c Add brackets and missing operators to Python grammar (#11180)

Click to expand commit body
Release Notes:

- Fixed #4341 

Before:

![before](https://github.com/zed-industries/zed/assets/16101408/34672e47-5131-481a-803e-064db8126cc9)

After:

![after](https://github.com/zed-industries/zed/assets/16101408/7d2405c6-d04f-4738-ad2e-a9424b1c9d19)

adorabilis created

f252d9c Fix alt-shift-(left|right) behaviour (#11292)

Click to expand commit body
Not sure what the etiquette is here, but in the interest of fixing
#10242, I've re-implemented @jish's PR
https://github.com/zed-industries/zed/pull/10535 and have signed the CLA


Release Notes:

- Fixed `alt-shift-left` and `alt-shift-right` in the Textmate default
keybindings.
([#10242](https://github.com/zed-industries/zed/issues/10242))

TextMate keymap uses default option shift arrow selection

Dom Christie created

5ce4590 install.sh: use per-channel binary names in `~/.local/bin` (#11339)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

cd03e47 Improve deleted hunk blocks' behavior (#11340)

Click to expand commit body
* clear their selections on focus lost
* allow reverting diff hunks when the caret is inside of the deleted
hunk diff editor block

Release Notes:

- N/A

Kirill Bulatov created

e69e25c linux: Use app_id as filepath for desktop file (#11337)

Click to expand commit body
This undoes the changes from #11333 and uses the path of the `.desktop`
file instead.

According ot the spec
(https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html)
the filename and path of the `desktop` file are used to determine the
desktop file ID.

This is enough to match the windows (which have the same WMClass/app-id)
with the desktop entry.

Release Notes:

- N/A

Thorsten Ball created

61a60d3 Tie the Zed application ID to the release channel (#11335)

Click to expand commit body
Since we do want to have different versions of Zed running on the same
Linux install, we need to give them different application IDs so they're
not grouped together as the same application.

This changes the app_id depending on the releaes channel and, crucially,
it also matches them up with the bundle identifiers that we use on
macOS.

Release Notes:

- N/A

Thorsten Ball created

4024b9a gpui: Fix `start_display_link` leading to resource leak on hidden windows (#11289)

Click to expand commit body
Release Notes:

- N/A

While developing [Loungy](https://loungy.app), I noticed that everytime
I wake my laptop, Loungy starts consuming 100% CPU. I traced it down to
`start_display_link` as there was this error message at the time of wake
up:

```
[2024-05-02T05:02:31Z ERROR util] /Users/matthias/zed/crates/gpui/src/platform/mac/window.rs:420: could not create display link, code: -6661
```

The timeline is this:

1. The application is hidden with `cx.hide()`
2. The system is put to sleep and later woken up
3. `window_did_change_screen` would trigger immediately after wakeup,
calling `start_display_link`
4. `start_display_link` fails catastrophically as `DisplayLink::new`
starts hogging all the CPU for some reason?
5. throws the error message above
6. Once the window is opened, `window_did_change_occlusion_state` it
retriggers `start_display_link` and the CPU issue subsides

Matthias Grandl created

b523ee6 Use Rope instead of String for buffer diff base (#11300)

Click to expand commit body
As an attempt to do things better when showing diff hunks, store diff
base as Rope, not String, to have cheaper clones when the diff base text
is reused, e.g. creating another buffer with the diff base text for hunk
diff expanding.

Release Notes:

- N/A

Kirill Bulatov created

5f0046b linux: Set StartupWMClass in .desktop file (#11333)

Click to expand commit body
This has to match the WMClass/AppID, which was added here: #10909

Release Notes:

- N/A

Thorsten Ball created

155a80c Rename test (#11317)

Click to expand commit body
This naming makes the purpose of the test clearer to people new to the
project.

Max Linke created

7bc1025 Wayland: Fix segfault when exiting with `ctrl+q` (#11324)

Click to expand commit body
Release Notes:

- N/A

When closing with `ctrl-q`, drop_window is not called and results in a
segfault.

Fernando Tagawa created

b58bf64 Increase rate limits for computing embeddings (#11326)

Click to expand commit body
- Also, remove the rate limit for getting cached embeddings entirely.

Release Notes:

- N/A

Nathan Sobo created

47b38a0 Tidy Assistant2 composer (#11321)

Click to expand commit body
Release Notes:

- N/A

Nate Butler created

1915a75 Allow codebase search to be turned on or off within the composer for assistant2 (#11315)

Click to expand commit body
![image](https://github.com/zed-industries/zed/assets/836375/e03d2357-e2e4-49f1-86d6-7593bce13618)


![image](https://github.com/zed-industries/zed/assets/836375/3d769622-82e1-4e6f-bdec-4dce81e43423)


![image](https://github.com/zed-industries/zed/assets/836375/bf79a4ec-1660-47b1-8525-e741575dc5d4)

Release Notes:

- N/A

Kyle Kelley created

43ad470 Use outline queries to chunk files syntactically (#11283)

Click to expand commit body
This chunking strategy uses the existing `outline` query to chunk files.
We try to find chunk boundaries that are:

* at starts or ends of lines
* nested within as few outline items as possible

Release Notes:

- N/A

Max Brunsfeld created

1abd580 Slicker remote project creation (#11309)

Click to expand commit body
Inline the editor into the modal

Release Notes:

- N/A

---------

Co-authored-by: Bennet <bennetbo@gmx.de>

Conrad Irwin and Bennet created

78a8a58 Iterate on Assistant 2 composer UI (#11306)

Click to expand commit body
- Change project index tool rendering in composer
- Update composer UI style

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Nate Butler , Marshall Bowers , and Marshall Bowers created

9bac64a Rename RemoteProject -> DevServerProject (#11301)

Click to expand commit body
Co-Authored-By: Mikayla <mikayla@zed.dev>

In a fit of ill-advisedness I called these things remote projects;
forgetting that remote project is also what we call collaboratively
shared projects.

Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Bennet <bennetbo@gmx.de>

Conrad Irwin , Mikayla , and Bennet created

d61c47d elixir: Bump to v0.0.2 (#11303)

Click to expand commit body
This PR bumps the Elixir extension to v0.0.2.

Changes:

- https://github.com/zed-industries/zed/pull/11302

Release Notes:

- N/A

Marshall Bowers created

8b28433 elixir: Respect LSP settings for `elixir-ls` (#11302)

Click to expand commit body
This PR updates the Elixir extension to respect the LSP settings for
`elixir-ls`:

```json
"lsp": {
  "elixir-ls": {
    "settings": {
      "dialyzerEnabled": false
    }
  }
}
```

```
Received workspace/didChangeConfiguration
Received client configuration via workspace/didChangeConfiguration
%{"dialyzerEnabled" => false}
Loaded DETS databases in 33ms
Loaded DETS databases in 10ms
Compiling 65 files (.ex)
```

Release Notes:

- N/A

Marshall Bowers created

98ea5e1 Add `convert to opposite case` command (#11290)

Joseph T. Lyons created

092869d Use default allocator as a default (#11293)

Kirill Bulatov created

aeff468 Fix text offset in the expanded deleted hunk (#11295)

Kirill Bulatov created

23f1914 Do not show inline blame information on empty lines (#11294)

Click to expand commit body
cc @iamnbutler 

Release Notes:

- Changed inline git blame information to not show up on empty lines.

Demo/proof:



https://github.com/zed-industries/zed/assets/1185253/e506cf1f-81b1-407b-8dc7-1666b31ae142

Thorsten Ball created

edff78e Allow ignoring soft wraps when moving to line ends (#11153)

Click to expand commit body
Release Notes:

- Fixed #10888

This patch addresses behavior of
`Editor::move_to_{beginning|end}_of_line`. It adds a setting,
`stop_at_soft_wraps` when defining a keymap for the
`editor::MoveToBeginningOfLine` and `editor::MoveToEndOfLine` actions.
When `true`, it causes movement to the either end of the line (via, for
example Home or End), to go to the logical end, as opposed to the
nearest soft wrap point in the respective direction.

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Tarun Verghis and Kirill Bulatov created

c812304 typescript: Complete function calls with snippets (#11157)

Click to expand commit body
This allows function call (i.e. snippet) completion with
`typescript-language-server`. So far that didn't work, because
`typescript-language-server` doesn't respond with `insertText` when
getting the completions, but only when then sending
`completionItem/resolve` requests. See:
https://github.com/hrsh7th/nvim-cmp/issues/646#issuecomment-992765479

What this PR does is to support text edits in the response to
`completionItem/resolve`, which means updating the completion item.

It then enables this feature by default for
`typescript-language-server`.


TODOs:

- [x] Make this work over collab
- [x] Test that this doesn't break existing language server support
- [x] Refactor duplicated code

Release Notes:

- Added support for function call completion when using
`typescript-language-server`. This will result in parameters being
added, which can then be changed and navigated with `<tab>`. For this to
work with `typescript-language-server`, the documentation for a given
completion item needs to be resolved, meaning that if one types very
quickly and accepts completion before `typescript-language-server` could
respond with the documentation, no full function completion is used.

Demo:


https://github.com/zed-industries/zed/assets/1185253/c23ebe12-5902-4b50-888c-d9b8cd32965d

Thorsten Ball created