Commit Graph
172 Commits
Author SHA1 Message Date
Robin PfäffleandKirill 9807fd7775 Add support for relative terminal links (#7303)
Allow opening file paths relative to terminal's cwd


https://github.com/zed-industries/zed/assets/67913738/413a1107-541e-4c25-ae7c-cbe45469d452


Release Notes:

- Added support for opening file paths relative to terminal's cwd
([#7144](https://github.com/zed-industries/zed/issues/7144)).

---------

Co-authored-by: Kirill <kirill@zed.dev>
2024-02-03 17:04:27 +02:00
Ares Andrew e30886389a Filter LSP github releases that have no assets to properly download LSP servers (#7189)
Fixes https://github.com/zed-industries/zed/issues/7183

Release Notes:

- Filter lsp github releases that have no assets ([7189](https://github.com/zed-industries/zed/issues/7183))
2024-02-01 10:59:35 +02:00
Conrad Irwin 85172b94dc Also add proxy to zed http client (#7184)
Follow up to #6765 because I couldn't figure out how to add to that PR.

Release Notes:

- N/A
2024-01-31 21:40:12 -07:00
lichuan6 d17a8d1fe1 Read HTTP proxy from env (#6765)
This PR will use http proxy from env for downloading files.
2024-01-31 20:57:09 -07:00
Conrad Irwin ac3424cf63 app version to server (#7130)
- Send app version and release stage to collab on connect
- Read the new header on the server

Release Notes:

- Added the ability to collaborate with users on different releases of
Zed.
2024-01-31 15:46:24 -07:00
Marshall Bowers f0c0bf5039 Sort dependencies in Cargo.toml files (#7126)
This PR sorts the dependency lists in our `Cargo.toml` files so that
they are in alphabetical order.

This should make them easier to visually scan when looking for a
dependency.

Apologies in advance for any merge conflicts 🙈 

Release Notes:

- N/A
2024-01-30 21:41:29 -05:00
Marshall Bowers b42e1cfb0a Add ability to copy a permalink to a line (#7119)
This PR adds the ability to copy the permalink to a line from within
Zed.

This functionality is available through the `editor: copy permalink to
line` action in the command palette:

<img width="589" alt="Screenshot 2024-01-30 at 7 07 46 PM"
src="https://github.com/zed-industries/zed/assets/1486634/332282cb-211f-4f16-9eb1-415bcfee9b7b">

Executing this action will create a permalink to the currently selected
line(s) and copy it to the clipboard.

Here is an example line:

```
https://github.com/maxdeviant/auk/blob/56c80e80112744740be1969c89fdd34db4be6f64/src/lib.rs#L25
```

Currently, both GitHub and GitLab are supported.

### Notes and known limitations

- In order to determine where to permalink to, we read the URL of the
`origin` remote in Git. This feature will not work if the `origin`
remote is not present.
- Attempting to permalink to a ref that is not pushed to the origin will
result in the link 404ing.
- Attempting to permalink when Git is in a dirty state may not generate
the right link.
- For instance, modifying a file (e.g., adding new lines) and grabbing a
permalink to it will result in incorrect line numbers.

Release Notes:

- Added the ability to copy a permalink to a line
([#6777](https://github.com/zed-industries/zed/issues/6777)).
- Available via the `editor: copy permalink to line` action in the
command palette.
2024-01-30 19:20:15 -05:00
953f5c9d35 gpui: Add Global marker trait (#7095)
This should prevent a class of bugs where one queries the wrong type of
global, which results in oddities at runtime.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-01-30 14:08:20 -05:00
Conrad Irwin 79e50f734c nightly url setting (#7037)
Release Notes:

- Added the ability to set settings per-release stage
- Added a `"server_url"` setting
2024-01-30 11:35:07 -07:00
白山風露 83406e7432 Ensure sqlez build succeeds on Windows (#7072)
On Windows, `OsStr` must be a valid
[WTF-8](https://simonsapin.github.io/wtf-8/) sequence, and there are no
safety ways converting from bytes to OsStr in std. So I added
`PathExt::try_from_bytes` and use it in `sqlez`.
2024-01-30 10:07:46 -08:00
Marshall Bowers dbd0a760e6 Clean up Cargo.toml files (#7044)
This PR cleans up some inconsistencies in the `Cargo.toml` files that
were driving me crazy.

Release Notes:

- N/A
2024-01-29 23:47:20 -05:00
Marshall Bowers 665993a423 Add support for loading user themes (#7027)
This PR adds support for loading user themes in Zed.

Themes are loaded from the `themes` directory under the Zed config:
`~/.config/zed/themes`. This directory should contain JSON files
containing a `ThemeFamilyContent`.

Here's an example of the general structure of a theme family file:

```jsonc
{
  "name": "Vitesse",
  "author": "Anthony Fu",
  "themes": [
    {
      "name": "Vitesse Dark Soft",
      "appearance": "dark",
      "style": {
        "border": "#252525",
        // ...
      }
    }
  ]
}
```

Themes placed in this directory will be loaded and available in the
theme selector.

Release Notes:

- Added support for loading user themes from `~/.config/zed/themes`.
2024-01-29 21:32:45 -05:00
Chris Wanstrath 2dbe4b3322 Github => GitHub 2024-01-25 11:23:28 -08:00
Julian Braha d3611483a7 Replace tempdir crate with tempfile 2024-01-24 17:58:09 +00:00
Piotr Osiewicz 1e1b434acc Remove license-file from Cargo.toml as it is apparently redundant (#4218)
Release Notes:

- N/A
2024-01-23 17:40:30 +01:00
Piotr OsiewiczandDavid 3fe512e1aa chore: Add crate licenses. (#4158)
- GPUI and all dependencies: Apache 2
- Everything else: AGPL

Here's a script that I've generated for it:
https://gist.github.com/osiewicz/6afdd6626e517da24a2092807e6f0b6e

Release Notes:
- N/A

---------

Co-authored-by: David <david@zed.dev>
2024-01-23 16:56:22 +01:00
Antonio Scandurra 142075e967 Introduce a ZED_MEASUREMENTS env var and use it to measure frame time 2024-01-22 11:39:20 +01:00
Joseph T. Lyons 60065c80db Add some initial testing to telemetry 2024-01-20 23:23:52 -05:00
Thorsten Ball 200effab40 Cancel language server requests if request is dropped
Before this change, we would send requests to language servers without
canceling them even if we never wait for their response.

Example: when doing document highlights, we'd send a request (modulo
debouncing) whenever a change was made, ignoring previously sent
requests that might still be in-flight.

With this change, we now send a Cancel request (from the LSP spec) to
the language server in case no one listens to the response anymore
(which is what happens when the `Future` returned by `request_internal`)
is dropped.
2024-01-19 16:28:27 +01:00
Conrad Irwin c4b153d088 Send crash reports to Slack automatically 2024-01-17 19:51:33 -07:00
Max Brunsfeld 2e428719d4 Fix failure to write to keychain because of dropping a future 2024-01-11 16:22:34 -08:00
Max Brunsfeld cd29d1f9d4 Fix routing of leader updates from unshared projects
Previously, leader updates in unshared projects would be sent to
all followers regardless of project, as if they were not scoped
to any project.
2024-01-11 13:47:31 -08:00
Marshall Bowers b3d65a66e2 Fix possessive "its" in docs and comments (#3998)
This PR fixes a number of places where we were incorrectly using "it's"
where we needed to use the possessive "its".

Release Notes:

- N/A
2024-01-10 10:09:48 -05:00
Max BrunsfeldandMikayla 75f0670dd6 Remove 2 suffix from gpui
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:59:39 -08:00
Max Brunsfeld 45e6917b10 Lay some groundwork for language plugins (#3837)
This PR adds undocumented functionality for loading custom language
plugins at runtime. I don't intend to expose the functionality to end
users yet, but this will allow the team to test the capability
internally.

### Implementation

There isn't much new code in Zed. Most of the work here is within
Tree-sitter, in PRs https://github.com/tree-sitter/tree-sitter/pull/1864
and https://github.com/tree-sitter/tree-sitter/pull/2840, which allow
Tree-sitter to load languages from WASM blobs. I've tested the
functionality in Tree-sitter's test suite and via its CLI, but having it
wired into Zed allows us to test the functionality more fully.

### Details

Now, on startup, Zed will look for subdirectories inside of
`~/Application Support/plugins`. These subdirectories are expected to
look similar to the per-language subdirectories in
[`crates/zed2/src/languages`](https://github.com/zed-industries/zed/tree/main/crates/zed2/src/languages),
except that they also contain a `.wasm` file for the parser itself.

I'll add more details here as I go.
2024-01-03 09:37:42 -08:00
Max Brunsfeld e9a866b3b6 Start work on supporting custom languages 2024-01-02 08:01:59 -08:00
Piotr Osiewicz c1b17ee05e chore: fix clippy lints for rope2, sum_tree, text2 and util 2024-01-01 23:50:14 +01:00
Marshall Bowers e1e8d416ba Extend theme_importer in preparation for importing Zed1 themes (#3791)
This PR extends the `theme_importer` with the overall structure required
to support importing themes from Zed1.

Release Notes:

- N/A
2023-12-22 13:47:30 -05:00
Mikayla 7797fc1d9f Begin porting the PaneAxis element 2023-12-07 17:16:19 -08:00
Antonio Scandurra c9300e2384 Merge remote-tracking branch 'origin/main' into assistant-2 2023-12-06 12:53:02 +01:00
Antonio Scandurra 50ff26b06d WIP 2023-12-05 19:27:15 +01:00
Kirill Bulatov 51f29faaf3 Add project search in gitignored test 2023-12-05 12:45:44 +02:00
Kirill Bulatov 0a150c44f2 Fix the regex matcher 2023-12-05 12:45:36 +02:00
Kirill Bulatov 057bf4e440 Ignore excluded files on worktree entry refresh 2023-12-05 12:30:29 +02:00
Kirill Bulatov 7fd7fdeef6 Allow opening buffers without a project entry 2023-12-05 12:30:29 +02:00
Conrad Irwin 36dcc9e0df [Zed2] Collab UI (#3403)
Release Notes:

- N/A
2023-11-27 12:40:59 -07:00
Piotr Osiewicz 8e25303889 Add basic call/user UI in top-right corner.
Allow ui::Avatar to take custom data instead of always relying on URI resolution
2023-11-23 15:00:13 +01:00
Kirill Bulatov 1aa37bafa5 If enabled, search in ignored files during project search 2023-11-22 16:41:02 +02:00
Mikayla Maki 6108fe2c2e Add nightly release channel for zed2 (#3355)
Release Notes:

- N/A
2023-11-17 22:12:18 -08:00
b60b4cb0a0 Make the commit sha availabe in the app, via a global
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Kirill <kirill@zed.dev>
2023-11-17 14:52:43 -08:00
Max Brunsfeld 8a3b7e590f Put release channel back to dev 2023-11-17 14:31:49 -08:00
Kirill Bulatov 5841f84f6c Rescan worktree on scan exclusions settings change 2023-11-17 21:40:56 +02:00
Kirill Bulatov 11ee1a99da More lenient file path matchers 2023-11-17 21:40:56 +02:00
Kirill Bulatov 6db4451b25 Create new Zed release channel: nightly 2023-11-17 12:13:32 +02:00
Kirill Bulatov f104a3a48a Add prettier workspace resolution test 2023-11-03 11:02:50 +02:00
Conrad Irwin a1fb3523d3 Merge branch 'main' into zed2 2023-10-27 10:55:15 +02:00
Conrad Irwin 20aba94a6b Clearer error on importing both gpui and gpui2 2023-10-26 10:39:52 +02:00
Piotr OsiewiczandJulia Risley e6a7c8ad89 util: Improve error message for failing requests to GH. (#3159)
Release notes:
- N/A

Co-authored-by: Julia Risley <julia@zed.dev>
2023-10-26 10:39:45 +02:00
Mikayla be7e30fbb1 Change from try (reserved keyword) to maybe 2023-10-25 07:10:21 -07:00
Mikayla Maki 2a04fb7b34 Rename IIFE to try
Too good of an idea to forget
2023-10-24 21:13:22 +02:00