Antonio Scandurra and Nathan Sobo
e8ea29213f
Avoid grouping transactions created by different editors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-27 15:51:46 +01:00
Antonio Scandurra and Nathan Sobo
74c35a4a14
Sanitize language server diagnostics coming from Rust
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-25 17:49:50 +01:00
Antonio Scandurra
48d0a0df2f
Fix race condition when opening a buffer and getting a definition to it
2022-01-24 18:47:55 +01:00
Antonio Scandurra
be4c6bfaf4
Implement Project::definition when the buffer is remote
2022-01-24 13:10:13 +01:00
Antonio Scandurra
4fd9866e83
Don't show conflict indicator on remote buffer after a reload
2022-01-24 10:17:36 +01:00
Antonio Scandurra
3f3f6ed9f1
Maintain remote buffers via UpdateBufferFile messages sent by host
2022-01-24 09:32:40 +01:00
Nathan Sobo
7b97dde632
Send File protos as part of Buffer protos
...
Use the File proto to build the File associated with the buffer rather than relying on the local entry.
2022-01-22 22:19:04 -07:00
Nathan Sobo
9155b4a588
Introduce LocalFile trait
...
If you want to call `abs_path` or `load`, the file needs to be local. You call `as_local` which returns `Option<dyn LocalFile>` with those local-only methods. I think this makes it more explicit what works only locally vs everywhere.
2022-01-22 15:52:14 -07:00
Nathan Sobo
0fb72d41e0
Remove Worktree::abs_path
...
I'd like to only have methods related to absolute paths on local worktrees, because it's not really possible to implement them on remote worktrees since we don't know the full path being shared and wouldn't have anything to do with it anyway if we did.
2022-01-22 14:44:58 -07:00
Nathan Sobo
84ae1c30d2
Remove worktree_path from File struct
2022-01-22 14:29:36 -07:00
Nathan Sobo
75cbf5a4c3
Assign diagnostics on buffer even if it doesn't have a language
...
This shouldn't be necessary in practice but makes testing easier.
2022-01-22 09:54:25 -07:00
Max Brunsfeld and Nathan Sobo
8d9db1f304
Move buffers from worktree to project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-21 15:46:27 -08:00
Antonio Scandurra
ef78225a5d
Return a Task<Result<()>> in {ItemView,Buffer,MultiBuffer}::save
2022-01-20 09:58:24 +01:00
Max Brunsfeld
575def57db
Move logic for starting language servers to the project
2022-01-19 14:05:06 -08:00
499671b2c3
Match on names only when outline query has no spaces
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-14 09:16:29 -08:00
Nathan Sobo and Antonio Scandurra
7a7d72c94a
Only enable smart case if the query contains an uppercase character
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-01-14 09:16:09 -07:00
Nathan Sobo and Antonio Scandurra
2d8691bedd
Match full path when query contains spaces
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-01-14 09:02:04 -07:00
Antonio Scandurra and Nathan Sobo
b7dccb6e5b
Associate StringMatchCandidate with an id
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-14 14:55:03 +01:00
Antonio Scandurra
4956298db4
Allow matching of context items in outline view
2022-01-14 11:09:02 +01:00
Antonio Scandurra
20f4b6d8a8
Maintain order of outline items when filling out tree's missing parts
2022-01-14 09:12:30 +01:00
Max Brunsfeld
3dd4c39edd
Incorporate syntax highlighting into symbol outline view
...
Still need to figure out how to style the fuzzy match characters
now that there's syntax highlighting. Right now, they are
underlined in red.
2022-01-13 18:10:02 -08:00
Max Brunsfeld
09cc3bd94d
Include highlighting runs in Outline
2022-01-13 14:46:15 -08:00
Max Brunsfeld
a1a9c9356d
Allow multiple disjoint nodes to be captured as matcheable in the outline query
2022-01-13 14:04:25 -08:00
Antonio Scandurra and Max Brunsfeld
2d08f4fba7
Select the closest outline item when the outline view's query is empty
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-01-13 18:43:49 +01:00
Antonio Scandurra and Max Brunsfeld
fad016d316
Return Outline<Anchor> from MultiBuffer::outline
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-01-13 18:24:00 +01:00
Antonio Scandurra and Nathan Sobo
ef45abf1e3
Use OutlineItem::depth to include ancestors of matching candidates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-13 16:59:52 +01:00
Antonio Scandurra
221c5c70c3
Implement Outline::search
2022-01-13 15:10:29 +01:00
Antonio Scandurra
fc0c9ffbb7
Start on rendering the outline view
2022-01-13 12:01:11 +01:00
Antonio Scandurra
ec175706b9
Add OutlineItem::depth so that we can render a tree in the outline view
2022-01-13 11:35:43 +01:00
Max Brunsfeld and Nathan Sobo
72a4ddd689
Add Buffer::outline method
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-12 18:17:49 -08:00
Antonio Scandurra and Max Brunsfeld
f29c286a1b
Fix failing tests
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-01-12 18:43:23 +01:00
Antonio Scandurra and Nathan Sobo
f883ffb4f2
Implement Buffer::format
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-12 18:01:20 +01:00
Nathan Sobo and Antonio Scandurra
80e5915179
Allow disk-based diagnostic progress begin/end events to interleave
...
When multiple saves occur, we can have multiple start events followed by multiple end events. We don't want to update our project diagnostics view until all pending progress is finished.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-01-06 09:32:08 -07:00
Max Brunsfeld
4535c2e99d
Merge branch 'main' into polish-project-diagnostics
2022-01-05 20:38:20 -08:00
Max Brunsfeld and Nathan Sobo
4d4dc1b44a
Fix Locator::from_index
...
Enhance language::tests::test_random_collaborators so that it checks buffer invariants.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-05 17:58:24 -08:00
Max Brunsfeld and Nathan Sobo
75170a078f
Fix Global::gt and rename it to changed_since
...
A false negative return value of `gt` was preventing guests' multibuffers from
syncing correctly.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-05 17:36:12 -08:00
Max Brunsfeld
59310ae90d
Merge branch 'main' into polish-project-diagnostics
...
Also fix false failure in ModelHandle::condition when parking is not forbidden.
2022-01-05 10:53:18 -08:00
Antonio Scandurra
0e4147791f
Ensure prior, deferred selections don't override newer selections
2022-01-05 15:43:26 +01:00
Antonio Scandurra
ecb270f191
Fix Buffer::remote_selections_in_range at query range boundaries
2022-01-05 15:04:50 +01:00
Antonio Scandurra
ce6beabe7a
Populate deferred operations when an operation can't be applied
2022-01-05 15:04:19 +01:00
Antonio Scandurra
2f15acde6f
Verify that selections are replicated correctly in randomized test
2022-01-05 15:04:08 +01:00
Antonio Scandurra
b41cb32d9d
Serialize deferred operations
2022-01-05 11:52:41 +01:00
Antonio Scandurra
1450e009e7
Introduce randomized test for collaboration on buffers
...
This test will exercise serialization of operations as well as peers
replicating from an existing buffer.
2022-01-05 11:51:41 +01:00
Antonio Scandurra
5ca9efceea
Fix compile errors and get serialization unit test passing
2022-01-05 10:29:29 +01:00
Max Brunsfeld
7a5db108f1
WIP - Serialize buffer in terms of its state, not its base text + ops
...
The main reason for this is that we need to include information about
a buffer's UndoMap into its protobuf representation. But it's a bit
complex to correctly incorporate this information into the current
protobuf representation.
If we want to continue reusing `Buffer::apply_remote_edit` for
incorporating the historical operations, we need to either make
that method capable of incorporating already-undone edits, or
serialize the UndoMap into undo *operations*, so that we can apply
these undo operations after the fact when deserializing. But this is
not trivial, because an UndoOperation requires information about
the full offset ranges that were undone.
2022-01-04 18:06:16 -08:00
Max Brunsfeld
f56798cf4c
Add unit test showing problem with serialization of undo ops
2022-01-04 16:01:12 -08:00
Antonio Scandurra and Max Brunsfeld
7525741533
Merge branch 'main' into polish-project-diagnostics
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-01-04 18:35:28 +01:00
Antonio Scandurra
46c53aa313
Re-enable cargo check for rust-analyzer
2022-01-04 18:26:16 +01:00
Antonio Scandurra
dd5ba61ab6
Rip out "diagnostic providers"
2022-01-04 16:32:17 +01:00
Antonio Scandurra
9e9eb32e5d
Capture a new buffer snapshot for excerpts whose selections got updated
2022-01-04 12:22:51 +01:00