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
Max Brunsfeld and Nathan Sobo
689e2af025
Remove ExcerptProperties struct
...
Pass buffer and range as separate parameters
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 17:52:17 -08:00
Max Brunsfeld and Nathan Sobo
ffc2260958
Add MultiBufferItemHandle
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 17:09:03 -08:00
Max Brunsfeld and Nathan Sobo
a926ad4f5d
Add BufferSnapshot::edited_ranges_for_transaction
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 17:04:07 -08:00
Max Brunsfeld
164b60941b
Add and remove excerpts in randomized FoldMap and WrapMap tests
2022-02-09 14:43:24 -08:00
Max Brunsfeld
ab8e3f8107
Get tests passing and project diagnostics view working w/ new excerpt headers
2022-02-09 13:51:52 -08:00
Max Brunsfeld
0be3b9e3be
Silence warnings
2022-02-09 13:00:09 -08:00
bf162aee31
Fix BlockMap's handling of trailing empty excerpt updates with other edits
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 11:54:59 -08:00
9f0e79b744
Handle replacing trailing empty excerpt with another empty excerpt
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-02-09 19:38:18 +01:00
d81cbf2d48
Add/remove excerpts in BlockMap randomized tests and fix resulting errors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-02-09 19:10:13 +01:00
Antonio Scandurra and Nathan Sobo
f7fd68ef77
Render path headers in editor element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 16:28:18 +01:00
Antonio Scandurra and Nathan Sobo
fd87085e7d
Fix randomized test failures on BlockMap with excerpt headers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-09 15:17:40 +01:00
Antonio Scandurra
92e91cbf1f
WIP: Make editor crate compile again
...
Tests are still failing though.
2022-02-09 11:09:11 +01:00
Max Brunsfeld and Nathan Sobo
ad17a0bba6
WIP - Add excerpt headers as a built-in feature of BlockMap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-08 18:15:45 -08:00
Max Brunsfeld
a0aeddfc57
Fix unused import warnings
2022-02-08 16:27:33 -08:00
Max Brunsfeld and Nathan Sobo
c477ca9308
Give the editor a handle to the project, not a weak handle to the workspace
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-08 15:48:44 -08:00
Max Brunsfeld and Nathan Sobo
4748d55c33
Fix confirming completions in a multibuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-08 15:05:34 -08:00
Max Brunsfeld
08061504d4
Consolidate logic for completion alongside code actions in Project
...
This way, completions are dealt with more consistently with code actions,
and the logic is not spread across so many places. The `language::File`
trait and the multibuffer no longer need to deal with completions. Completions
are no longer generic over an anchor type.
2022-02-08 14:24:45 -08:00
Max Brunsfeld
e3e21f9b4c
Consolidate all code actions logic into Project
2022-02-08 13:17:57 -08:00
Max Brunsfeld
1e18742c9d
Merge branch 'main' into assists
2022-02-08 12:41:57 -08:00
Max Brunsfeld
3e32be935b
Apply lsp edits in reverse order
...
This fixes the handling of multiple edits on the same line.
2022-02-08 12:41:30 -08:00
Max Brunsfeld
ad23cbfec9
Don't populate editor's context menu state if there are no completions
...
This would accidentally stop the enter key from working.
2022-02-08 12:37:20 -08:00
Antonio Scandurra
3cef9bd440
Set file in test_diagnostics to excercise language server
2022-02-08 20:09:53 +01:00
Antonio Scandurra and Nathan Sobo
9e40fdc3fc
Make transactions serializable to enable edits on behalf of other users
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-08 19:48:21 +01:00
Antonio Scandurra
83f6744174
Bump protocol version
2022-02-08 15:00:06 +01:00