9518980
v0.137.x stable
Joseph T. Lyons created
9518980
v0.137.x stable
Joseph T. Lyons created
6bf53a1
Tweak client reconnect timing (cherry-pick #12393) (#12438)
Cherry-picked Tweak client reconnect timing (#12393) * Start with a longer duration * Widen the range used for randomizing the duration between retries * Increase the maximum duration between retries Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
gcp-cherry-pick-bot[bot] and Max Brunsfeld created
719680b
Bump to 0.137.2 for @ConradIrwin
Zed Bot created
944356e
Make reconnects smoother for dev servers (cherry-pick #12223) (#12226)
Cherry-picked Make reconnects smoother for dev servers (#12223) Release Notes: - N/A Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Nathan <nathan@zed.dev>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and Nathan created
e5646fb
Bump to 0.137.1 for @ConradIrwin
Zed Bot created
44a5fdc
remote config fixes (cherry-pick #12178) (#12181)
Cherry-picked remote config fixes (#12178) Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
21ea301
reconnect ssh (cherry-pick #12147) (#12179)
Cherry-picked reconnect ssh (#12147) Release Notes: - N/A --------- Co-authored-by: Bennet <bennet@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Bennet <bennet@zed.dev>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and Bennet created
416fa58
remoting fixes (cherry-pick #12137) (#12146)
Cherry-picked remoting fixes (#12137) Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
cd2ec1e
v0.137.x preview
Joseph T. Lyons created
aa539fc
lsp: Fix wrong WorkspaceFolder when opening only file (#12129)
This fixes #11361 and #8764 by making sure we pass a directory as `WorkspaceFolder` to the language server. We already compute the `working_dir` correctly when `self.root_path.is_file()`, but we didn't use it. Release Notes: - Fixed language servers (such as `gopls`) not starting up correctly when opening a single file in Zed. ([#11361](https://github.com/zed-industries/zed/issues/11361) and [#8764](https://github.com/zed-industries/zed/issues/8764)).
Thorsten Ball created
49dffab
macOS: Allow creating directories in file-open panel (#12121)
I don't know whether there are any hard UI guidelines that dictate whether this should be allowed or not, but I think it's very handy and missed it. I also think it makes sense to have this in a directory-centric editor in which opening a directory creates a new window. Release Notes: - Added ability to create directory in open-file dialog on macOS. 
Thorsten Ball created
1771ede
tasks: Fix $ZED_SELECTED_TEXT ignoring line_mode (#12120)
When you press `V` to go into visual-line mode in Vim, `selections.line_mode` is true and the selection contains _lines_. But `$ZED_SELECTED_TEXT` always contained just the cursor location or any non-line-mode selection that was previously made. Release Notes: - Fixed `$ZED_SELECTED_TEXT` variable in Tasks ignoring whether visual-line-mode in Vim was used.
Thorsten Ball created
bfdd9d8
php: Add runnable tests (#11514)
### This pull request adds the following: - Missing mapping for the `yield` keyword. - Outline scheme for `describe`, `it` and `test` function_call_expressions (to support Pest runnable) - Pest runnable support - PHPUnit runnable support - Task for running selected PHP code. ## Queries explanations #### Query 1 (PHPUnit: Run specific method test): 1. Class is not abstract (because you cannot run tests from an abstract class) 2. Class has `Test` suffix 3. Method has public modifier(or no modifiers, default is public) 4. Method has `test` prefix #### Query 2 (PHPUnit: Run specific method test with `@test` annotation): 1. Class is not abstract (because you cannot run tests from an abstract class) 2. Class has `Test` suffix 3. Method has public modifier(or no modifiers, default is public) 4. Method has `@test` annotation #### Query 3 (PHPUnit: Run specific method test with `#[Test]` attribute): 1. Class is not abstract (because you cannot run tests from an abstract class) 2. Class has `Test` suffix 3. Method has public modifier(or no modifiers, default is public) 4. Method has `#[Test]` attribute #### Query 4 (PHPUnit: Run all tests inside the class): 1. Class is not abstract (because you cannot run tests from an abstract class) 2. Class has `Test` suffix #### Query 5 (Pest: Run function test) 1. Function expression has one of the following names: `describe`, `it` or `test` 2. Function expression first argument is a string ### **PHPUnit: Example for valid test class** <img width="549" alt="Screenshot 2024-05-08 at 10 41 34" src="https://github.com/zed-industries/zed/assets/62463826/e84269de-4f53-410b-b93b-713f9448dc79"> ### **PHPUnit: Example for invalid test class** All the methods should be ignored because you cannot run tests on an abstract class. <img width="608" alt="Screenshot 2024-05-07 at 22 28 57" src="https://github.com/zed-industries/zed/assets/62463826/8c6b3921-5266-4d88-ada5-5cd827bcf242"> ### **Pest: Example** https://github.com/zed-industries/zed/assets/62463826/bce133eb-0a6f-4ca2-9739-12d9169bb9d6 You should now see all your **Pest** tests inside the buffer symbols modal.  Release Notes: - Added test runnable detection for PHP (PHPUnit & Pest). - Added task for running selected PHP code. - Added `describe`, `test` and `it` functions to buffer symbols, to support Pest runnable. - Added `yield` keyword to PHP keyword mapping.
Remco Smits created
c4e8744
Tidy up the code (#12116)
Small follow-ups for https://github.com/zed-industries/zed/pull/12063 and https://github.com/zed-industries/zed/pull/12103 Release Notes: - N/A
Kirill Bulatov created
c440f3a
tasks: Fix runnables retrieval to not bail when a single tag can't be matched (#12113)
This can happen with queries without `@run` indicator. Release Notes: - N/A
Piotr Osiewicz created
e68ef94
Separate actions for accepting the inline suggestions and completions (#12094)
Release Notes: - Added `editor::AcceptInlineCompletion` action (bound to Tab by default) for accepting inline completions. ([6788](https://github.com/zed-industries/zed/issues/6788)) --------- Signed-off-by: Raphael Lüthy <raphael.luethy@fhnw.ch> Co-authored-by: Conrad Irvin <conrad@zed.dev>
Raphael Lüthy and Conrad Irvin created
7c9c80d
go: Highlight constant identifiers (#12111)
Release Notes: - N/A
Thorsten Ball created
a33aedf
gomod and gowork add gopls server (#12109)
<img width="684" alt="image" src="https://github.com/zed-industries/zed/assets/45585937/c22e00d2-e197-44b3-864f-db20eaf47ff7"> Release Notes: - Added `gopls` support when opening `go.mod` or `go.work` files. Co-authored-by: Thorsten Ball <thorsten@zed.dev>
d1y and Thorsten Ball created
8168ec2
go: Add runnables (#12110)
This adds support for runnables to Go. It adds the following tasks: - `go test $ZED_GO_PACKAGE -run $ZED_SYMBOL` - `go test $ZED_GO_PACKAGE` - `go test ./...` - `go run $ZED_GO_PACKAGE` if it has a `main` function Release Notes: - Added built-in Go runnables and tasks that allow users to run Go test functions, test packages, or run `main` functions. Demo: https://github.com/zed-industries/zed/assets/1185253/a6271d80-faf4-466a-bf63-efbec8fe6c35 https://github.com/zed-industries/zed/assets/1185253/92f2b616-7501-463d-b613-1ec1084ae0cd
Thorsten Ball created
e5b9e20
Allow ssh connection for setting up zed (#12063)
Co-Authored-By: Mikayla <mikayla@zed.dev> Release Notes: - Magic `ssh` login feature for remote development --------- Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Conrad Irwin , Mikayla , and Nate Butler created
3382e79
Improve file finder match results (#12103)
Kirill Bulatov created
c290d92
Allow formatting of unsaved buffers with prettier (#12095)
This fixes #4529 by allowing unsaved buffers to be formatted with
prettier.
Steps to do that:
1. Create a new buffer
2. Set language for the buffer (e.g.: `language selector: toggle` and
JSON)
3. In settings, set prettier parser for language (can't be inferred,
since we don't have filename) and allow formatting with prettier:
```json
{
"languages": {
"JSON": {
"prettier": {
"allowed": true,
"parser": "json"
}
}
}
}
```
4. Use `editor: format`
Release Notes:
- Added ability to format unsaved buffers with Prettier. Requirement is
to set a Prettier parser in the user settings. Example for JSON: `{
"languages": { "JSON": { "prettier": { "allowed": true, "parser": "json"
} } } }` ([#4529](https://github.com/zed-industries/zed/issues/4529)).
Demo:
https://github.com/zed-industries/zed/assets/1185253/d24e490b-2e2c-4a5d-95a8-fc8675523780
Thorsten Ball created
b451af4
Fix `npm install` error with some languages (#12087)
If you have already installed `node` using `brew install node`, you are fine. If you did not install `node` on you local machine, it fails. The `node_binary` path is actually not included in environment variable. When run `npm install`, some extensions like `eslint`, may run some commands like `sh -c node .....`. Since `node_binary` path is not included in `PATH` variable, `sh -c node ...` will fail complaining that "command not found". If you have installed `node` before, `node` is already included in `PATH`, so you are fine. If not, it fails. Closes #11890 Release Notes: - Fixed Zed's internal Node runtime not being put in `$PATH` correctly when running language servers and other commands with `node`. ([#11890](https://github.com/zed-industries/zed/issues/11890)) --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
张小白 and Thorsten Ball created
71a94c7
ruby: Bump to v0.0.4 (#12101)
This PR bumps the Ruby extension to v0.0.4.
Changes:
- #11869
- #12012
- #12052
Release Notes:
- N/A
Vitaly Slobodin created
99570f9
ruby: Add support for running tests (#12052)
Hello, this pull request adds two things related to each other. I hope
it's fine to submit both in the same pull request but I am totally fine
with submitting them in separate pull requests, just let me know. This
is an initial version for both features. Thanks!
## Symbols outline support for testing frameworks: minitest and RSPec
Symbols outline support in
[Minitest](https://github.com/minitest/minitest) (the testing framework
that comes with Ruby on Rails out of the box) and RSpec (another testing
framework that is popular in Ruby and Ruby on Rails world). Here are
some screenshots:
### Minitest
Given this Ruby code:
```ruby
require "test_helper"
class CategoryTest < ActiveSupport::TestCase
context "validations" do
subject { build(:category) }
should validate_presence_of(:title)
should validate_length_of(:title).is_at_most(255)
should validate_uniqueness_of(:title)
end
end
class TestNamesWithMiniTest < ActiveSupport::TestCase
def test_foo_1; assert true; end
def test_foo_2; assert true; end
def test_bar_1; assert true; end
def test_bar_2; assert true; end
end
```
We have this symbols outline:

### RSpec
I used `mastodon` application for testing because it's written in Ruby.
Given the following file
https://github.com/mastodon/mastodon/blob/main/spec/models/account_spec.rb
We have the following symbols outline:

## Running Ruby tests
### Minitest
Given the same file as above, we have the following workflow:
https://github.com/zed-industries/zed/assets/1894248/dc335495-3460-4a6d-95c4-e4cbc87a1ea0
### RSpec
Given the following file
`https://github.com/mastodon/mastodon/blob/main/spec/models/account_spec.rb`
We have the following workflow:
https://github.com/zed-industries/zed/assets/1894248/a17067ea-73b6-4229-8f1b-1b88dde63401
<hr />
Release Notes: Added Ruby test runnables support
Vitaly Slobodin created
f371087
Introduce `Editor::insert_flaps` and `Editor::remove_flaps` (#12096)
This pull request introduces the ability to add flaps, custom foldable regions whose first foldable line can be associated with: - A toggle in the gutter - A trailer showed at the end of the line, before the inline blame information https://github.com/zed-industries/zed/assets/482957/c53a9148-f31a-4743-af64-18afa73c404c To achieve this, we changed `FoldMap::fold` to accept a piece of text to display when the range is folded. We use this capability in flaps to avoid displaying the ellipsis character. We want to use this new API in the assistant to fold context while still giving visual cues as to what that context is. Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Max <max@zed.dev>
Antonio Scandurra , Nathan Sobo , Mikayla , and Max created
b89f360
lsp: Handle `client/unregisterCapability` to fix gopls (#12086)
This fixes #10224 by handling `client/unregisterCapability` requests that have a `workspace/didChangeWatchedFiles` method. While debugging the issue, I found out that `gopls` seems to block indefinitely when there's no reply to the `client/unregisterCapability` request. Even an empty response would fix the issue. Seems like gopls 15.x and later seem to handle nested subfolders well, but do not handle unanswered requests. Instead of replying with an empty response, I decided to change how we handle file watching and keep a list of all registered paths so that we can then unregister paths and recreate the glob patterns. Release Notes: - Fixed `gopls` not working correctly when the `go.mod` file was in a subfolder and not the root folder of the project opened in Zed. ([#10224](https://github.com/zed-industries/zed/issues/10224)).
Thorsten Ball created
0563472
html: Bump to 0.1.1 (#12093)
Moves to using the npm package as installation method. Release Notes: - N/A
Piotr Osiewicz created
14436a7
project panel: Update file icon when editing filename (#12078)
Before:  After:  Release Notes: - Update file icons during editing in project panel --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
d1y and Kirill Bulatov created
7b6f8c2
Tidy up user menu (#12084)
Minor cleanup Release Notes: - N/A
Nate Butler created
7a90b11
html: release 0.1.0 (#12083)
Add config for tag autoclosing: add following to lsp section of your
settings:
"vscode-html-language-server": {
"settings": {
"html": { "tagAutoclosing": true }
}
}
It also accepts `css`, `js/ts` and `javascript` as options.
Disable HTML language server in JS/TS/TSX files for now. I decided to
disable it for now as it caused excessive edits in these types of files
(as reported by @mariansimecek in
https://github.com/zed-industries/zed/pull/11761#issuecomment-2122038107);
it looks like HTML language server tries to track language ranges (e.g.
whether a particular span is TS/HTML fragment etc) just like we do.
However in plain JS/TSX files it seems like it treats the whole file as
one big chunk of HTML, which is.. not right, to say the least.
No release note, as HTML extension goodies are not on Preview yet.
Release Notes:
- N/A
Piotr Osiewicz created
a5b14de
project panel: Add Duplicate action (#12081)
This fixes #5304 by adding a new Duplicate action to the project panel context menu. It really is implemented on top of copy&paste. Release Notes: - Added a Duplicate action to the project panel. ([#5304](https://github.com/zed-industries/zed/issues/5304)). https://github.com/zed-industries/zed/assets/1185253/f0fa6a4b-f066-47df-84f0-257a049800d1
Thorsten Ball created
ba1d28f
Add `.gql` and `.graphqls` extensions for GraphQL icon (#12073)
There are `.gql` and `.graphqls` suffix support in [GraphQL VSCode extension](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql-syntax). I use those file extensions in my projects, hence I wanted them to be graphql icons. Release Notes: - Added GraphQL icon for `.gql` and `.graphqls` files. currently:  after this pr:  in vscode: 
Anıl Şenay created
2f31026
ui: Don't break flex layout when using `WithRemSize` (#12076)
This PR fixes an issue where the flex hierarchy wasn't getting broken by the use of `WithRemSize`. Release Notes: - N/A
Marshall Bowers created
315e45f
Match the startup behavior of the CLI to the main app (#12044)
Currently the main binary will open an empty file if no previous workspaces exist or, if it is the first startup, show the welcome page. When starting via the CLI it will simply drop you in an empty workspace: no empty file and no welcome page. This changes the CLI startup to match the behavior of the non-CLI startup, so they will both create an empty file or show the welcome page if no path was given and no workspaces were opened in the past. Release Notes: - Matched startup behavior of the CLI to the behavior of the main app.
Owen Law created
1e18bcb
vim: Fix %s replace not working more than twice (#12045)
close: #11981 Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
CharlesChen0823 and Conrad Irwin created
f2357c7
terminal: Add coloration to task icons based on status (#12066)
Release Notes: - Fixes: ([#11968](https://github.com/zed-industries/zed/issues/11968)). Adds colouration to task icons in terminal based off status 
versecafe created
42ea2be
Add "new window" option to the dock menu (#12067)
Fixes: #11651 Co-Authored-By: versecafe <147033096+versecafe@users.noreply.github.com> Release Notes: - Added a "New Window" item to the dock menu ([#11651](https://github.com/zed-industries/zed/issues/11651)). --------- Co-authored-by: versecafe <147033096+versecafe@users.noreply.github.com>
Conrad Irwin and versecafe created
1732ea9
Better private file sharing for remote projects (#12002)
Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin and Mikayla created
3a79aa8
Fuzzy-match lines when applying edits from the assistant (#12056)
This uses Jaro-Winkler similarity for now, which seemed to produce pretty good results in my tests. We can easily swap it with something else if needed. Release Notes: - N/A
Antonio Scandurra created
0b8c168
html: Add support for autoclosing of tags (#11761)
Fixes #5267 TODO: - [x] Publish our fork of vscode-langservers-extracted on GH and wire that through as a language server of choice for HTML extension. - [x] Figure out how to prevent edits made by remote participants from moving the cursor of a host. Release Notes: - Added support for autoclosing of HTML tags in local projects.
Piotr Osiewicz created
0970323
add `PickerDelegate::selected_index_changed` (#12059)
Adds the ability to have some effect run when a selection changes in a
picker.
If the `PickerDelegate` implements something other than `None` for
`selected_index_changed` then each time the selection changes it will
run that effect.
For example:
```rs
impl PickerDelegate for PromptManagerDelegate {
//...
fn selected_index_changed(
&self,
ix: usize,
cx: &mut ViewContext<Picker<Self>>,
) -> Option<Box<dyn Fn(&mut WindowContext) + 'static>> {
Some(self.prompt_manager.set_active_prompt(ix, cx))
}
//...
}
```
This isn't currently used in any picker, but I'm adding this to allow
the functionality we intended for the prompt library, we're changing
selections, activates a preview in the right column.
This will be useful for building any sort of UI where there's a picker
on the left and a preview on the right, such as a UI like them
telescope.
Release Notes:
- N/A
Nate Butler created
7db85b0
golang: autoclose backticks (#12050)
Fixes #12025 Release Notes: - Fixed backtick characters not getting autoclosed in Golang files (#12025).
Piotr Osiewicz created
ab7ce32
Add glob support for custom file type language (#12043)
Release Notes:
- Added glob support for file_types configuration
([#10765](https://github.com/zed-industries/zed/issues/10765)).
`file_types` can now be written like this:
```json
"file_types": {
"Dockerfile": [
"Dockerfile",
"Dockerfile.*",
]
}
```
Joshua Farayola created
4e935f9
Remove F2 keybind for Rename on MacOS and Linux (#12037)
Fix [#11608](https://github.com/zed-industries/zed/issues/11608) Release Notes: - Changed rename keybind from F2 to Enter in right-click context menu ([#11608](https://github.com/zed-industries/zed/issues/11608)). 
Nipun Shukla created
2f4890a
ruby: Pass initialization options to LSPs (#12012)
This pull request adds ability to pass `initialization_options` to both `solargraph` and `ruby-lsp` language servers. Additionally it updates the documentation to reflect that and the recently added `ruby-lsp` server. Release Notes: - Pass `initialization_options` to Ruby LSP servers.
Vitaly Slobodin created
5ddd343
Update tree-sitter-go (#12020)
Release Notes: - N/A
d1y created
a9f35d2
Suggest extension for `.wit` files (#12031)
Release Notes: - Added an extension suggestion for `.wit` files.
d1y created
410c46a
Trigger columnar selection behavior on middle mouse down (#12005)
fixes https://github.com/zed-industries/zed/issues/11990 Release Notes: - Changed middle mouse down to trigger a columnar selection, creating a rectangle of multi cursors over a dragged region. ([#11990](https://github.com/zed-industries/zed/issues/11990))
Mikayla Maki created
1f611a9
Allow copy-pasting dev-server-token (#11992)
Release Notes: - N/A
Conrad Irwin created