7d566ce
Follow last collaborator or the next one via `cmd-alt-shift-f`
Antonio Scandurra created
7d566ce
Follow last collaborator or the next one via `cmd-alt-shift-f`
Antonio Scandurra created
67dbc31
Stop following when activating a different item on the follower pane
Antonio Scandurra created
3117554
Automatically unfollow when editing, scrolling or changing selections
Antonio Scandurra created
c550fc3
WIP - Start work on unfollowing automatically
Max Brunsfeld created
1728551
Always mirror the leader's selections when following
Max Brunsfeld created
ee3e604
Make boundary-finding methods wrap across newlines
This requires word and subword methods to explicitly acknowledge that they want to stop at newlines, which I think actually increases clarity. It makes the boundary finding method more general and useful for external callers such as the forthcoming vim crate.
Nathan Sobo created
f70f4c7
Improve DisplayPoint Debug impl
Nathan Sobo created
e5a00d7
Implement next_subword_end
Nathan Sobo created
c0d05c8
WIP: Start on previous_subword_start
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Nathan Sobo , Max Brunsfeld , and Keith Simmons created
c8f36af
Show borders around avatars and panes to indicate following state
Max Brunsfeld created
5b54874
Extract logic for scanning over character boundaries
Nathan Sobo created
0c89ad3
Make multi-byte and surrounding_word tests more readable
Just merge multi-byte tests into the main word movement tests
Nathan Sobo created
210fa4c
Remove CharKind::Newline
This is just a character, and so it seems clearer to refer to it specifically when we want to know if a character is a newline. There was only one case where we relied on Newline being different from Whitespace, and we special-cased that instance. Changing this actually makes us match the behavior of VS Code when double-clicking runs of multiple newlines. /cc @as-cii Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Nathan Sobo and Keith Simmons created
baeb7d2
Clarify word movement function names and improve test coverage
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Nathan Sobo and Keith Simmons created
06cd9ac
Match the leader's last selection when unfollowing
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
3e0bc97
Avoid infinite loop when collaborators follow each other
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
05ddd26
Merge pull request #648 from zed-industries/update-fonts-to-1-2-1
Update Zed fonts to 1.2.1
Nathan Sobo created
13a2dac
:lipstick:
Antonio Scandurra created
1c23a45
Update Zed fonts to 1.2.1
Nate Butler created
9575796
Allow unfollowing of leaders by clicking on their avatar
Antonio Scandurra created
a154e45
Implement `Workspace::unfollow`
This also changes the structure of the follow state back to be per-pane. This is because we can't share the same view state across different panes for a couple of reasons: - Rendering the same view in N different panes is almost always not something that we want due to global state such as focus. - If we allowed it and a user followed the same person in two different panes, there would be no way of unfollowing in one pane without also unfollowing in the other.
Antonio Scandurra created
a2dbebd
Hide cursor both locally and remotely when following
Antonio Scandurra created
c03eec0
Merge pull request #647 from zed-industries/fix-reopening-project-items
Pass project entry id to Pane when opening a project item
Nathan Sobo created
7cb8935
Pass project entry id to Pane when opening a project items
This fixes an oversight where we were failing to associate project items with their project entry ids, which broke the logic that prevented the same project entry from being opened twice in the same pane.
Nathan Sobo created
0e920ad
Unset follower's scroll anchor when editor is scrolled all the way up
Antonio Scandurra created
570c987
Handle view updates when following
Basic following now works. Editors' scroll positions are their only replicated view state.
Max Brunsfeld created
e338da0
Allow clicking a titlebar avatar to initiate following
Max Brunsfeld created
d860ed2
Allow FollowableItem::to_state_message to return None
This way, we can avoid a panic if we don't handle certain cases, like a non-singleton editor.
Max Brunsfeld created
df06320
:art: client
Forgot to push this yesterday night.
Max Brunsfeld created
d02ab9b
Start work on updating editors's scroll positions when following
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
2c53175
Rename FollowedItem -> FollowableItem
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
f4520d4
WIP
Antonio Scandurra created
7d7e105
Broadcast active view to followers
Antonio Scandurra created
3d81eb9
Allow accessing workspace after adding item to pane
Antonio Scandurra created
10e6d82
WIP: Start on sending view updates to followers
Antonio Scandurra created
f0b7bd6
Serialize initial follow state in leader and reflect it in follower
Antonio Scandurra created
0fdaa1d
WIP
Max Brunsfeld created
eda06ee
Add AnyWeakViewHandle
Max Brunsfeld created
5702737
Start work on an integration test for following
Max Brunsfeld created
845457e
Always read project entry id from workspace::Item
We cannot store a workspace item's project entry id separately, since buffers' entry ids can change (for example when doing a *save as*). Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
9716ff7
Set up logic for starting following
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
2b4738d
Avoid passing a closure to `workspace::register_project_item`
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
4bbfd09
Start defining follow protocol
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
c8a6226
Merge pull request #640 from zed-industries/item-view
Remove `workspace::Item` and rename `workspace::ItemView` to `workspace::Item`
Antonio Scandurra created
5d14c9a
Introduce `workspace::register_project_item`
This lets downstream crates like `editor` define how project items should be opened. Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
bff414c
Remove `Editor::find_or_create`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
6f9c378
Add `Editor::for_multibuffer` and repurpose `Editor::for_buffer`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
44d997c
Rename `app_state` to `global` in gpui
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
84bacc5
Rename `build_editor` to `build_item` in `Pane::open_item`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
6446660
Rename `open_buffer_for_path` to `open_buffer`
Antonio Scandurra created