Commit Graph
2036 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo faba276fdc 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 2463077b2d Merge pull request #269 from zed-industries/simplify-buffer-content
Use `&'a Snapshot` directly instead of `impl Into<Content<'a>>`
2021-11-30 13:48:15 -08:00
Max Brunsfeld 924e1578ea 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
Max Brunsfeld 36546463e6 Merge pull request #268 from zed-industries/improve-file-navigation
Improve file navigation by naming the root of every crate after the crate itself
2021-11-30 12:04:07 -08:00
Nathan SoboandMax Brunsfeld 1445ce10b5 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 SoboandMax Brunsfeld 748b1ba602 Fix warning
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-30 12:27:00 -07:00
Nathan SoboandMax 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
Nathan Sobo eacd2a45bb Bump versions in preparation for release 2021-11-30 09:43:51 -07:00
Nathan Sobo df1804b215 Merge pull request #267 from zed-industries/fix-soft-wrap-disabled
Avoid building up pending edits when soft wrapping is disabled
2021-11-30 08:39:00 -07:00
Nathan SoboandAntonio Scandurra 0ed488d93b 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 fcbd7f9a5a Merge pull request #266 from zed-industries/fix-go-to-line
Use display coordinates for the highlighted row in "go to line"
2021-11-30 11:55:00 +01:00
Antonio Scandurra 2449834868 Use display coordinates for the highlighted row in "go to line" 2021-11-30 11:40:53 +01:00
Nathan Sobo cb942a0e2f Merge pull request #265 from zed-industries/fix-collaborators-test
Fix flaky contacts test
2021-11-29 17:03:01 -07:00
Nathan SoboandMax Brunsfeld a1412166f0 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 BrunsfeldandNathan Sobo 1a91aa8194 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 BrunsfeldandNathan Sobo 5ec003530f Consolidate pending effects logic into MutableAppContext::update
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-29 14:16:19 -08:00
Max BrunsfeldandNathan Sobo 4cc1556ca4 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 29b616f4cc Merge pull request #263 from zed-industries/fix-highlighting-when-x-scrolled
Paint highlighted lines correctly when horizontally scrolled
2021-11-29 11:43:08 -08:00
Max Brunsfeld 88e0fe6f88 Paint highlighted lines correctly when horizontally scrolled 2021-11-29 11:28:43 -08:00
Max Brunsfeld 7537c3b6d4 Merge pull request #261 from zed-industries/setting-overrides
Override soft-wrap settings for Markdown and Plain Text
2021-11-29 11:12:40 -08:00
Antonio Scandurra 1803bd77ef Fix test assertions 2021-11-29 18:15:03 +01:00
Antonio Scandurra 9d7039ed51 Embed a plain text grammar and override settings for that too 2021-11-29 18:01:51 +01:00
Antonio ScandurraandNathan Sobo 2c17ae9aa6 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 ScandurraandNathan Sobo b9edde7b26 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 cc78ae14d4 Add a sample markdown grammar to honor the new soft wrap override 2021-11-29 09:39:16 +01:00
Antonio Scandurra 93de2bcfed Allow overriding editor settings on a per-language basis 2021-11-29 09:39:13 +01:00
Nathan Sobo e0998dbfda Merge pull request #260 from zed-industries/show-collaborators
Show collaborators for the active worktree in the titlebar
2021-11-28 14:16:16 -07:00
Nathan Sobo 815cc7ee91 Give avatar ribbons a rounded top 2021-11-28 14:04:31 -07:00
Nathan Sobo fbc307cd5e Associate collaborator avatars with "ribbons" corresponding to their cursor color 2021-11-28 13:25:05 -07:00
Nathan Sobo a5039cad65 Tweak avatar sizes in titlebar 2021-11-28 12:41:46 -07:00
Nathan Sobo 6ce76ca13e Render active worktree collaborator avatars in the titlebar 2021-11-28 12:28:10 -07:00
Nathan Sobo 4bd43e67ef 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 b307a7e91d 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 9930e92412 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
21aba54dc3 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 SoboandAntonio Scandurra d78d5712be 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 SoboandAntonio Scandurra c8ad5b68e0 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 SoboandAntonio Scandurra cd2c3c3606 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 9f29eeda03 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 f453928b44 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 74cdd32c58 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 f8cf534812 Merge pull request #256 from zed-industries/select-next
Implement select next (cmd-d) and replace selection with next (cmd-k cmd-d)
2021-11-25 14:10:54 -07:00
Nathan Sobo ad26362a82 Preserve selection when clicking on editor dismisses go-to-line dialog 2021-11-25 14:10:43 -07:00
Nathan Sobo fc2ae42f4b Implement cmd-k cmd-d to replace selection with next 2021-11-25 13:39:08 -07:00
Nathan Sobo d249618ee6 Improve range-based selection queries to only resolve the requested selections 2021-11-25 13:19:49 -07:00
Antonio Scandurra 09a53a0c64 WIP 2021-11-25 17:11:30 +01:00
Antonio ScandurraandNathan Sobo 2f78d93383 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 ScandurraandNathan Sobo 2f43ef67fd 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 ScandurraandNathan Sobo f42fd8e1bb Return Selections from Editor::selections_in_range
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 16:45:06 +01:00
Antonio ScandurraandNathan Sobo 861893b7b6 Autoscroll vertically to the newest selection on SelectNext
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 16:02:39 +01:00