004f98c
Merge pull request #661 from zed-industries/follow
Click to expand commit body
Introduce basic following experience
Antonio Scandurra created
004f98c
Merge pull request #661 from zed-industries/follow
Introduce basic following experience
Antonio Scandurra created
60b6b0b
Cycle through panes spatially rather than in the order in which they created
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
5ac39aa
Don't show local cursors when editor is not focused
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
4f27049
Focus followed items when they become active if the pane is active
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
edc038a
Activate previous pane and next pane via `cmd-k cmd-left` and `cmd-k cmd-right`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
097bbe3
Update follow binding, remove unfollow binding
The previous binding to follow had ergonomics issues for the frequency that I think we'll want to use it. It would also conflict with the sub-word selection binding. Now that moving the cursor etc unfollows, I don't think we need the follow binding.
Nathan Sobo created
da15669
Merge pull request #656 from zed-industries/add-editor-lifetime-events
Add editor lifetime events
Nathan Sobo created
d24bd6f
Account for pending selections when calling `Editor::refresh_selections`
Antonio Scandurra created
3298529
Fix global nested event test after turning subscriptions into effects
Antonio Scandurra created
7acde40
Merge pull request #655 from zed-industries/add-editor-selection-helpers
Add editor selection helpers
Keith Simmons created
fa62fd9
Autoscroll when leader moves cursors
instead of copying their scroll top. Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
fad299e
Add unit test for editor's following methods
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
8699dd9
Replicate fractional component of leader's scroll position
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
880eaa2
Coalesce followed view updates only within one frame
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
4435d9b
Combine updates from multiple view events when updating followers
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
fba6f24
Add editor lifetime events
Keith Simmons created
6a1c197
Add editor selection utilities
Also improved test that was failing during above to use marker text approach as a drive by
Keith Simmons created
308bfa3
Merge pull request #654 from zed-industries/remove-movment-results
Remove results from movement functions
Keith Simmons created
fc811e0
Don't represent editor's scroll top anchor as an option
Use Anchor::min as the special value representing a scroll top of zero
Max Brunsfeld created
0a3f013
Use env_logger when running the app in a terminal
Max Brunsfeld created
c105802
Allow customizing the pane's following border width in the theme
Max Brunsfeld created
4ed8f6f
Make UpdateBuffer a foreground message
Max Brunsfeld created
df75186
Remove results from movement function return values, and move editor test utilities to test file
Keith Simmons created
ec7bada
Merge pull request #651 from zed-industries/refine-word-movement
Add sub-word movement and helper functions for finding word boundaries
Max Brunsfeld created
c78bcf7
Ensure leader updates don't change the active pane of followers
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
9885c4f
Don't trigger observations with notifications emitted prior to observing
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
5ecf945
Don't trigger global subscriptions with events emitted prior to subscribing
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
73eae28
Don't trigger subscriptions with events emitted prior to subscribing
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
284a446
WIP
Antonio Scandurra created
381c827
Bump protocol version
Antonio Scandurra created
016fb01
Merge branch 'main' into follow
Antonio Scandurra created
e5a99cf
Stop following when leader disconnects
Antonio Scandurra created
ffaf409
Forget last pane's leader when such pane is removed
This is just a memory optimization and doesn't cause any observable change in behavior.
Antonio Scandurra created
5dc3626
Reflect leader's view state when recycling existing local editors
Antonio Scandurra created
34e5a1f
Always render local selections on top of remote ones
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