Commit Graph
457 Commits
Author SHA1 Message Date
Max Brunsfeld 8609ccdcf7 Add test coverage for FS events happening inside unloaded dirs 2023-06-29 11:55:25 -07:00
Max Brunsfeld ba80c53278 Avoid redundant FS scans when LSPs changed watched files
* Don't scan directories if they were already loaded.
* Do less work when FS events occur inside unloaded directories.
2023-06-29 11:35:49 -07:00
Max BrunsfeldandNathan Sobo 91f87bb31f Scan any external/ignored directories needed for LSP watchers
Also, don't include "external" files in project searches. Treat them
the same as ignored files.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-06-23 12:53:25 -07:00
Max Brunsfeld 27b74e9ea1 Prune the set of expanded dir ids as entries are removed 2023-06-23 10:23:21 -07:00
Max Brunsfeld b22a18345e Emit loaded events for lazily loaded paths in worktree 2023-06-23 09:39:37 -07:00
Max Brunsfeld ffb0a215ea Fix randomized worktree test failures
* Distinguish between unloaded and pending directories via separate entry kind.
* Scan directories before updating ignore statuses after fs events.
2023-06-22 16:52:04 -07:00
Max Brunsfeld 5350164db9 Get integration test passing. Wait for expand entry on remote projects. 2023-06-22 10:34:28 -07:00
Max Brunsfeld 400e3cda32 Scan directories when they stop being ignored 2023-06-22 10:34:28 -07:00
Max Brunsfeld d3477f75ac Fix reloading of git repositories
Also, clean up logic for reloading git repositories.
2023-06-22 10:34:28 -07:00
Max Brunsfeld 4424dafcd7 Fix expansion of ancestor directories when refreshing a path 2023-06-22 10:34:28 -07:00
Max Brunsfeld 3e6aedfc69 Expand dirs on-demand when opening buffers inside unloaded dirs 2023-06-22 10:34:28 -07:00
Max Brunsfeld cd823ede4d Add a bit to each entry indicating if it's outside of the worktree root 2023-06-22 10:34:28 -07:00
Max Brunsfeld 1b71589514 Fix confusion between canonical vs non-canonical paths when rescanning, expanding paths 2023-06-22 10:34:28 -07:00
Max Brunsfeld 3c06bd056a Load git repositories when inserting the entry for the .git
Don't wait until populating that directory entry, for two reasons:
* In the case of submodules, .git is not a directory
* We don't eagerly populate .git directories, since their contents
  are automatically ignored.
2023-06-22 10:34:28 -07:00
Max Brunsfeld 6fe74602ac Fix detection of when refreshed paths are outside of worktree root 2023-06-22 10:34:28 -07:00
Max Brunsfeld 205c758e4e Wait for ignored directory to be expanded in descendant entries test 2023-06-22 10:34:28 -07:00
Max Brunsfeld aa6f2f1816 Remove logic for marking worktree entries as collapsed 2023-06-22 10:34:28 -07:00
Max Brunsfeld f910d8fe3e Only scan ignored or externals paths if expanded in a project panel 2023-06-22 10:34:28 -07:00
Max Brunsfeld 4c03231863 Maintain on the background scanner a set of expanded directories 2023-06-22 10:34:28 -07:00
Nathan Sobo 8c298a9da5 Rename SumTree::push_tree to ::append 2023-06-19 19:49:33 -06:00
Max Brunsfeld c17dbab6f1 Move worktree tests to their own file 2023-06-13 10:22:14 -07:00
Mikayla Maki fc1f8c5657 Fixed ci 2023-06-07 16:58:55 -07:00
Mikayla Maki 8ca1a7d43d add scan_complete await 2023-06-07 16:51:54 -07:00
Mikayla Maki 9e9d8e3a7b add mroe dbg 2023-06-07 16:50:15 -07:00
Mikayla Maki 9d58c4526d Fix warning 2023-06-07 16:45:36 -07:00
Mikayla Maki 5f143f689f Attempting to debug on ci... 2023-06-07 16:44:13 -07:00
Mikayla Maki 572d40381a Add track caller 2023-06-07 16:39:10 -07:00
Mikayla MakiandMax 2c5e83bf72 Fixed a bug where buffer saved clocks would desynchronize in rare execution paths
co-authored-by: Max <max@zed.dev>
2023-06-07 16:10:45 -07:00
Mikayla Maki 28ba27c9c5 Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Mikayla Maki 34e134fafb Fix several randomized test failures with the new git status implementation 2023-06-07 14:10:17 -07:00
Mikayla Makiandmax a2d58068a7 Improve test generation and implement status propogation
co-authored-by: max <max@zed.dev>
2023-06-05 17:30:12 -07:00
Mikayla Maki 9a13a2ba2c WIP: Add status bubbling to project panel 2023-06-05 12:53:04 -07:00
Mikayla Maki e56fcd69b5 Track git status changes with the changed_paths system 2023-06-05 11:50:23 -07:00
Joseph Lyons 7c60f636d5 Fix typos 2023-06-02 22:02:19 -04:00
Mikayla Makiandmax ca077408d7 Fix bug where git statuses would not be initialized on startup
move git status queries to be on entry creation

co-authored-by: max <max@zed.dev>
2023-06-02 17:38:39 -07:00
Mikayla Makiandmax 2f97c7a4f1 Remove stale comments
Implement status bubbling query with sum tree traversals

co-authored-by: max <max@zed.dev>
2023-06-02 16:41:01 -07:00
Mikayla Makiandmax e377459948 Remove stateful bubbling
co-authored-by: max <max@zed.dev>
2023-06-02 15:07:49 -07:00
Mikayla Makiandmax 99a0e11e70 Abandoning stateful bubbling approach
co-authored-by: max <max@zed.dev>
2023-06-02 14:51:40 -07:00
Mikayla Maki 3768851799 WIP: Git statuses 2023-06-01 23:27:49 -07:00
Mikayla Maki 5e43dcaab8 WIP: Add stateful status bubbling to worktree 2023-06-01 16:51:34 -07:00
Max Brunsfeld 03a351fb26 Make language settings accessors take an arc dyn file 2023-05-31 14:57:04 -07:00
Max Brunsfeld a2ab7c9eb9 Respect project-specific settings for copilot 2023-05-31 14:42:15 -07:00
Mikayla Makiandjulia 4717ce1da3 WIP: Move statuses to entries
co-authored-by: julia <julia@zed.dev>
2023-05-31 12:55:31 -07:00
Mikayla MakiandJulia 22e4086658 WIP: Move statuses to be on their associated file entries in worktree
co-authored-by: Julia <julia@zed.dev>
2023-05-31 11:03:11 -07:00
Max Brunsfeld 89446c7fd4 Start work on respecting project-specific settings 2023-05-29 14:25:49 -07:00
Max Brunsfeld 1f42bfc1bd Include repositories with workdir changes in worktree UpdatedGitRepsositories event 2023-05-26 15:47:37 -07:00
Max Brunsfeld 02b95ef320 Derive worktree update messages from existing change events 2023-05-26 15:47:37 -07:00
Max Brunsfeld 6628c4df28 Store worktree changes in a sorted arc slice, not a HashMap
We don't need to look-up change types by an arbitrary key, but we
do need to iterate it. It would also be useful to be able to
cheaply clone the changes, to use them in a background task.
2023-05-26 09:24:15 -07:00
Max Brunsfeld 59bfd40679 Make stricter assertions about change events in random worktree test 2023-05-26 09:24:15 -07:00
Max Brunsfeld f890eefdef Include paths loaded during initial scan in worktree UpdatedEntries event 2023-05-26 09:24:15 -07:00