Commit Graph
38 Commits
Author SHA1 Message Date
Marshall Bowers ccc6d76708 Clean up util::paths (#7536)
This PR cleans up the path definitions in `util::paths` following the
Linux merge.

We were using a bunch of target-specific compilation that made these
declarations kind of messy, when really we can limit the conditional
compilation to just the base directories that we use as the basis for
the other directories.

Release Notes:

- N/A
2024-02-07 21:01:45 -05:00
7b03e977e4 Reload grammars in extensions when they are updated on disk (#7531)
Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
2024-02-07 16:39:11 -08:00
Mikayla 3a53db6502 Merge branch 'main' into kvark-linux 2024-02-07 12:30:36 -08:00
Max BrunsfeldandMarshall 6edeea7c8a Add logic for managing language and theme extensions (#7467)
This PR adds the initial support for loading extensions in Zed.

### Extensions Directory

Extensions are loaded from the extensions directory.

The extensions directory has the following structure:

```
extensions/
  installed/
    extension-a/
      grammars/
      languages/
    extension-b/
      themes/
  manifest.json
```

The `manifest.json` file is used internally by Zed to keep track of
which extensions are installed. This file should be maintained
automatically, and shouldn't require any direct interaction with it.

Extensions can provide Tree-sitter grammars, languages, and themes.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
2024-02-07 15:14:50 -05:00
Mikayla 67555ee5b4 Merge branch 'main' into kvark-linux 2024-02-07 11:52:44 -08:00
Dzmitry Malyshau d03f3b9f18 linux: switch folders to use CONFIG_DIR 2024-02-04 20:14:11 -08:00
Robin PfäffleandKirill 06674a21f9 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
白山風露 631f885900 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 9cb5a84b8d 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
Conrad Irwin 680929081d Send crash reports to Slack automatically 2024-01-17 19:51:33 -07:00
Max Brunsfeld b594e59134 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 64e512232d Start work on supporting custom languages 2024-01-02 08:01:59 -08:00
Piotr Osiewicz 4fa28b3de2 chore: fix clippy lints for rope2, sum_tree, text2 and util 2024-01-01 23:50:14 +01:00
Kirill Bulatov 92fbdb429c Add project search in gitignored test 2023-12-05 12:45:44 +02:00
Kirill Bulatov 2c2c14a360 Fix the regex matcher 2023-12-05 12:45:36 +02:00
Kirill Bulatov f0ca7141b8 Ignore excluded files on worktree entry refresh 2023-12-05 12:30:29 +02:00
Kirill Bulatov 1f6c69c7dc Allow opening buffers without a project entry 2023-12-05 12:30:29 +02:00
Kirill Bulatov 9373d38434 Rescan worktree on scan exclusions settings change 2023-11-17 21:40:56 +02:00
Kirill Bulatov 1612c90052 More lenient file path matchers 2023-11-17 21:40:56 +02:00
Kirill Bulatov d673efebd2 Add prettier workspace resolution test 2023-11-03 11:02:50 +02:00
Kirill Bulatov 4f956d71e2 Slightly better prettier settings and discovery 2023-10-11 12:56:29 +03:00
Kirill Bulatov ba4f4e0a3e Detect file paths that end with :
New rustc messages look like

```
thread 'tests::test_history_items_vs_very_good_external_match' panicked at crates/file_finder/src/file_finder.rs:1902:13:
assertion `left == right` failed: Only one history item contains collab_ui, it should be present and others should be filtered out
  left: 0
 right: 1
```

now and we fail to parse that `13:` bit properly, fix that.
2023-10-09 23:55:58 +03:00
Joseph T. Lyons c523ccc4c7 Fix code that identifies language via extension 2023-08-08 21:35:11 -04:00
Joseph T. Lyons 580c2ea8eb Fix test name 2023-08-07 17:07:01 -04:00
Joseph T. Lyons ee1b4a52cc Add PathExt trait (#2823)
This PR adds a `PathExt` trait. It pulls in our existing `compact()`
function, as a method, and then adds a method, and testing, for
`icon_suffix()`. A test was added to fix:

- https://github.com/zed-industries/community/issues/1877

Release Notes:

- Fixed a bug where file icons would not be registered for files with
with `.` characters in their name
([#1877](https://github.com/zed-industries/community/issues/1877)).
2023-08-03 18:57:43 -04:00
KCaverly 39137fc19f updated vector_store db to leverage EMBEDDINGS_DIR path 2023-06-29 15:18:32 -04:00
Nathan Sobo 882009bc75 Save conversations to ~/.config/zed/conversations
Still need to implement loading / listing.
I'd really be rather write operations to a database. Maybe we
should be auto-saving? Integrating with panes? I just did
the simple thing for now.
2023-06-16 16:15:07 -06:00
Max Brunsfeld 89446c7fd4 Start work on respecting project-specific settings 2023-05-29 14:25:49 -07:00
Kirill Bulatov 5d4fc99750 Unit test file:row:column parsing 2023-05-16 21:07:48 +03:00
Kirill Bulatov 106064c734 Do not break Zed & Zed CLI compatibility 2023-05-16 21:07:47 +03:00
Kirill Bulatov 628558aa39 Attempt to open rows and columns from CLI input 2023-05-16 21:07:26 +03:00
Kirill Bulatov d719352152 Unify path:row:column parsing, use it in CLI 2023-05-16 21:07:26 +03:00
Mikayla Maki 81411b9114 Merge branch 'main' into copilot 2023-03-30 16:57:18 -07:00
Petros AmoiridisandAntonio Scandurra adc5ef911f Remove the Errors section from rust docs
The section does not add anything that we don't already know.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-30 14:04:37 +03:00
Petros Amoiridis 69989d0463 Introduce compact function in util create 2023-03-29 17:32:27 +03:00
455cdc8b37 Add copilot crate
Refactor HTTP and github release downloading into util
Lazily download / upgrade the copilot LSP from Zed

Co-authored-by: Max <max@zed.dev>
Co-Authored-By: Antonio <antonio@zed.dev>
2023-03-28 09:41:59 -07:00
Julia edd6c85af7 Initial running of servers on downloaded Node 2023-03-27 00:00:16 -04:00
Mikayla Maki 2a5565ca93 WIP 2022-12-03 16:06:00 -08:00