Antonio Scandurra and Nathan Sobo
4ca4313b49
In add_option_view, avoid bumping view's ref counts if view is None
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-03 17:52:39 +01:00
Nathan Sobo and Max Brunsfeld
8e3630df62
Fix alignment of blocks adjacent to other blocks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:58:44 -07:00
Nathan Sobo and Max Brunsfeld
26ab95eae9
Get all tests passing with new blocks API
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:52:34 -07:00
Nathan Sobo and Max Brunsfeld
26a4b9cca6
Use new BlockMap API to render diagnostics
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:22:40 -07:00
Max Brunsfeld and Nathan Sobo
cf3093aace
Start work on generalizing the BlockMap to allow arbitrary elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 15:25:55 -08:00
Antonio Scandurra and Nathan Sobo
ca383df31e
Avoid allocating a Patch just to check if there are no edits
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 16:47:04 +01:00
Antonio Scandurra and Nathan Sobo
9fb5b384dc
Use the new buffer subscription API to keep DisplayMap in sync
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 16:08:53 +01:00
Antonio Scandurra and Nathan Sobo
137a1969bd
Introduce text::Buffer::subscribe
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 15:55:05 +01:00
Antonio Scandurra
8bb9cb3953
Bump FoldMap's version in FoldMap::sync (and not in DisplayMap)
2021-12-01 12:05:02 +01:00
Antonio Scandurra
f849b33b2d
Don't produce invalid intermediate edits in Patch::compose
2021-12-01 11:44:33 +01:00
Max Brunsfeld and Nathan Sobo
80a05508ba
WIP - maintain foldmap with Buffer::edits_since
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-30 17:23:02 -08:00
Max Brunsfeld
a0cb583fcb
Use &Snapshot directly instead of impl Into<Content<'a>>
...
The text::Buffer and its snapshot already used the same representation
for their content, so we can just make Buffer deref to a Snapshot.
2021-11-30 13:32:11 -08:00
Nathan Sobo and Max Brunsfeld
93322a4858
Name the root file of every crate after the crate to ease navigation
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:46:39 -07:00
Nathan Sobo and Max Brunsfeld
087fe38e38
Fix warning
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:27:00 -07:00
Nathan Sobo and Max Brunsfeld
811689d234
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
Nathan Sobo
71a08ab719
Bump versions in preparation for release
2021-11-30 09:43:51 -07:00
Nathan Sobo and Antonio Scandurra
539698ec40
Avoid building up pending edits when soft wrapping is disabled
...
This was causing us to get slower over time as we stacked up hundreds of thousands of pending edits whenever soft wrap was disabled.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-30 08:28:29 -07:00
Antonio Scandurra
11ab5ed3a7
Use display coordinates for the highlighted row in "go to line"
2021-11-30 11:40:53 +01:00
Nathan Sobo and Max Brunsfeld
b1680df715
Fix randomized test failures by waiting for client_b to be added to worktree_a
...
We perform an async fetch of client_b's user data on worktree_a, which ends up holding a handle that prevents worktree_a from being released later in the test. By waiting for this fetch to finish before proceeding, we can be sure worktree_a actually gets released.
A more comprehensive fix would be some way to ensure we actually perform a release if an entity is fully dropped outside of an update cycle, but this fixes the issue for now.
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-29 16:48:09 -07:00
Max Brunsfeld and Nathan Sobo
9ddae3c4d4
Introduce a collections crate w/ deterministic hashmap, hashset in tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 15:22:45 -08:00
Max Brunsfeld and Nathan Sobo
d51c033b98
Consolidate pending effects logic into MutableAppContext::update
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 14:16:19 -08:00
Max Brunsfeld and Nathan Sobo
ca11c68a19
Introduce weak_handle methods on ModelContext and ViewContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 14:13:22 -08:00
Max Brunsfeld
b70cc651e5
Paint highlighted lines correctly when horizontally scrolled
2021-11-29 11:28:43 -08:00
Antonio Scandurra
ef4ae138e6
Fix test assertions
2021-11-29 18:15:03 +01:00
Antonio Scandurra
43583e1e80
Embed a plain text grammar and override settings for that too
2021-11-29 18:01:51 +01:00
Antonio Scandurra and Nathan Sobo
c9e4f7a7eb
Introduce a new Grammar struct and allow it to be optional
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 17:38:59 +01:00
Antonio Scandurra and Nathan Sobo
4e5db4815f
Make settings fields that can be overridden private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 17:08:43 +01:00
Antonio Scandurra
e22acd4b44
Add a sample markdown grammar to honor the new soft wrap override
2021-11-29 09:39:16 +01:00
Antonio Scandurra
f1ef633508
Allow overriding editor settings on a per-language basis
2021-11-29 09:39:13 +01:00
Nathan Sobo
a3d5e9d9b8
Give avatar ribbons a rounded top
2021-11-28 14:04:31 -07:00
Nathan Sobo
19dd12e1c6
Associate collaborator avatars with "ribbons" corresponding to their cursor color
2021-11-28 13:25:05 -07:00
Nathan Sobo
30084531ed
Tweak avatar sizes in titlebar
2021-11-28 12:41:46 -07:00
Nathan Sobo
03b114d593
Render active worktree collaborator avatars in the titlebar
2021-11-28 12:28:10 -07:00
Nathan Sobo
f34b494fef
Introduce a TestClient and associate it with a PeerId
...
This makes it easier to integration test peer interactions because now we know their PeerIds.
2021-11-27 12:33:25 -07:00
Nathan Sobo
306c3e9a1b
Populate the user data of worktree collaborators
...
This will make it possible for us to render their avatars. Previously we only had the user ids. During rendering, everything needs to be available synchronously. So now, whenever collaborators are added, we perform the async I/O to fetch their user data prior to adding them to the worktree.
2021-11-26 20:35:50 -07:00
Nathan Sobo
fe66755e30
WIP: Give worktrees a reference to the UserStore
...
This will allow them to fetch user data when peers are added or removed. Still work to do though.
2021-11-26 19:12:12 -07:00
21a025ec7b
Introduce a worktree::Collaborator struct that holds the user_id
...
We can use this to render avatars.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 11:28:30 -07:00
Nathan Sobo and Antonio Scandurra
ff11bcf0aa
Rename PeoplePanel to ContactsPanel
...
Yeah, it's true they're people, but this is a more specific way in which they're people.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 11:13:05 -07:00
Nathan Sobo and Antonio Scandurra
c72a5a822c
Rename collaborator_logins to authorized_logins
...
Again, this is about reserving the concept of a "collaborator" for actual collaborators on a worktree.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 11:08:34 -07:00
Nathan Sobo and Antonio Scandurra
7754a5a6bc
Rename Collaborators to Contacts
...
This will allow us to use the word "collaborator" to describe users that are actively collaborating on a worktree.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 10:59:41 -07:00
Nathan Sobo
e9edacaca4
Associate Peers with a user_id
...
This will help us render the collaborator avatars for the active worktree when we know its peers.
2021-11-26 10:22:34 -07:00
Nathan Sobo
252e50d635
Associate the project with an active worktree
...
This is similar to the active entry, but it can remain assigned even if there is no active entry and we can potentially manipulate it in other scenarios such as interaction with the project browser. This prepares the ground to show the collaborators for the active worktree.
2021-11-26 10:21:56 -07:00
Nathan Sobo
e9847e4b39
Merge pull request #257 from zed-industries/go-to-line-plus-mouse
...
Preserve selection when clicking on editor dismisses go-to-line dialog
2021-11-25 14:17:29 -07:00
Nathan Sobo
5194362de4
Preserve selection when clicking on editor dismisses go-to-line dialog
2021-11-25 14:10:43 -07:00
Nathan Sobo
ca3e7ff87f
Implement cmd-k cmd-d to replace selection with next
2021-11-25 13:39:08 -07:00
Nathan Sobo
ee129edc89
Improve range-based selection queries to only resolve the requested selections
2021-11-25 13:19:49 -07:00
Antonio Scandurra
7c93b1994c
WIP
2021-11-25 17:11:30 +01:00
Antonio Scandurra and Nathan Sobo
1916ecf6c4
Make summaries_for_anchors/summaries_for_anchor_ranges more generic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-25 17:03:06 +01:00
Antonio Scandurra and Nathan Sobo
604fc600ac
Allow a single start/end bias per AnchorRangeMap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-25 16:53:10 +01:00
Antonio Scandurra and Nathan Sobo
e66e9eac0d
Return Selections from Editor::selections_in_range
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-25 16:45:06 +01:00