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
5837ace6fa
Merge pull request #438 from zed-industries/speed-up-integration-tests
...
Always run multiple iterations of all integration tests
2022-02-08 12:40:24 -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
Antonio Scandurra
cf043af1ff
Serialize buffer in terms of operations rather than state
...
This is required because, after joining, we want to be able to refer
to operations that have happened prior to joining, which are not
captured by the state. There is probably a way of reconstructing operations
from the state, but that seems unnecessary and we've already talked about
wanting to have the server store operations rather than state once we start
persisting worktrees.
2022-02-08 14:59:46 +01:00
Antonio Scandurra
943fb46052
Apply code actions remotely
2022-02-08 12:18:14 +01:00
Antonio Scandurra
3706bd91ff
Manually refresh code action when data is not present
2022-02-08 10:47:50 +01:00
Antonio Scandurra
caa286888f
Send DidCloseTextDocument when dropping buffer
...
Closes https://github.com/zed-industries/zed/issues/434
2022-02-08 10:02:26 +01:00
Antonio Scandurra
01bc9e7e18
Merge branch 'main' into assists
2022-02-08 09:39:43 +01:00
Max Brunsfeld
d1666c8d23
Clear test db pool whenever no dbs are in use
2022-02-07 18:30:09 -08:00
Max Brunsfeld
d8ccb3bfe5
Merge pull request #437 from zed-industries/fix-server-hangs
...
Use an unbounded channel for peer's outgoing messages
2022-02-07 16:33:36 -08:00
Max Brunsfeld and Nathan Sobo
1749927cd1
Try another hacky approach for tearing down DBs after all tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 15:23:35 -08:00
Max Brunsfeld and Nathan Sobo
c60eabc117
Run multiple iterations of all integration tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 15:11:41 -08:00
Max Brunsfeld and Nathan Sobo
656fee96e6
Use a pool of databases to speed up integration tests
...
Also, use env_logger consistently in the tests for each crate.
Only initiallize the logger at all if some RUST_LOG env var is set.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 15:00:00 -08:00
Max Brunsfeld and Nathan Sobo
2e066f25dd
Preserve ordering between responses and other incoming messages
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 14:14:15 -08:00
693dd137cf
Use an unbounded channel for peer's outgoing messages
...
Using a bounded channel may have blocked the collaboration server
from making progress handling RPC traffic.
There's no need to apply backpressure to calling code within the
same process - suspending a task that is attempting to call `send` has
an even greater memory cost than just buffering a protobuf message.
We do still want a bounded channel for incoming messages, so that
we provide backpressure to noisy peers - blocking their writes as opposed
to allowing them to buffer arbitrarily many messages in our server.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 12:27:13 -08:00
Antonio Scandurra
fa0c1d7923
Apply edits received from LSP code actions and open all touched buffers
2022-02-07 18:48:45 +01:00
Antonio Scandurra and Nathan Sobo
4544cf7b81
Tolerate language servers reporting non-monotonic buffer versions
...
This isn't perfect but we'll retain up to 10 old versions just in case there
are race conditions in the language server. We haven't seen this in the wild
but we're concerned about diagnostic reporting racing with code action
resolution.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 16:29:05 +01:00
Antonio Scandurra and Nathan Sobo
2ffae389b0
Apply file-system operations coming from an LSP code action
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-07 16:11:40 +01:00
Antonio Scandurra
1ae79902e9
WIP: Start on applying code actions
2022-02-07 12:20:03 +01:00
Nathan Sobo
c834a274db
Start on code action confirmation
2022-02-05 12:37:34 -07:00
Nathan Sobo
e2c213c35f
Generalize showing and hiding of context menus
...
We still cancel pending completions when hiding the context menu so its not perfectly general, but I think this is ok.
2022-02-05 12:13:02 -07:00
Nathan Sobo
4d7cdea435
Render code actions context menu
2022-02-05 11:04:05 -07:00
Nathan Sobo
71f21f608e
Move rendering and select prev/next into ContextMenu enum
...
This prepares the way to have a code actions context menu.
2022-02-05 10:19:43 -07:00
Nathan Sobo
7eab08d25b
Start generalizing the completions menu into a context menu
...
This will let us render the code actions menu in a way that's mutually exclusive with completions.
2022-02-05 09:43:25 -07:00
Max Brunsfeld and Nathan Sobo
c0e51a467e
Start work on code actions
...
Just print out the returned code actions for now
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 17:45:00 -08:00
Max Brunsfeld and Nathan Sobo
e47c404bdd
Add a ToPointUtf16 trait in text and multibuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 17:35:37 -08:00
Max Brunsfeld
1f4a53a4a5
Handle appkit's cancelOperation: message to allow binding cmd-.
2022-02-04 17:33:09 -08:00
Max Brunsfeld
6a05391108
Merge pull request #425 from zed-industries/refine-select-larger-node
...
Refine behavior of select_larger_syntax_node
2022-02-04 13:42:50 -08:00