Commit log

fba6f24 Add editor lifetime events

Keith Simmons created

6a1c197 Add editor selection utilities

Click to expand commit body
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

Click to expand commit body
Remove results from movement functions

Keith Simmons created

fc811e0 Don't represent editor's scroll top anchor as an option

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
Just merge multi-byte tests into the main word movement tests

Nathan Sobo created

210fa4c Remove CharKind::Newline

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Keith Simmons <keith@the-simmons.net>

Nathan Sobo and Keith Simmons created

06cd9ac Match the leader's last selection when unfollowing

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

3e0bc97 Avoid infinite loop when collaborators follow each other

Click to expand commit body
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

Click to expand commit body
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`

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
Forgot to push this yesterday night.

Max Brunsfeld created

d02ab9b Start work on updating editors's scroll positions when following

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created