Julia
f7714a25d1
Don't pretend this is async
2022-09-29 13:16:02 -04:00
Mikayla Maki
71b2126eca
WIP, re-doing fs and fake git repos
2022-09-29 13:16:02 -04:00
Julia and Mikayla Maki
d5fd531743
Move git related things into specialized git crate
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev >
2022-09-29 13:16:02 -04:00
Julia and Mikayla Maki
7e5d49487b
WIP Notifying buffers of head text change
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev >
2022-09-29 13:16:02 -04:00
Julia and Mikayla Maki
4251e0f5f1
Find repos under worktree & return correct results for repo queries
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev >
2022-09-29 13:16:02 -04:00
Mikayla Maki
6ac9308a03
Added git repository type infrastructure and moved git file system stuff into fs abstraction so we can test without touching the file system. Co-Authored-By: kay@zed.dev
2022-09-29 13:16:02 -04:00
Julia and Max Brunsfeld
55ca02351c
Start painting some sort of hunk info, it's wrong but it's close
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-09-29 13:16:01 -04:00
ForLoveOfCats
2a14af4cde
Load a file's head text on file load just to get started
2022-09-29 13:16:01 -04:00
ForLoveOfCats and Mikayla
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev >
2022-08-10 16:51:01 -07:00
Antonio Scandurra
32662b6b92
Start indexing UTF-16 offsets
...
This is needed because cocoa will report ranges as UTF-16 indices.
2022-07-21 09:40:48 +02:00
Max Brunsfeld
43613fe2ac
Ensure that fs watches are dropped when dropping the event stream
2022-07-18 14:55:24 -07:00
Antonio Scandurra
11ef6bfbae
Avoid unnecessarily emitting fake fs events for dirs that exist
2022-07-18 17:36:40 +02:00
Antonio Scandurra
b3218641cd
Create intermediate directories in FakeFs::create_dir
2022-07-18 16:38:26 +02:00
Max Brunsfeld
f6c1393dfd
Restructure FakeFs to let it model symlinks
...
Instead of storing paths, model the FS more directly
as nodes
2022-07-18 12:23:07 +02:00
Antonio Scandurra
52b8efca1b
Add integration test to exercise formatting via external command
2022-07-07 11:53:32 +02:00
Max Brunsfeld
c1b886b0ce
Normalize line endings consistently between fake and real FS
2022-07-04 13:00:12 -07:00
Max Brunsfeld
9804c683c0
Rename NewlineStyle -> LineEnding
2022-07-04 12:47:40 -07:00
Antonio Scandurra
3480b50920
Detect buffer newline style and honor it when saving
2022-07-04 17:40:26 +02:00
Antonio Scandurra
354488ebdf
Don't eagerly populate copied subdirectory
...
This can race anyway with snapshot updates, so we just eagerly refresh
the root entry and wait for updates to come in to populate it.
2022-05-31 08:11:07 +02:00
Antonio Scandurra
88fdd8606a
Eagerly populate child entries when copying a directory via RPC
2022-05-30 18:01:46 +02:00
Antonio Scandurra
3336bc6ab3
Implement copy paste for ProjectPanel
2022-05-30 14:52:34 +02:00
Max Brunsfeld
2aec4ff234
Pick files directly from the Fs in simulate_host
...
Previously, the list of all existing files was maintained separately, but
it was not updated when a guest created a file.
2022-05-09 15:39:45 -07:00
Antonio Scandurra
ecb847a027
Fix bugs in FakeFs::{remove_dir,rename}
2022-05-05 09:02:31 +02:00
Max Brunsfeld
0ff39f1280
Select new files in the project panel after creating them
2022-05-04 10:28:44 -07:00
Antonio Scandurra and Nathan Sobo
c661ff251d
Revert "Use async_broadcast to emit fake FS events"
...
This reverts commit 4cfd345f9d , because
having a bounded broadcast introduces the possibility of waiting forever
when there isn't yet a receiver processing those events.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-03-01 17:14:40 +01:00
Antonio Scandurra and Nathan Sobo
4cfd345f9d
Use async_broadcast to emit fake FS events
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-03-01 15:48:15 +01:00
Antonio Scandurra
8d078ed4e2
Don't block when emitting fs events
...
Blocking could happen while processing events, which would cause the
background scanner to never make any further progress.
2022-03-01 13:08:50 +01:00
Max Brunsfeld
1faaa91e52
Avoid retaining executor in the FakeFs
...
This probably isn't the *root* cause of why an executor is leaked,
but by cutting off this cyclic references, it may make it a bit easier
to track down leaks of an executor.
2022-02-28 22:40:04 -08:00
Antonio Scandurra
26f7f4f5b2
WIP: Remove ripgrep and start matching query for paths ourselves
2022-02-24 12:33:28 +01:00
Max Brunsfeld and Nathan Sobo
669fe775df
Normalize paths passed to the FakeFs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-22 12:43:56 -08:00
Antonio Scandurra
3a6fb0a8fe
Fix warning
2022-02-18 12:21:24 +01:00
Max Brunsfeld
6d8db5f6bb
Convert some project tests to use FakeFs
...
Also, tweak some FakeFs methods to make them slightly more convenient.
2022-02-17 11:09:27 -08:00
Antonio Scandurra
03812a6cdc
Pass write(true) when creating a file in RealFs
2022-02-14 09:12:32 +01:00
Antonio Scandurra and Nathan Sobo
a172c3c5c6
Apply file-system operations coming from an LSP code action
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 16:11:40 +01:00
Nathan Sobo and Antonio Scandurra
4eb2b978e8
Fix warning when not building in test mode
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 09:23:16 -07:00
Antonio Scandurra and Nathan Sobo
a2aa844ddd
Buffer all incoming file-system events
...
This avoids a problem where the operating system would drop events
on the floor and tell us to rescan the entire directory, which in turn
would cause a flicker in the project browser.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 16:31:34 +01:00
Max Brunsfeld and Nathan Sobo
0cfb9ff1ae
Add random delays in FakeFs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-24 16:50:38 -08:00
Max Brunsfeld
a293e9c0c5
Suppress unused field warnings
2021-12-16 11:17:06 -08:00
Nathan Sobo and Max Brunsfeld
d3f28166cb
Rename buffer crate to text and name its entrypoint after the crate
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:26:12 -07:00
Max Brunsfeld and Nathan Sobo
2f0212ee98
Rename worktree crate to project, pull in Project
...
Also, move the high-level fuzzy mathcing functions in
zed::fuzzy into the fuzzy crate so that project can
use them.
This required defining a 'PathMatchCandidateSet' trait
to avoid a circular dependency from fuzzy to worktree.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 16:45:05 -07:00