Commit Graph
268 Commits
Author SHA1 Message Date
Antonio Scandurra 8ce65dc16a Preserve buffer identity when underlying entry temporarily disappears 2022-10-13 09:10:10 +02:00
Max Brunsfeld a2c9a67558 Re-export basic text types from text and language crates
Also avoid production dependencies on fs and rope in collab
2022-10-12 15:48:19 -07:00
Max BrunsfeldandAntonio Scandurra b64916817b Avoid sending stale diagnostics after sharing a worktree
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-10-12 11:33:19 -07:00
Mikayla Maki a9ce687031 Finished refactoring out fs and rope 2022-10-11 15:25:54 -07:00
Julia 981253213d Reload git index on file events to catch new contents 2022-10-06 12:01:21 -04:00
Julia 581c7bfad6 Load diff base from correct relative path 2022-10-05 16:04:55 -04:00
Mikayla Maki bb80bd45bf Removed debugs, simplified settings 2022-10-03 17:43:05 -07:00
Mikayla Maki b49d0e782c Fixed a couple bugs in tests and worktree path handling 2022-10-03 17:18:38 -07:00
JuliaandMikayla Maki c680a6ebbc Once again respect user settings for git gutter
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 15:42:30 -04:00
JuliaandMikayla Maki 0615592f81 Rename head text to indicate that it's not always going to be from head
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 15:11:06 -04:00
JuliaandMikayla Maki fb3c69db37 Move git gutter settings out of editor settings
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 14:53:33 -04:00
JuliaandMikayla Maki 20cff89bed Store repo content path as absolute
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 14:00:58 -04:00
Julia aaa4984ffe Be clearer about using GitFilesIncluded setting 2022-10-03 11:58:48 -04:00
Mikayla Maki cb189400a6 Touched up comments 2022-09-30 17:36:22 -07:00
d2ac8018bb Refactored git repository code to seperate out repository entry tracking data and git2 mocking code.
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Julia <julia@zed.dev>
2022-09-30 17:33:34 -07:00
c15e29be64 WIP Start refactoring separation of concerns for repo metadata
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-30 18:25:25 -04:00
484bdb0fc0 Start a test for remote git data updating
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-30 15:51:32 -04:00
Julia 310975fcbc Fix test build 2022-09-30 11:13:22 -04:00
Julia d1a7dc02a2 Track index instead of head for diffs 2022-09-29 13:16:02 -04:00
Mikayla Maki 4398b2f9a4 Added test, and fix, for changed_repos method on LocalWorktree 2022-09-29 13:16:02 -04:00
Mikayla Maki ab3f820edc WIP, re-doing fs and fake git repos 2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki 1da2b63b97 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 5527234e06 Build again 2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki 51d8a04748 WIP Notifying buffers of head text change
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki 486156fd26 Update repo scan id when files under dot git dir events
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki 74deb91776 Remove git repos from worktree when deleted on storage
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki a40f477416 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 0199141606 Get the test to failing,,, correctly 2022-09-29 13:16:02 -04:00
Mikayla Maki 2170499ac3 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
Mikayla Maki 5deb414296 WIP - max & mikayla working on tests 2022-09-29 13:16:02 -04:00
7a52a2dde5 WIP pls amend me
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-29 13:16:02 -04:00
JuliaandMikayla Maki 39789691d5 Utilize initial file contents as head text by default
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-29 13:16:02 -04:00
Julia f019cfc81d Async-ify head text loading 2022-09-29 13:16:02 -04:00
Julia 9d777c74f2 Perform initial file load git diff async 2022-09-29 13:16:02 -04:00
ForLoveOfCats d7fbe9b084 Load a file's head text on file load just to get started 2022-09-29 13:16:01 -04:00
Max Brunsfeld 81af17d294 Start work on a client-side telemetry system 2022-09-23 12:23:12 -07:00
Max Brunsfeld fdc1cc2702 Avoid changing entry's kind from Dir to PendingDir in refresh_entry
When lots of filesystem changes are occurring, the filesystem event
for the directory creation may be delivered before the call to
fs::metadata resolves.
2022-08-30 16:13:07 -07:00
ForLoveOfCatsandMikayla fbea44bc5c One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Antonio Scandurra 6968a0a959 Detect cycles also when processing events 2022-07-18 17:31:09 +02:00
Antonio Scandurra 53fc8c40a1 Detect cycles when scanning a directory 2022-07-18 13:47:15 +02:00
Max Brunsfeld 44cdc14c7a Start work on a test for a worktree with symlink cycles 2022-07-18 12:23:07 +02:00
Max Brunsfeld 747efac8d3 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 9de9d517fd Differentiate among tabs with the same name
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.

As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
Antonio Scandurra 005bba6203 🎨 2022-07-08 11:42:59 +02:00
Antonio Scandurra b1b78dac12 Honor gitignores above worktree root 2022-07-08 11:19:46 +02:00
Antonio Scandurra a90bf45522 Use absolute paths to compute ignored status
This lays the groundwork for harvesting gitignores up above the
worktree.
2022-07-08 11:19:21 +02:00
Antonio Scandurra 355a214454 Make build_gitignore async 2022-07-08 08:50:21 +02:00
Max BrunsfeldandKeith Simmons e6c9549bbd Strip carriage returns from all text in text::Buffer
* Moving the logic from Rope to text::Buffer makes it easier
  to keep the Rope in sync with the fragment tree.
* Removing carriage return characters is lossier, but is much
  simpler than incrementally maintaining the invariant that
  there are no carriage returns followed by newlines. We may
  want to do something smarter in the future.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-07-05 17:25:09 -07:00
Antonio Scandurra a90a086c3e Transmit new line ending when buffer is reloaded 2022-07-05 08:01:14 +02:00
Max Brunsfeld bf20993000 Rename NewlineStyle -> LineEnding 2022-07-04 12:47:40 -07:00