Commit log

fadb94a Use selection instead of just the cursor when fetching code actions

Antonio Scandurra created

1eea2f3 Add integration test for code actions

Antonio Scandurra created

68917c7 Implement Server::add_request_handler in terms of ::add_message_handler

Antonio Scandurra created

1aff423 Rename `subscribe` to `add_{message,request}_handler` in `Client`

Click to expand commit body
This makes it easier to distinguish between messages and requests.

Antonio Scandurra created

6a6cd68 :art:

Antonio Scandurra created

03812a6 Pass `write(true)` when creating a file in `RealFs`

Antonio Scandurra created

a19735c Ensure client always responds when receiving a request

Antonio Scandurra created

a41eb5a Ensure server always responds when receiving a request

Antonio Scandurra created

331667c WIP: Start auditing all `forward_request` calls on the server

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

Antonio Scandurra created

2dbea28 Deserialize buffers synchronously when deserializing project transaction

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

Antonio Scandurra created

8d3b7e9 Proceed with saving a buffer even if formatting fails

Antonio Scandurra created

a210062 Refresh diagnostics and code actions more selectively

Antonio Scandurra created

cbe93af Reduce number of iterations on `test_editing_while_guest_opens_buffer`

Click to expand commit body
I think this was mistakenly increased as part of some other change.

Antonio Scandurra created

ca052b4 Make `test_propagate_saves_and_fs_changes` more robust

Click to expand commit body
...by using a condition that awaits on the actual paths as opposed
to the simple file counts.

Antonio Scandurra created

e354133 Remove stray log statements

Antonio Scandurra created

f2b4a06 Fix integration test verifying the rename behavior

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

Antonio Scandurra created

7b9ff42 Apply worktree updates in the order they were received

Antonio Scandurra created

5a7d391 Ensure response barrier is always dropped, even if request is canceled

Antonio Scandurra created

174c9d7 Adjust multibuffer history test to reflect new behavior

Max Brunsfeld created

8d65048 Reduce logging in lsp tests

Max Brunsfeld created

d84fc3b Remove Buffer::apply_lsp_edits

Click to expand commit body
Always use `edits_from_lsp`.

Max Brunsfeld created

d4b9d9e Inline MultiBuffer::format

Click to expand commit body
Put all the logic in Editor. Add an `all_buffers` method so the editor can
format all of the buffers by itself.

Max Brunsfeld created

06bb8d2 Fix panic when canceling with a pending selection

Max Brunsfeld created

01664d4 Restructure fake language server to setup request handlers in advance

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

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

680d1fe Always call set_selections in mouse selection methods

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

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

947fe84 Make multibuffer anchor's buffer_id optional

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

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

fa194c8 Pass the pending selection to update_selections and set_selections

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

Nathan Sobo and Max Brunsfeld created

ad9a0e2 Revert "Ensure there's always at least one selection in the editor"

Click to expand commit body
This reverts commit b1a44b5816eeb021efbd5bb49cd5a60573cf508a.

Nathan Sobo created

612a331 Allow toggling of code actions

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

7b28418 Allow deployment of code actions from indicator

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

b1a44b5 Ensure there's always at least one selection in the editor

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

a41725d Render code actions indicator

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

2fcdcac Fetch code actions on cursor movement instead of on-demand

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

763d57c Don't return error when definition, completions, etc. are unavailable

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

3fc3e51 Fix panic when trying to render a diagnostic that has no message

Antonio Scandurra created

4929b8c Move `Buffer::format` to `Project::format`

Antonio Scandurra created

645df73 Finish implementing Buffer::edits_from_lsp

Max Brunsfeld created

3a1f9bb Start work on applying LSP edits via a diff

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

Max Brunsfeld and Antonio Scandurra created

424b352 Don't open a multibuffer when code actions's edits are contained in the current editor

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

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

5049c1b Make Editor::newest_anchor_selection return a non-optional value

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

Nathan Sobo , Antonio Scandurra , and Max Brunsfeld created

93eb005 Correctly redo all undone edits after undoing in multi-buffer

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

Nathan Sobo and Antonio Scandurra created

c5b0b5f Store the oldest transaction id for each excerpted buffer in multi-buffer transactions

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

Nathan Sobo and Antonio Scandurra created

9936bb2 Undo subsequent edits when undoing in multi-buffer

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

Nathan Sobo and Antonio Scandurra created

d1f1563 Push transaction into multi-buffer to allow undoing of a code action

Antonio Scandurra created

dd223f9 Allow editor to be saved when in multi-buffer mode

Click to expand commit body
Also, this commit enables the customization of the title in a multi-buffer.
When specified, it will take precedence over a filename (or "untitled").

Antonio Scandurra created

9ea5359 Fix `push_excerpts_with_context_lines` when ranges overlap

Antonio Scandurra created

9749fea Start work on MultiBuffer::push_excerpts_with_context_lines

Click to expand commit body
Use it in Editor::confirm_code_action

Max Brunsfeld created

471c23e Allow inserting multiple excerpts in a batch

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

aa7dfbd Remove ExcerptProperties struct

Click to expand commit body
Pass buffer and range as separate parameters

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

b67be5d Add MultiBufferItemHandle

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created