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>
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>
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)
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)
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)
* 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
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
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>
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