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
Nathan Sobo
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 Sobo
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 Sobo
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 Sobo
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
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 Scandurra
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 Scandurra
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 Scandurra
f42fd8e1bb
Return Selection
s from Editor::selections_in_range
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 16:45:06 +01:00
Antonio Scandurra
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
Antonio Scandurra
10b3fae2c3
Implement SelectNext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 15:44:06 +01:00
Antonio Scandurra
543ebb7e4e
Adjust padding on sign in prompt in titlebar
2021-11-25 10:37:30 +01:00
Antonio Scandurra
0d8c68ae1d
Replace signed out silhouette with a "Sign in" label
2021-11-25 10:34:03 +01:00
Nathan Sobo
f7532c785e
Render the current line, column, and line count in go to line dialog
2021-11-24 16:52:18 -07:00
Nathan Sobo
a07fe3aa58
Improve styling of the go to line modal
2021-11-24 16:16:29 -07:00
Nathan Sobo
1e49b56626
Restore scroll position and selections when cancelling go-to-line
...
But preserve the line when confirming.
2021-11-24 15:43:48 -07:00
Nathan Sobo
8c0541b455
Fix warnings
2021-11-24 15:24:27 -07:00
Nathan Sobo
0854976691
Highlight the selected line when typing in the go to line dialog
2021-11-24 15:23:45 -07:00
Antonio Scandurra
53a7da9d3f
Allow centering selections when requesting autoscroll
...
We use this new capability in the "go to line" modal.
2021-11-24 19:50:47 +01:00
Antonio Scandurra
cea8107242
WIP: Start on go to line
2021-11-24 18:45:36 +01:00
Antonio Scandurra
afdac15572
Move integration test up into the zed
crate
2021-11-24 17:39:15 +01:00
Antonio Scandurra
e88d3bb97e
Invert dependency between editor
and workspace
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-24 17:07:16 +01:00
Antonio Scandurra
2cf44d30b7
🔥
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-24 16:17:41 +01:00
Antonio Scandurra
03bd6d6c33
Pull up diagnostic and cursor position status bar items creation
2021-11-24 16:04:24 +01:00
Antonio Scandurra
9bb195e177
Introduce "entry openers" but still register editors in workspace
2021-11-24 15:18:15 +01:00
Antonio Scandurra
a7186c643f
Skip over block lines when building columnar selections
2021-11-24 10:40:06 +01:00
Antonio Scandurra
3a9b69077e
Reverse columnar selections when head moves before tail's column
2021-11-24 10:37:35 +01:00
Antonio Scandurra
d19d3bbe45
Calculate an overshoot when mousing to build columnar selections
2021-11-24 10:28:32 +01:00
Nathan Sobo
2b9db911c7
WIP
2021-11-24 09:18:41 +01:00
Nathan Sobo
e0bf5337ca
Merge pull request #244 from zed-industries/mouse-selections
...
Improve support for selecting text via the mouse
2021-11-23 18:11:04 -07:00
Max Brunsfeld
294769be35
Add outdent command, fix indent bugs
2021-11-23 16:44:05 -08:00
Nathan Sobo
bfecdb7bc0
Remove newest selection when adding a selection with a click count > 1
...
This prevents selections added in earlier clicks from being rendered under the pending selection.
2021-11-23 16:30:33 -07:00
Nathan Sobo
73afb29b04
Use alt modifier instead of cmd to add selections
2021-11-23 16:23:30 -07:00
Nathan Sobo
9e651ee127
Simplify handling of shift-click to extend selections
2021-11-23 16:03:21 -07:00
Nathan Sobo
d969f38850
Implement shift-click to extend the newest selection
2021-11-23 15:42:21 -07:00
Max Brunsfeld
f0db748ba1
Implement toggle-comments
2021-11-23 14:13:28 -08:00
Max Brunsfeld
091ed9ab47
Maximize new windows
2021-11-23 10:24:31 -08:00
Antonio Scandurra
63089badf1
Simulate line-wise selection when clicking on the gutter
2021-11-23 19:14:39 +01:00
Antonio Scandurra
7a79df7a24
Implement line-wise selection
2021-11-23 19:10:15 +01:00
Antonio Scandurra
bcf38e6bb5
Implement word-wise mouse selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-23 18:50:17 +01:00
Max Brunsfeld
a0287920e5
Remove cargo-bundle from dev-dependencies
...
The cargo-bundle crate is installed separately in the
'bundle' script via 'cargo install'.
2021-11-23 09:25:22 -08:00
Antonio Scandurra
3269b9925f
WIP: Start integrating SelectMode
and movement::surrounding_word
2021-11-23 17:04:58 +01:00
Antonio Scandurra
a0ea5b38a0
Add a new movement::surrounding_word
function
2021-11-23 17:04:37 +01:00
Antonio Scandurra
005a7076af
Expose a count
field on Event::LeftMouseDown
2021-11-23 16:18:17 +01:00
Antonio Scandurra
6b7ee10287
Retry flaky test_soft_wraps
5 times before giving up
...
We have other tests that rely on loading fonts that intermittently
fail on CI and for which we used the same mitigation.
2021-11-23 11:25:04 +01:00
Max Brunsfeld
4002be882f
Clear sprite cache when scale factor changes
2021-11-22 16:47:51 -08:00
Max Brunsfeld
23fbeaf978
Include scale factor in glyph cache keys
2021-11-22 16:37:01 -08:00
Max Brunsfeld
66e27b7420
Merge pull request #233 from zed-industries/fix-split-selection-into-lines
...
Place the cursor at end of first line when splitting selections into lines
2021-11-22 16:25:19 -08:00
Max Brunsfeld
ce71ed3959
Adjust assertion in test for split_selection_into_lines
2021-11-22 16:19:24 -08:00
Nathan Sobo
68223bdb67
Place the cursor at end of first line when splitting selections into lines
2021-11-22 15:53:37 -07:00
Nathan Sobo
2f39dee28b
Use uniform biases in AnchorMap, AnchorRangeMap
...
Specifying a different bias for every point makes the interface feel pretty unwieldy and we don't really use it.
2021-11-22 15:30:46 -07:00
Max Brunsfeld
612b4404a9
Fix the bias of deserialized selection sets
...
Fixes #224
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 14:14:48 -08:00
Max Brunsfeld
cfe6103daf
Fix selection set id mismatch when rendering guest selections
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 14:10:17 -08:00
Max Brunsfeld
ca4086b844
0.8.0
2021-11-22 13:33:54 -08:00
Max Brunsfeld
c13a26ff7b
Bump RPC protocol version
2021-11-22 13:33:05 -08:00
Max Brunsfeld
cfaab6cfb6
Merge pull request #228 from zed-industries/faster-clock-global
...
Switch to a dense representation for `clock::Global`
2021-11-22 13:31:27 -08:00
Max Brunsfeld
7474813a17
Impose a timeout on writing RPC messages
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 13:23:55 -08:00
Antonio Scandurra
b25c3eb740
Switch to a dense representation for clock::Global
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 17:20:43 +01:00
Max Brunsfeld
447f710570
Merge pull request #226 from zed-industries/1d-block-map
...
Allow full diagnostic messages to be displayed in the editor
2021-11-19 09:16:49 -08:00
Antonio Scandurra
6f5ca6064b
Use anchor_after
in randomized tests to match BlockMap
2021-11-19 18:04:31 +01:00
Antonio Scandurra
c844fcdc09
Invalidate active diagnostic when its primary range collapses
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:46:54 +01:00
Antonio Scandurra
b0afc80678
Ignore diagnostics with empty ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:30:26 +01:00
Antonio Scandurra
a023950f28
Remove unused group_range
field
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:17:50 +01:00
Antonio Scandurra
8e74cc178e
Invalidate active diagnostics when they are removed
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:15:22 +01:00
Antonio Scandurra
61d8848b31
Make BlockMap::sync
private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 15:44:19 +01:00
Antonio Scandurra
dfbfa86548
WIP
2021-11-19 15:31:33 +01:00
Antonio Scandurra
2664dad2bc
Allow styling of invalid diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 14:35:00 +01:00
Antonio Scandurra
8d5e3fb159
Allow styling of the gutter for block lines
2021-11-19 11:30:01 +01:00
Max Brunsfeld
8d1a4a6a24
Start work on allowing blocks to be styled
2021-11-18 18:16:35 -08:00
Max Brunsfeld
c04151f999
Bind ShowNextDiagnostic to f8
2021-11-18 14:24:03 -08:00
Max Brunsfeld
0b63d882ce
Allow key bindings to F1 through F12
2021-11-18 14:23:36 -08:00
Max Brunsfeld
6aa346dec8
Fix switched input + output rows in BlockSnapshot::buffer_rows
2021-11-18 12:41:58 -08:00
Max Brunsfeld
bef09696f6
Align block text with the anchor's column
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 12:17:22 -08:00
Antonio Scandurra
1a8b23e118
Color diagnostic messages based on their severity
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 17:47:10 +01:00
Antonio Scandurra
f39942863b
Dismiss active diagnostics when hitting escape
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:57:05 +01:00
Antonio Scandurra
5094380c83
Enhance keyboard navigation when showing next diagnostic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:55:18 +01:00
Antonio Scandurra
643545e91e
When showing the next diagnostic, advance to the next *primary* one
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:04:16 +01:00
Antonio Scandurra
0e51365770
In a diagnostic group, mark the highest-severity diagnostic as primary
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 15:53:00 +01:00
Antonio Scandurra
401b59be5c
Refactor retrieving oldest and newest selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 15:18:35 +01:00
Antonio Scandurra
0a6293bcda
Support highlighting in blocks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 14:08:21 +01:00
Antonio Scandurra
0f1eb3dd2e
Skip block lines when moving up and down
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 13:45:06 +01:00
Antonio Scandurra
856768a43c
Remove aggressive logging from WrapMap
update code paths
2021-11-18 11:13:40 +01:00
Antonio Scandurra
08e0444ee4
Use char count instead of byte count to determine longest row
2021-11-18 11:01:12 +01:00
Antonio Scandurra
b80887dabe
Don't insert blocks within multi-byte characters in randomized test
2021-11-18 10:54:25 +01:00
Antonio Scandurra
572e571927
Test longest row only when tabs are not present or the tab size is 1
...
This is because the longest row calculation is best-effort at the moment,
since this information is not indexed in the `TabMap`.
2021-11-18 10:54:22 +01:00
Antonio Scandurra
5a9dea5299
Ensure TabMap
works correctly when there are folds
2021-11-18 10:37:04 +01:00
Antonio Scandurra
9ba24794c7
Re-enable tabs, spaces and multi-byte characters in randomized tests
2021-11-18 10:35:31 +01:00
Antonio Scandurra
84d257470a
Fix empty range edge case in FoldMap
2021-11-18 10:33:31 +01:00
Antonio Scandurra
4967a8d5ef
Trim expanded tabs if they overshoot the provided range
2021-11-18 09:52:42 +01:00