Antonio Scandurra and Nathan Sobo
394caca541
Ensure that zed package version matches git tag before packaging a release
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-14 17:17:48 +01:00
Antonio Scandurra
c13ec08feb
Merge pull request #446 from zed-industries/assists
...
Implement code actions
2022-02-14 16:09:20 +01:00
Antonio Scandurra
22800b4f88
Use selection instead of just the cursor when fetching code actions
2022-02-14 14:13:36 +01:00
Antonio Scandurra
04e0b7f5fc
Add integration test for code actions
2022-02-14 11:42:56 +01:00
Antonio Scandurra
b6a34a0886
Implement Server::add_request_handler in terms of ::add_message_handler
2022-02-14 09:31:31 +01:00
Antonio Scandurra
7f44520436
Rename subscribe to add_{message,request}_handler in Client
...
This makes it easier to distinguish between messages and requests.
2022-02-14 09:25:31 +01:00
Antonio Scandurra
2fa50883d4
🎨
2022-02-14 09:22:10 +01:00
Antonio Scandurra
641bc43710
Pass write(true) when creating a file in RealFs
2022-02-14 09:12:32 +01:00
Antonio Scandurra
8fca79272a
Ensure client always responds when receiving a request
2022-02-13 12:21:35 +01:00
Antonio Scandurra
3dee00e928
Ensure server always responds when receiving a request
2022-02-13 10:21:01 +01:00
Antonio Scandurra
cc7f0123a1
WIP: Start auditing all forward_request calls on the server
...
When the host returns an error after a server has forwarded a request,
we want to surface that error to the guest. At the moment, the server
just returns early leaving some requests unresponded on the guest.
I started auditing all the code paths where we do that, but I am
wondering whether there's some other approach that would prevent us
from repeating this mistake in other code paths.
2022-02-12 14:12:13 +01:00
Antonio Scandurra
412645717a
Deserialize buffers synchronously when deserializing project transaction
...
On guests, this ensures we never miss updates to subsequent buffers in
the project transaction that arrive while we're waiting for edits on a
prior buffer in the transaction.
2022-02-12 13:56:07 +01:00
Antonio Scandurra
c5ec161647
Proceed with saving a buffer even if formatting fails
2022-02-12 13:02:19 +01:00
Antonio Scandurra
8847f4dff8
Refresh diagnostics and code actions more selectively
2022-02-12 13:01:55 +01:00
Antonio Scandurra
e6860b3c00
Reduce number of iterations on test_editing_while_guest_opens_buffer
...
I think this was mistakenly increased as part of some other change.
2022-02-12 13:01:18 +01:00
Antonio Scandurra
c1f875c784
Make test_propagate_saves_and_fs_changes more robust
...
...by using a condition that awaits on the actual paths as opposed
to the simple file counts.
2022-02-12 12:37:51 +01:00
Antonio Scandurra
4e8b470bc6
Remove stray log statements
2022-02-12 12:32:57 +01:00
Antonio Scandurra
06f54fb050
Fix integration test verifying the rename behavior
...
Specifically, the test now ensures that the host's worktree observes a/file1's
change event *before* the rename occurs, otherwise when interpreting the change
event it will mistakenly think that the file has been deleted (because its path
has changed) and will subsequently fail to detect the rename, causing the test
to fail.
2022-02-12 12:26:39 +01:00
Antonio Scandurra
81d4457bcb
Apply worktree updates in the order they were received
2022-02-12 11:56:20 +01:00
Antonio Scandurra
9579835699
Ensure response barrier is always dropped, even if request is canceled
2022-02-12 10:23:50 +01:00
Max Brunsfeld
5ada39c46c
Adjust multibuffer history test to reflect new behavior
2022-02-11 16:55:00 -08:00
Max Brunsfeld
7c1cc69cd3
Reduce logging in lsp tests
2022-02-11 16:37:50 -08:00
Max Brunsfeld
66ce2519e7
Remove Buffer::apply_lsp_edits
...
Always use `edits_from_lsp`.
2022-02-11 16:22:19 -08:00
Max Brunsfeld
72b1aafb63
Inline MultiBuffer::format
...
Put all the logic in Editor. Add an `all_buffers` method so the editor can
format all of the buffers by itself.
2022-02-11 16:22:19 -08:00
Max Brunsfeld
956a0d7541
Fix panic when canceling with a pending selection
2022-02-11 15:31:54 -08:00
c574e7eba7
Restructure fake language server to setup request handlers in advance
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 15:08:56 -08:00
5eaa51fd07
Always call set_selections in mouse selection methods
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 09:52:18 -08:00
a3dba97dd5
Make multibuffer anchor's buffer_id optional
...
Avoid using 0 for a buffer id on Anchor::min and max
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 09:51:47 -08:00
Nathan Sobo and Max Brunsfeld
d2c81a378b
Pass the pending selection to update_selections and set_selections
...
This helps us preserve our invariant of always having at least a pending selection in set_selections when comparing old and new cursor positions.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-02-11 10:07:42 -07:00
Nathan Sobo
2f4478e116
Revert "Ensure there's always at least one selection in the editor"
...
This reverts commit 3e2fdec570 .
2022-02-11 09:21:04 -07:00
Antonio Scandurra and Nathan Sobo
dfb65b7fd0
Allow toggling of code actions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 17:01:22 +01:00
Antonio Scandurra and Nathan Sobo
72b7022131
Allow deployment of code actions from indicator
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 16:47:40 +01:00
Antonio Scandurra and Nathan Sobo
3e2fdec570
Ensure there's always at least one selection in the editor
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 16:25:26 +01:00
Antonio Scandurra and Nathan Sobo
fcdfdc754e
Render code actions indicator
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 16:01:15 +01:00
Antonio Scandurra and Nathan Sobo
85cdfddb31
Fetch code actions on cursor movement instead of on-demand
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 14:41:19 +01:00
Antonio Scandurra and Nathan Sobo
1a3adbe7ef
Don't return error when definition, completions, etc. are unavailable
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-11 13:16:17 +01:00
Antonio Scandurra
165d4c0968
Fix panic when trying to render a diagnostic that has no message
2022-02-11 12:16:20 +01:00
Antonio Scandurra
e035758ba9
Move Buffer::format to Project::format
2022-02-11 12:07:46 +01:00
Max Brunsfeld
78e10785b0
Finish implementing Buffer::edits_from_lsp
2022-02-10 18:01:18 -08:00
Max Brunsfeld and Antonio Scandurra
11f6061fbb
Start work on applying LSP edits via a diff
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-10 11:14:06 -08:00
39baa4d0a3
Don't open a multibuffer when code actions's edits are contained in the current editor
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-10 09:55:21 -08:00
5d59075b5d
Make Editor::newest_anchor_selection return a non-optional value
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-02-10 10:16:54 -07:00
Nathan Sobo and Antonio Scandurra
8632ae9bc1
Correctly redo all undone edits after undoing in multi-buffer
...
When undoing edits performed in the multi-buffer, we also undo subsequent edits that may have occurred outside of the multi-buffer. This commit makes us redo those edits as well.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-10 09:26:20 -07:00
Nathan Sobo and Antonio Scandurra
e91523b69d
Store the oldest transaction id for each excerpted buffer in multi-buffer transactions
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-10 09:14:39 -07:00
Nathan Sobo and Antonio Scandurra
e8ed237265
Undo subsequent edits when undoing in multi-buffer
...
When undoing in the multi-buffer, don't preserve edits that occurred outside the multi-buffer after the edit being undone.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-10 09:04:53 -07:00
Antonio Scandurra
e7d5529a18
Push transaction into multi-buffer to allow undoing of a code action
2022-02-10 09:55:03 +01:00
Antonio Scandurra
310d43618b
Allow editor to be saved when in multi-buffer mode
...
Also, this commit enables the customization of the title in a multi-buffer.
When specified, it will take precedence over a filename (or "untitled").
2022-02-10 09:35:19 +01:00
Antonio Scandurra
59c879119d
Fix push_excerpts_with_context_lines when ranges overlap
2022-02-10 09:06:11 +01:00
Max Brunsfeld
3daba385eb
Start work on MultiBuffer::push_excerpts_with_context_lines
...
Use it in Editor::confirm_code_action
2022-02-09 18:28:15 -08:00
Max Brunsfeld and Nathan Sobo
db9b19b1be
Allow inserting multiple excerpts in a batch
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 17:56:06 -08:00