Max Brunsfeld
d750b02a7c
Handle file and diff updates to incomplete buffers
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-21 15:39:57 -08:00
Max Brunsfeld
c321f5d94a
Assert that buffers' file state matches in randomized collab test
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-21 15:38:44 -08:00
Antonio Scandurra
47348542ef
Synchronize buffers when either the host or a guest reconnects
2022-12-21 14:20:56 +01:00
Antonio Scandurra
b5fb8e6b8b
Remove unused JoinProjectError
2022-12-21 13:10:07 +01:00
Antonio Scandurra
ecd80c553c
Verify removing worktrees while host is offline
2022-12-21 11:47:01 +01:00
Antonio Scandurra
59d7f06c57
Handle proto::UpdateProjectCollaborator
message in Project
2022-12-21 11:09:27 +01:00
Max Brunsfeld
ec6f2a3ad4
💄 Reorder private Project method
2022-12-20 17:32:42 -08:00
Max Brunsfeld
6542b30d1f
Implement rejoining projects as guest when rejoining a room
...
Co-authored-by: Julia Risley <julia@zed.dev>
2022-12-20 15:02:26 -08:00
Max Brunsfeld
55ebfe8321
Handle unshared projects when rejoining a room
...
Also, construct remote projects via the room, to guarantee
that the room can manage the projects' sharing lifecycle.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-12-20 11:10:46 -08:00
Antonio Scandurra
9d15b3d295
Remove unused import
2022-12-20 17:47:22 +01:00
Antonio Scandurra
d31fd9bbf2
Support adding worktrees to project while host is offline
2022-12-20 17:42:08 +01:00
Antonio Scandurra
52babc51a0
Make host reconnection test pass when mutating worktree while offline
2022-12-20 17:30:58 +01:00
Antonio Scandurra
1a3940a12e
Fix project reconnection test to ensure rooms actually reconnects
2022-12-20 14:51:46 +01:00
Max Brunsfeld
70dd586be9
Start work on rejoining rooms, supplying all project info at once
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-19 17:50:43 -08:00
Antonio Scandurra
d8219545c9
💄
2022-12-19 16:17:27 +01:00
Antonio Scandurra
06f6d02579
Stop counting extensions in worktree
2022-12-19 16:05:22 +01:00
Antonio Scandurra
05e99eb67e
Introduce an epoch to ConnectionId
and PeerId
2022-12-14 15:55:56 +01:00
Mikayla Maki
da100a09fb
WIP
2022-12-08 20:21:00 -08:00
Mikayla Maki
c42da5c9b9
WIP
2022-12-08 20:21:00 -08:00
Mikayla Maki
83aefffa38
Rearrange the terminal code to not have a cyclic dependency with the project
2022-12-08 20:21:00 -08:00
Mikayla Maki
1b8763d0cf
WIP - move terminal to project as pre-prep for collaboration
2022-12-08 20:21:00 -08:00
Antonio Scandurra
9a62150dce
Merge branch 'main' into reconnections-2
2022-12-05 19:18:40 +01:00
Antonio Scandurra
7bbd97cfb9
Send diagnostic summaries synchronously
2022-12-05 19:07:06 +01:00
Kay Simmons
d20d21c6a2
Dock persistence working!
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Mikayla Maki
4798161118
Distributed database pattern built.
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:06:01 -08:00
Mikayla Maki
c84201fc9f
Done first draft of strongly typed migrations
2022-12-03 16:05:25 -08:00
Antonio Scandurra
969c314315
Merge branch 'main' into reconnections-2
2022-12-02 19:09:33 +01:00
Antonio Scandurra
d0709e7bfa
Error if project is disconnected after getting completions response
2022-11-28 19:19:24 +01:00
Antonio Scandurra
af2a2d2494
Return error when waiting on a worktree snapshot after disconnecting
2022-11-28 17:43:40 +01:00
Antonio Scandurra
2a0ddd99d2
Error if project is disconnected after getting code actions response
2022-11-28 15:05:34 +01:00
Antonio Scandurra
5581674f8f
After completing LSP request, return an error if guest is disconnected
2022-11-28 14:39:27 +01:00
Julia
a666ca3e40
Collapse proto Point into the one kind of use case, utf-16 coords
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-23 13:28:44 -05:00
Julia
b58ae8bdd7
Clip diagnostic range before and during empty range expansion
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-23 13:21:05 -05:00
Julia
e51cbf67ab
Fixup compile errors
2022-11-22 02:49:47 -05:00
Julia
8c75df30cb
Wrap a bunch of traits for Unclipped<T>
2022-11-21 15:58:44 -05:00
Julia
1c84e77c37
Start adding concept of Unclipped
text coordinates
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-21 15:48:25 -05:00
Julia
436c89650a
Rename clamped -> clipped
2022-11-21 15:23:00 -05:00
Julia
bb32599ded
Clamp for all UTF-16 to offset conversions which used to use ToOffset
2022-11-21 14:25:01 -05:00
Julia
f9cbed5a1f
Clamp UTF-16 coordinate while performing LSP edits rather than panicing
2022-11-21 11:48:13 -05:00
Max Brunsfeld
bca635e5d3
Add LspAdapter hook for processing completions, fix completion sorting from Pyright
2022-11-17 15:26:46 -08:00
Antonio Scandurra
4f39181c4c
Revert "Don't replace newer diagnostics with older ones"
...
This reverts commit 71eeeedc05
.
2022-11-17 16:57:40 +01:00
Antonio Scandurra
71eeeedc05
Don't replace newer diagnostics with older ones
2022-11-17 12:21:51 +01:00
Antonio Scandurra
c1291a093b
WIP: Allow subscribing to remote entity before creating a model
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-16 19:51:24 +01:00
Antonio Scandurra
faf265328e
Wait for acknowledgment before sending the next diagnostic summary
2022-11-16 16:03:01 +01:00
Antonio Scandurra
117458f4f6
Send worktree updates after project metadata has been sent
2022-11-16 14:58:11 +01:00
Antonio Scandurra
4b1dcf2d55
Always use strings to represent paths over the wire
...
Previously, the protocol used a mix of strings and bytes without any consistency.
When we go to multiple platforms, we won't be able to mix encodings of paths anyway.
We don't know this is the right approach, but it at least makes things consistent
and easy to read in the database, on the wire, etc. Really, we should be using entry
ids etc to refer to entries on the wire anyway, but there's a chance this is the
wrong decision.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:46:17 +01:00
Antonio Scandurra
3e8fcb04f7
Finish implementing Db::update_project
2022-11-15 09:01:51 +01:00
Antonio Scandurra
40073f6100
Wait for acknowledgment before sending the next project update
2022-11-14 15:32:49 +01:00
Julia
ea8778921b
Use EMPTY
code action kind to get more RA actions without breaking TS
2022-11-11 15:26:12 -05:00
Julia
b6f78cd5dc
Merge pull request #1871 from zed-industries/skip-additional-edit-within-primary
...
Skip LSP additional completion edits which fall within primary edit
2022-11-11 10:31:41 -05:00
Antonio Scandurra
a6198c9a1a
Merge pull request #1870 from zed-industries/fix-remote-abs-paths
...
Fix bug where absolute paths of worktrees were not being stored on the server
2022-11-11 15:28:17 +00:00
Julia
ad698fd110
Test for filtering out of faulty LSP completion additional edits
2022-11-11 10:28:07 -05:00
Julia
44c3cedc48
Skip additional completions on any kind of overlap with primary edit
2022-11-10 18:53:37 -05:00
Julia
03115c8d71
Skip LSP additional completion edits which fall within primary edit
2022-11-10 15:28:11 -05:00
Nathan Sobo
fb03eb7a3c
Store absolute path on server when sharing worktree
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-11-10 09:34:16 -07:00
Julia
7482660456
Don't restrict which kind of code actions we ask the LSP server for
2022-11-08 16:23:31 -05:00
Julia
8361b4d47a
Add test for go-to hunk and fix discovered bugs
2022-10-28 15:08:13 -04:00
Julia
ae2021e073
WIP start setting up test infrastructure for editor diff actions
...
Co-Authored-By: Kay Simmons <kay@zed.dev>
2022-10-28 15:08:13 -04:00
Antonio Scandurra
bb0f6e85a8
Assign a new language when remote buffer is renamed
2022-10-26 17:52:39 +02:00
Antonio Scandurra
19adfdf8bb
Match progress token's prefix to detect disk-based diagnostic progress
...
The new version of rust-analyzer changed the disk-based diagnostic token
to `rust-analyzer/checkOnSave/0`. The trailing number could be different
from 0 when there are multiple Rust projects open using the same rust-analyzer
instance.
As such, with this commit we will perform a prefix match as opposed to a strict
equality check when detecting a disk-based diagnostics progress token.
2022-10-25 11:35:59 +02:00
K Simmons
79cf5dbd4b
remove rocksdb
2022-10-18 17:21:15 -07:00
Mikayla Maki
5bb2edca8b
Added absolute path info to remote worktrees (updated protocol version)
2022-10-17 15:27:46 -07:00
Mikayla Maki
1789dfb8b1
Fixed tests
2022-10-17 14:53:52 -07:00
Mikayla Maki
f473eadf2d
Fixed failing test, now to make breadcrumbs scrollable...
2022-10-17 13:57:29 -07:00
Mikayla Maki
1f161b9aa1
Show full, absolute paths when displaying a local worktree
2022-10-17 13:35:45 -07:00
Max Brunsfeld
2d3d07d4d7
Clear project's shared state upon every disconnection
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <as-cii@zed.dev>
2022-10-14 10:17:59 -07:00
Antonio Scandurra
37a0fd33c5
Use fake file system for buffer identity test
2022-10-13 09:33:55 +02:00
Antonio Scandurra
f28cc5ca0c
Preserve buffer identity when underlying entry temporarily disappears
2022-10-13 09:10:10 +02:00
Antonio Scandurra
0a1aea6cb8
Add test to ensure buffer identity is kept across Project::rename
2022-10-13 08:17:35 +02:00
Max Brunsfeld
6cdf4e98fc
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 Brunsfeld
69dcfbb423
Send guests DiskBasedDiagnosticsFinished messages when they join a project
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-10-12 13:49:09 -07:00
Max Brunsfeld
3c3671a193
Avoid sending stale diagnostics after sharing a worktree
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-10-12 11:33:19 -07:00
Antonio Scandurra
9adbab5d99
Fix opening a buffer after leaving and joining the same project
...
This bug existed prior to #1700 and was caused by not clearing the
buffers that were already shared with a peer that left and opened
a project using the same connection. When such peer would re-join
the project and open a buffer that it had opened previously, the
host assumed the peer had already seen that buffer and wouldn't bother
sending it again.
2022-10-12 10:31:06 +02:00
Mikayla Maki
0beb97547e
Finished refactoring out fs and rope
2022-10-11 15:25:54 -07:00
Mikayla Maki
0a8e2f6bb0
Moved fs to it's own crate, build failing due to cyclic dependency on rope
2022-10-11 13:03:36 -07:00
Antonio Scandurra
afaacba41f
Merge remote-tracking branch 'origin/main' into room
2022-10-10 15:43:38 +02:00
Max Brunsfeld
ec76146a23
Merge pull request #1692 from zed-industries/avoid-duplicate-autoformat-edits
...
Avoid duplicate autoformat edits
2022-10-07 09:35:10 -07:00
Antonio Scandurra
386de03f46
Fix room disconnection problems when creating room and sharing project
2022-10-07 14:39:11 +02:00
Antonio Scandurra
b479c8c8ba
Move project sharing into Room
2022-10-07 10:14:17 +02:00
Julia
d67fad8dca
Extend a test to cover repos not at worktree root
2022-10-06 22:20:10 -04:00
Max Brunsfeld
47a8e4222a
Don't allow multiple concurrent formatting requests for the same buffer
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-10-06 17:03:38 -07:00
Julia
771215d254
Reload git index on file events to catch new contents
2022-10-06 12:01:21 -04:00
Julia
3f4be5521c
Load diff base from correct relative path
2022-10-05 16:04:55 -04:00
Antonio Scandurra
41240351d3
Simplify Collaborator
to stop including the user
...
It can be retrieved from the `Room` and we're guaranteed to have
a room in order to have collaborators in a project.
2022-10-04 18:00:54 +02:00
Mikayla Maki
499e95d16a
Removed debugs, simplified settings
2022-10-03 17:43:05 -07:00
Mikayla Maki
6f7547d28f
Fixed a couple bugs in tests and worktree path handling
2022-10-03 17:18:38 -07:00
Julia
6f6d72890a
Once again respect user settings for git gutter
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 15:42:30 -04:00
Julia
e6487de069
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
Julia
a5c2f22bf7
Move git gutter settings out of editor settings
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 14:53:33 -04:00
Julia
8f4b3c3493
Store repo content path as absolute
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 14:00:58 -04:00
Julia
9427bb7553
Be clearer about using GitFilesIncluded setting
2022-10-03 11:58:48 -04:00
Antonio Scandurra
6426037653
Adapt integration tests to always pass a room id to Project::share
...
Randomized test is failing, so we'll look into that next.
2022-10-03 15:44:11 +02:00
Mikayla Maki
5769cdc354
made git diff rendering respect line wrap
2022-10-02 18:00:13 -07:00
Mikayla Maki
512f817e2f
Added proto messages for updating the head text
2022-10-01 18:18:35 -07:00
Mikayla Maki
8c24c858c9
Touched up comments
2022-09-30 17:36:22 -07:00
Mikayla Maki
af0974264c
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
Julia
c95646a298
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
Julia
42b7820dbb
Perform git diff on remote buffer open
2022-09-30 18:05:09 -04:00
Julia
ce7f6dd082
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
Antonio Scandurra
964a5d2db7
WIP: require sharing projects on a given Room
2022-09-30 18:21:47 +02:00