Commit Graph
2773 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo ca697e1bba Add BufferSnapshot::edited_ranges_for_transaction
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-09 17:04:07 -08:00
Max Brunsfeld 1ee15e1a59 Add and remove excerpts in randomized FoldMap and WrapMap tests 2022-02-09 14:43:24 -08:00
Max Brunsfeld 5b4c0d64bc Get tests passing and project diagnostics view working w/ new excerpt headers 2022-02-09 13:51:52 -08:00
Max Brunsfeld 3d9c39d0eb Silence warnings 2022-02-09 13:00:09 -08:00
fc70c6d4fd 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
cbf59ffafb 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
fab6f0c568 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 ScandurraandNathan Sobo 8d95dbe3e6 Render path headers in editor element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-09 16:28:18 +01:00
Antonio ScandurraandNathan Sobo f1e3d5285b 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 0e1318dfe4 WIP: Make editor crate compile again
Tests are still failing though.
2022-02-09 11:09:11 +01:00
Max BrunsfeldandNathan Sobo c7e2fae9cb 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 8b1fb9a2cc Fix unused import warnings 2022-02-08 16:27:33 -08:00
Max BrunsfeldandNathan Sobo 6731d92f60 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 BrunsfeldandNathan Sobo 624dbc1d0e Fix confirming completions in a multibuffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-08 15:05:34 -08:00
Max Brunsfeld 93bcde953c 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 722c84c976 Consolidate all code actions logic into Project 2022-02-08 13:17:57 -08:00
Max Brunsfeld e0fe8b5a7c Merge branch 'main' into assists 2022-02-08 12:41:57 -08:00
Max Brunsfeld a32dffdd2b 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 03440eb0fb 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 8bad05a4ba 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 36ff31858b Set file in test_diagnostics to excercise language server 2022-02-08 20:09:53 +01:00
Antonio ScandurraandNathan Sobo 7d8641afb6 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 6768288da8 Bump protocol version 2022-02-08 15:00:06 +01:00
Antonio Scandurra 624eb5907e 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 dca974c7d4 Apply code actions remotely 2022-02-08 12:18:14 +01:00
Antonio Scandurra aedf31e2d8 Manually refresh code action when data is not present 2022-02-08 10:47:50 +01:00
Antonio Scandurra 9ce3b1adf2 Send DidCloseTextDocument when dropping buffer
Closes https://github.com/zed-industries/zed/issues/434
2022-02-08 10:02:26 +01:00
Antonio Scandurra 17114cc6f7 Merge branch 'main' into assists 2022-02-08 09:39:43 +01:00
Max Brunsfeld 050f95149e Clear test db pool whenever no dbs are in use 2022-02-07 18:30:09 -08:00
Max Brunsfeld 30e870993d 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 BrunsfeldandNathan Sobo c245356b42 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 BrunsfeldandNathan Sobo b0ed58add3 Run multiple iterations of all integration tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-07 15:11:41 -08:00
Max BrunsfeldandNathan Sobo e3f055d950 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 BrunsfeldandNathan Sobo 8a2613d49c Preserve ordering between responses and other incoming messages
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-07 14:14:15 -08:00
d4fe1115e7 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 8f3ff1590e Apply edits received from LSP code actions and open all touched buffers 2022-02-07 18:48:45 +01:00
Antonio ScandurraandNathan Sobo 7a35ea7b25 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 ScandurraandNathan Sobo a172c3c5c6 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 982e90539d WIP: Start on applying code actions 2022-02-07 12:20:03 +01:00
Nathan Sobo dc20be256e Start on code action confirmation 2022-02-05 12:37:34 -07:00
Nathan Sobo ba99b01de6 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 025e83c1ec Render code actions context menu 2022-02-05 11:04:05 -07:00
Nathan Sobo 93a3f4b615 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 ee661516fa 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 BrunsfeldandNathan Sobo 83d4fe8e3a 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 BrunsfeldandNathan Sobo 4900019e9b 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 16acbd2123 Handle appkit's cancelOperation: message to allow binding cmd-. 2022-02-04 17:33:09 -08:00
Max Brunsfeld 82afacd33d 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
Max BrunsfeldandNathan Sobo 7fc951853d Adjust assertion to reflect rust grammar upgrade
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-04 13:31:41 -08:00
Max BrunsfeldandAntonio Scandurra 3e232f7115 Refine behavior of select_larger_syntax_node
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-02-04 13:19:00 -08:00