Commit Graph
404 Commits
Author SHA1 Message Date
gmorenz 36d4b65161 Translate notify::Event to fsevent::Event on linux (#7545)
This isn't exactly a great solution, but it's a step in the right
direction, and it's simple allowing us to quickly unblock linux. Without
this (or an equivalent) PR linux builds are broken.

I spent a bunch of time investigating using notify on macos, and have a
branch with that working and FakeFs updated to use notify events.
unfortunately I think this would come with some drawbacks. Primarily
that files that don't yet exist yet aren't handled as well as with using
events directly leading to some less than ideal tradeoffs.

This PR is very much a placeholder for a better cross platform solution.
Most problematically, it only fills in the portion of fsevent::Event
that is currently used, despite there being a lot more information in
the ones collected from macos. At the very least a followup PR should
hide those implementation details behind a cross platform Event type so
that if people try and access data that hasn't been translated, they
find out about it.

Release Notes:

- N/A
2024-02-08 08:35:37 -08:00
Mikayla fcbbb2ba1c Merge branch 'main' into kvark-linux 2024-02-07 11:52:44 -08:00
白山風露 d9c2ff6b12 Use try_from_bytes for windows build (#7500)
Reduce windows build error.

Release Notes:

- N/A
2024-02-07 11:27:26 -05:00
Amin Yahyaabadi 89f9c30847 Fixes for file-watching, user assets, and system dependencies (#2)
* fix: avoid panics in case of non-existing path for watching

* fix: copy the themes and plugins

* Revert "add a few more libraries to the linux script"

This reverts commit a1971ee7d1.

* fix: add vulkan validation layers to the system deps

* fix: fix the themes paths
2024-02-06 22:54:40 -08:00
Piotr Osiewicz 50829b7b48 chore: Move workspace dependencies to workspace.dependencies (#7454)
We should prefer referring to local deps via `.workspace = true` from
now on.

Release Notes:

- N/A
2024-02-06 20:41:36 +01:00
Amin Yahyaabadi df03d5a804 fix: create the settings and keymaps to unblock file watching 2024-02-04 23:56:45 -08:00
Dzmitry Malyshau 9cef0deb87 linux: HACK disable watcher and crash uploader temporarily 2024-02-04 20:23:06 -08: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
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
Amin Yahyaabadi 287c4b0bb1 Introduce cross-platform file-watching (#6855)
This adds cross-platform file-watching via the
[Notify](https://github.com/notify-rs/notify) crate. The previous
fs-events implementation is now only used on MacOS, and on other
platforms Notify is used. The watching function interface is the same.

Related to #5391 #5395 #5394.

Release Notes:

- N/A
2024-01-29 22:18:10 +02:00
George Munyoro 45d2bd9f1b Correctly check existence of target directory in copy_recursive function (#6875)
Fixes https://github.com/zed-industries/zed/issues/6778

Release Notes:

- Fixed issue where copy-paste for folders was not working in the
project panel
([#6778](https://github.com/zed-industries/zed/issues/6778)).
2024-01-29 12:06:02 +02:00
Piotr Osiewicz 4ef5a925ad Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535)
Release Notes:
- N/A
2024-01-27 13:51:16 +01:00
Piotr Osiewicz 5cb6fc5776 chore: Change AGPL-licensed crates to GPL (except for collab) (#4231)
- [x] Fill in GPL license text.
- [x] live_kit_client depends on live_kit_server as non-dev dependency,
even though it seems to only be used for tests. Is that an issue?

Release Notes:
- N/A
2024-01-24 00:26:58 +01: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
Piotr Osiewicz a8f1c15a1e chore: Fix clippy::needless_borrow up to an editor 2024-01-21 15:03:24 +01:00
Mikayla 0b43bd7c14 Fix typos detected by crate-ci/typos 2024-01-17 14:31:21 -08: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 BrunsfeldandMikayla e2be87c688 Remove 2 suffix for ui, storybook, text
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:33:51 -08:00
Max BrunsfeldandMikayla 2e155121f8 Remove 2 suffix for collab, rope, settings, menu
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:29:16 -08:00
Max BrunsfeldandMikayla 7173f4a82b Remove 2 suffix for fs, db, semantic_index, prettier
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:09:42 -08:00
Kirill Bulatov 1020aeac55 Remove async_trait from the only trait that allows it now 2023-12-28 23:45:30 +02:00
Kirill Bulatov 249fea65c8 Revert unnecessary style changes 2023-10-12 16:17:41 +03:00
Kirill Bulatov 0410fee03d Prepare prettier file lookup code infra 2023-10-11 12:56:28 +03:00
Max Brunsfeld 803aef698d Remove unnecessary dependencies on client and rpc 2023-10-06 13:14:53 -07:00
3353d919ac Mainline GPUI2 UI work (#3079)
This PR mainlines the current state of new GPUI2-based UI from the
`gpui2-ui` branch.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Nate <nate@zed.dev>
2023-10-02 18:20:47 -04:00
Conrad Irwin 12cbf801f3 Flesh out v1.0 of vim : 2023-09-20 20:44:41 -06:00
KCaverly 4c41833cfb move git2 to workspace dependency globally 2023-09-19 16:13:47 -04:00
da054bfbb5 Avoid accidental gpui transitive dependency in collab
* Make Fs depend on Text, not vise versa

Co-authored-by: Joseph <joseph@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 13:16:01 -07:00
Max Brunsfeld 511307ebe5 Fix pathspec in staged_statuses
Enable non-literal matching so that directory paths match
all files contained within them.
2023-07-23 21:36:29 -07:00
Max Brunsfeld ab164495c8 Fix filtering of staged statuses 2023-07-22 17:53:58 -07:00
Max Brunsfeld 2e1af62222 Rely on git status for any paths not matching the git index 2023-07-22 17:47:36 -07:00
Max Brunsfeld bf9410bbb7 Optimize full file status via passing in known file mtime 2023-07-22 11:53:26 -07:00
Max Brunsfeld 143e0d5e8b Compute unstaged git status separately, to take advantage of our cached file mtimes 2023-07-21 17:58:43 -07:00
Max Brunsfeld da4f477e1f Only fetch statuses for changed paths 2023-07-21 17:08:31 -07:00
Max Brunsfeld 956a700cb8 Don't call git status when ignored files change 2023-07-21 17:05:42 -07:00
Max Brunsfeld 3146f7052a Retrieve git statuses in one batch when scanning dirs 2023-07-21 13:50:54 -07:00
Max Brunsfeld 7614c594fc Perform only one git statuses call when reloading a git repo after it changes 2023-07-14 14:29:22 -07:00
Piotr Osiewicz ac0900bfcb vcs: Add 'create branch' button 2023-07-07 18:36:55 +02:00
Piotr Osiewicz a66ff10080 Merge branch 'main' into git-menu 2023-07-03 16:25:36 +02:00
Piotr Osiewicz 9a8f668cf1 List recent branches 2023-06-30 14:05:55 +02:00
Piotr Osiewicz cdab13dd6c Add timestamps to branches 2023-06-30 14:05:55 +02:00
Piotr Osiewicz 4b369afbc8 WIP: git menu 2023-06-30 14:05:55 +02:00
Mikayla Maki f416d9ef00 Add the ability to make new directories by adding slashes to a file name 2023-06-29 17:35:22 -07:00
Max Brunsfeld d0bc39d7fe Add test coverage for FS events happening inside unloaded dirs 2023-06-29 11:55:25 -07:00
Max Brunsfeld bfb334ed74 Fix expansion of ancestor directories when refreshing a path 2023-06-22 10:34:28 -07:00
Max Brunsfeld 72d9e05681 Model symlinks better in FakeFs, add read_link Fs method 2023-06-22 10:34:28 -07:00
Mikayla Maki 2def300bb0 fmt 2023-06-07 14:20:01 -07:00
Mikayla Maki 17120701fc Feature gate import 2023-06-07 14:15:20 -07:00