1805986
Suppress noisy output from dsymutil in bundle-mac
Max Brunsfeld created
1805986
Suppress noisy output from dsymutil in bundle-mac
Max Brunsfeld created
ee0dfe9
elixir: Make `start_lexical.sh` executable (#14831)
This PR fixes an issue in the Lexical language server installation where the `start_lexical.sh` script was not being made executable when installed from GitHub. Release Notes: - N/A
Marshall Bowers created
f4074d7
Remove spurious self-hosted label for bundle-linux-arm job
Max Brunsfeld created
e58db43
Remove stray step from release nightly workflow
Max Brunsfeld created
ec487d8
Extract completion provider crate (#14823)
We will soon need `semantic_index` to be able to use `CompletionProvider`. This is currently impossible due to a cyclic crate dependency, because `CompletionProvider` lives in the `assistant` crate, which depends on `semantic_index`. This PR breaks the dependency cycle by extracting two crates out of `assistant`: `language_model` and `completion`. Only one piece of logic changed: [this code](https://github.com/zed-industries/zed/commit/922fcaf5a6076e56890373035b1065b13512546d#diff-3857b3707687a4d585f1200eec4c34a7a079eae8d303b4ce5b4fce46234ace9fR61-R69). * As of https://github.com/zed-industries/zed/pull/13276, whenever we ask a given completion provider for its available models, OpenAI providers would go and ask the global assistant settings whether the user had configured an `available_models` setting, and if so, return that. * This PR changes it so that instead of eagerly asking the assistant settings for this info (the new crate must not depend on `assistant`, or else the dependency cycle would be back), OpenAI completion providers now store the user-configured settings as part of their struct, and whenever the settings change, we update the provider. In theory, this change should not change user-visible behavior...but since it's the only change in this large PR that's more than just moving code around, I'm mentioning it here in case there's an unexpected regression in practice! (cc @amtoaer in case you'd like to try out this branch and verify that the feature is still working the way you expect.) Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Richard Feldman and Marshall Bowers created
b9a53ff
Add the ability to edit remote directories over SSH (#14530)
This is a first step towards allowing you to edit remote projects
directly over SSH. We'll start with a pretty bare-bones feature set, and
incrementally add further features.
### Todo
Distribution
* [x] Build nightly releases of `zed-remote-server` binaries
* [x] linux (arm + x86)
* [x] mac (arm + x86)
* [x] Build stable + preview releases of `zed-remote-server`
* [x] download and cache remote server binaries as needed when opening
ssh project
* [x] ensure server has the latest version of the binary
Auth
* [x] allow specifying password at the command line
* [x] auth via ssh keys
* [x] UI password prompt
Features
* [x] upload remote server binary to server automatically
* [x] opening directories
* [x] tracking file system updates
* [x] opening, editing, saving buffers
* [ ] file operations (rename, delete, create)
* [ ] git diffs
* [ ] project search
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Max Brunsfeld and Piotr Osiewicz created
7733bf6
Repl reorder keybinding (#14824)
Ensures that the assistant keybinding for cmd-enter takes precedence over `repl::Run`. On Linux, `ctrl-enter` (the equivalent), issues `repl::Run` when in a jupyter context. Release Notes: - N/A
Kyle Kelley created
edddc68
client: Remove leftover `http.rs` file (#14822)
This PR removes an empty `http.rs` file that was leftover from a previous PR. Release Notes: - N/A
Marshall Bowers created
5de5d5b
go: Fix quoting of targeting expression for non-fish shells (#14821)
This fixes #14818.
The change in #14055 broke the tasks in `zsh` (and I suspect in `bash`,
`sh` too), because what was executed was NOT
$ go test . -run '^TestThis$'
but instead this:
$ go test . -run \'^TestThis$\'
And in `zsh` this means that `'` is part of the argument passed to `go`,
which means the targeting string is wrong.
Since the problem in `fish` doesn't seem to be the `^` but the `$`, we
can only escape that, which makes the escaped string work in `zsh` and
`fish` and `bash` (in which I've tested this change here)
Release Notes:
- go: Fix running single tests by changing the quoted expression in the
`go test` command to work again in `bash`, `zsh`, etc.
([#14818](https://github.com/zed-industries/zed/issues/14818))
Thorsten Ball created
5467e18
repl: Refactor editor registration (#14819)
Cleans up action registration with the editors and also fixes a major bug where only one workspace's panel was getting session info (due to my not understanding that `cx.observe_new_views` is for the whole app). Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev>
Kyle Kelley and Conrad created
4c7f103
Allow an initial prompt to be associated with inline assist (#14816)
Release Notes:
- Added the ability to create custom inline assist bindings that
pre-fill a prompt from your keymap, e.g.:
```json
[
{
"context": "Editor && mode == full",
"bindings": {
"ctrl-shift-enter": [
"assistant::InlineAssist",
{ "prompt": "Build a snake game" }
]
}
}
]
```
---------
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra and Nathan created
d61eaea
Avoid losing focus when block decorations go offscreen (#14815)
Release Notes: - Fixed a bug that caused focus to be lost when renames and inline assists were scrolled offscreen. --------- Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra and Nathan created
f5d50f2
Delete obsolete and unused remote_projects.rs (#14811)
See https://github.com/zed-industries/zed/pull/11301#issuecomment-2234239630 for context Release Notes: - N/A
Richard Feldman created
be4b19b
repl: Create action to refresh kernelspecs (#14786)
Adds a command to refresh kernelspecs. Also added the kernelspecs to the runtime panel when none are running. That's just for now until we move out of the panel completely. Release Notes: - N/A
Kyle Kelley created
272be98
php: Bump to v0.1.2 (#14808)
This PR bumps the PHP extension to v0.1.2. Changes: - #14806 Release Notes: - N/A
Marshall Bowers created
e3d5eff
Use `ui::prelude::*` in a few more spots (#14807)
This PR updates a couple files to make use of the `ui::prelude::*` import. Release Notes: - N/A
Marshall Bowers created
9cb17ac
php: Respect LSP settings for Intelephense (#14806)
This PR updates the PHP extension with support for reading LSP settings when using Intelephense as the language server. Addresses #4258. Release Notes: - N/A
Marshall Bowers created
fb541ac
gpui: Update Menu name to use `SharedString` type to support more types (#14791)
Release Notes: - N/A
Jason Lee created
836f623
Update icon positioning in tabs (#14804)
This PR updates the icon positioning in tabs to make give them even spacing on either side. Without file icons: <img width="901" alt="Screenshot 2024-07-19 at 7 55 39 AM" src="https://github.com/user-attachments/assets/89cc80cd-1323-424e-90a5-79d8586e8725"> With file icons: <img width="956" alt="Screenshot 2024-07-19 at 7 55 52 AM" src="https://github.com/user-attachments/assets/c5b47b4e-e6c3-4dbd-aeb3-fb09a0032105"> Release Notes: - N/A
Marshall Bowers created
18c2e8f
Rework mouse handling of git hunks diff (#14727)
Closes https://github.com/zed-industries/zed/issues/12404   Video: https://github.com/user-attachments/assets/58e62527-da75-4017-a43e-a37803bd7b49 * now shows a context menu on left click instead of expanding the hunk diff * hunk diffs can be toggled with a single cmd-click still * adds a X mark into gutter for every hunk expanded * makes `editor::ToggleDiffHunk` to work inside the deleted hunk editors Additionally, changes the way editor context menus behave when the editor is scrolled — right click and diff hunks context menu now will stick to the place it was invoked at, instead of staying onscreen at the same pixel positions. Release Notes: - Improved the way git hunks diff can be toggled with mouse ([#12404](https://github.com/zed-industries/zed/issues/12404)) --------- Co-authored-by: Nate Butler <nate@zed.dev> Co-authored-by: Conrad Irwin <conrad@zed.dev>
Kirill Bulatov , Nate Butler , and Conrad Irwin created
bf4645b
Fix vim <CTRL-J> slines downward linewise, Not Join Lines (#14796)
https://vimhelp.org/motion.txt.html#CTRL-J Release Notes: - vim: Added `ctrl-j` as a new binding that's equivalent to `j`.
0x2CA created
4d17791
Start on adding support for editing via the assistant panel (#14795)
Note that this shouldn't have any visible user-facing behavior yet. The feature is incomplete but we wanna merge early to avoid a long-running branch. Release Notes: - N/A --------- Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra and Nathan created
87457f9
Fix off-by-one errors in syntax highlighting (#14780)
In the case that a line ended with a 0-length run, we would get our highlights offset by one position. Release Notes: - Fixed syntax highlights being offset from syntax in diagnostics popovers.
Conrad Irwin created
be45f32
vim: Fix 'Y' to yank to end of line (#14783)
Instead of yanking the entire line. Release Notes: - vim: Updated `Y` to yank to end of line (like neovim) https://github.com/zed-industries/zed/issues/14771
Vishal Bhavsar created
18b5a87
Add gpt-4o-mini as an available model (#14770)
Release Notes: - Fixes #14769
versecafe created
48211e8
repl: Check process status and propagate to output (#14782)
<img width="582" alt="image" src="https://github.com/user-attachments/assets/14bd321d-f5fc-4cc0-9386-f435423057ad"> Release Notes: - N/A
Kyle Kelley created
5008a38
Use -f in ssh remoting too (#14773)
Release Notes: - N/A
Conrad Irwin created
3c41786
typescript: Highlight `using` keyword (#14772)
Release Notes: - Added syntax highlighting for the `using` keyword in TypeScript ([#14762](https://github.com/zed-industries/zed/issues/14762)).
versecafe created
ad30550
assistant: Allow `/docs` to perform JIT indexing when run (#14768)
This PR updates the `/docs` slash command with the ability to just-in-time index a package when there are not yet any results in the index. When running a `/docs` slash command, we fist check to see if there are any results in the index that would match the search. If there are, we go ahead and return them, as we do today. However, if there are not yet any results we kick off an indexing task as part of the command execution to fetch the results. Release Notes: - N/A
Marshall Bowers created
7c63f26
Add duplicate and support as core github issue labels (#14735)
Peter Tripp created
f15a441
Fix video rendering on docs (#14764)
Release Notes: - N/A
Conrad Irwin created
cb21738
repl: Scroll down after running code (#14759)
Go to the next line after running code. Allows for fluid coding and running. https://github.com/user-attachments/assets/d11ac05d-7801-4191-b275-3b20302e54c5 Release Notes: - N/A
Kyle Kelley created
862f5a0
Handle supermaven account status messages (#14749)
Sets the account status state to allow the Supermaven button to move out of the "Supermaven is initializing..." state. We also need to add the ability to sign out and change tiers but I will do that in a separate PR. Release Notes: - Improved Supermaven status messages ([#12715](https://github.com/zed-industries/zed/issues/12715)).
Kevin Wang created
7d30175
vim: Add repeat support for add_surround (#14746)
Fix: #14242 At present, we don't trigger the method `start_recording(cx)` to start recording when typing add_surround, so it can't be repeated well, delete and change actually don't increase, but when entering `d` and `c`, it happens that these two operations are recorded, I think maybe we also need to call `start_recording(cx)` when calling delete_surround and change_surround, otherwise when the user modifies their shortcuts, these two functions may not be supported by repeat Release Notes: - N/A
Hans created
d044685
vim: Adjust surrounding_markers method (#14752)
At present, when calculating some ranges, we take the `tuple_windows` to iterate forward, which will cause some problems when the cursor is being front, because `tuple_windows` iteration cannot iterate to the very beginning, so there will be some cases that cannot be calculated, adjust this method, and now it can calculate more perfectly, and the execution speed is about the same Release Notes: - N/A
Hans created
0496d0d
Add multibuffer edit video (#14757)
Release Notes: - N/A
Joseph T. Lyons created
c19e71f
languages: Remove lingering Elm file (#14754)
This PR removes a leftover file from when Elm support was done natively. Elm was extracted into an extension in #10432. Release Notes: - N/A
Marshall Bowers created
f7ff9b0
vue: Bump to v0.1.0 (#14748)
This PR bumps the Vue extension to v0.1.0. Changes: - https://github.com/zed-industries/zed/pull/14747 Release Notes: - N/A
Marshall Bowers created
be1ff8a
vue: Install a global version of TypeScript if not present in the project (#14747)
This PR updates the Vue extension with support for installing and using its own copy of TypeScript if it can't find one in the project. The way we resolve `typescript` is as follows: - We check the project's `package.json` for `typescript` in either the `devDependencies` or `dependencies` - If found, we set the `typescript.tsdk` to `node_modules/typescript/lib` to use the project's copy of TypeScript - If not found, we install the latest version of `typescript` (if not already downloaded) to the extension's `package.json` and use that version for `typescript.tsdk` This should resolve instances where Vue projects that do not have an explicit `typescript` dependency—such as those using Vue with plain JavaScript—fail to load the language server due to TypeScript not being found. Release Notes: - N/A
Marshall Bowers created
3a83fec
gpui: Prefer removable over integrated Metal devices (#14744)
For context, see: - https://github.com/zed-industries/zed/issues/5124#issuecomment-2227743811 - https://github.com/zed-industries/zed/pull/14738#issuecomment-2236613976 Short version: on Intel MacBooks it's better to prefer integrated (`is_low_poer()`) GPUs, except when a user has an eGPU plugged-in, in which case they very likely want to prefer that. Before this change, we'd always prefer the integrated GPU, even if an eGPU was available. Now, with this change, if a user has - eGPU - integrated GPU - discrete GPU We'd first prefer eGPU, then integrated, then discrete. Release Notes: - Changed preference for GPUs on macOS so that eGPUs are now preferred over integrated ones (and both of which are preferred over discrete GPUs) on Intel Macs.
Thorsten Ball created
bac4a04
project_panel: Select the newly created file when copy/pasting a file (#14705)
Closes: #14361 Release Notes: - Improved project panel to select newly created file on copy/paste ([#14361](https://github.com/zed-industries/zed/issues/14361))
CharlesChen0823 created
ed3d3dc
Improve same line diagnostic rendering (#14741)
Follow-up of https://github.com/zed-industries/zed/pull/14515 Fixed certain visual artifacts, related to multi line diagnostics and block toggle rendering. Also enabled diagnostics toolbar controls for the experimental view too. Release Notes: - N/A
Kirill Bulatov created
24d9374
Add `text_color` helper for tab contents (#14737)
This PR adds a `text_color` method to `TabContentParams` to more easily compute the text color to be used for tab contents. This consolidates a number of conditionals that were scattered all over the place to give us a singular source of truth for these colors. Release Notes: - N/A
Marshall Bowers created
5d751f2
collab_ui: Refine channel tab appearance (#14736)
This PR refines the appearance of the channel tabs. We now display the channel icon in the tab's icon slot. We also now adjust the icon based on whether the channel is public or members-only (the same we do in the channel list): <img width="214" alt="Screenshot 2024-07-18 at 9 02 00 AM" src="https://github.com/user-attachments/assets/973d83c5-f045-4282-a43a-18e12ce93f78"> The `read-only` and `disconnected` states are now also shown in a visually different style than the channel name: <img width="247" alt="Screenshot 2024-07-18 at 9 01 13 AM" src="https://github.com/user-attachments/assets/359f61cf-3b80-4a3f-8948-d705f6c24695"> Release Notes: - Refined the appearance of channel tabs.
Marshall Bowers created
3fb3148
lsp: Use CompletionTriggerKind::TRIGGER_CHARACTER only for characters allowlisted by the server (#14734)
Fixes #13823 Release Notes: - N/A
Piotr Osiewicz created
76ce1a8
lsp: Use `LspCommand.check_capabilities` consistently (#14733)
This is a follow-up to #14666 in which I noticed that we don't need that additional check, since each request will check whether it's supported via the call to `check_capabilities` before sending the request. Release Notes: - N/A
Thorsten Ball created
80558a3
ruby: Bump to v0.0.8 (#14707)
Bump version of the Ruby extension to 0.0.8. Changes: - https://github.com/zed-industries/zed/pull/12642 - https://github.com/zed-industries/zed/pull/13216 - https://github.com/zed-industries/zed/pull/14661 - https://github.com/zed-industries/zed/pull/14693 Release Notes: - N/A
Vitaly Slobodin created
cdfadcc
docs: Introduce command palette earlier (#14467)
Can't get to many of the settings on linux without opening it, and can't know the default keystroke to get to it without knowing where to look first, so its a chicken-n-egg problem of needing to use a default-keystroke to set the key bindings, esp on linux. Release Notes: - N/A --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Buzz and Thorsten Ball created
013c9f0
linux: Implement local time zone support (#14610)
I decided to remove the GPUI APIs since `chrono` already provides this functionality, and is already been used for this purpose in other parts of the code (e.g. [here](https://github.com/zed-industries/zed/blob/80402a684066628793695d9303979ad993803740/crates/zed/src/main.rs#L756) or [here](https://github.com/zed-industries/zed/blob/80402a684066628793695d9303979ad993803740/crates/ui/src/utils/format_distance.rs#L258)) These usages end up calling the `time_format` crate, which takes in a `UtcOffset`. It's probably cleaner to rewrite the crate to take in `chrono` types, but that would require rewriting most of the code there. Release Notes: - linux: Use local time zone in chat and Git blame
apricotbucket28 created
22a2cc6
lsp: Check which code actions are supported before request (#14666)
This fixes https://github.com/zed-industries/zed/issues/13633 by not sending `source.organizeImports` to the ESLint language server anymore. Turns out that ESLint tells us through its capabilities that it doesn't support that code action kind, but we ignored that. What this code does is to check whether a given server supports specific code action kinds. It does this in two places: 1. When constructing the request: we now filter down the list of requested `kinds`, in case we can do so. If we can't filter down the list, we keep the previous behavior of sending the `language_server.code_action_kinds()` 2. Before sending the request: we now check whether the server even supports sending the request. This fixes the issue by only sending actions to servers that support it. I tested this with various language servers and setups and everything still works (or works better). But of course there are a ton of different combinations of language servers and code actions and file types, so I couldn't test them all. Release Notes: - Fix ESLint language server adding comments on save if the `source.organizeImports` code action was used on save. Zed now filters out code actions sent to the language servers by checking whether they are supported first. ([#13633](https://github.com/zed-industries/zed/issues/13633)).
Thorsten Ball created