6731d92
Give the editor a handle to the project, not a weak handle to the workspace
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
624dbc1
Fix confirming completions in a multibuffer
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
93bcde9
Consolidate logic for completion alongside code actions in Project
Click to expand commit body
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.
Max Brunsfeld
created
722c84c
Consolidate all code actions logic into Project
624eb59
Serialize buffer in terms of operations rather than state
Click to expand commit body
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.
050f951
Clear test db pool whenever no dbs are in use
Max Brunsfeld
created
30e8709
Merge pull request #437 from zed-industries/fix-server-hangs
Click to expand commit body
Use an unbounded channel for peer's outgoing messages
Max Brunsfeld
created
c245356
Try another hacky approach for tearing down DBs after all tests
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
b0ed58a
Run multiple iterations of all integration tests
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
e3f055d
Use a pool of databases to speed up integration tests
Click to expand commit body
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>
Max Brunsfeld
and
Nathan Sobo
created
8a2613d
Preserve ordering between responses and other incoming messages
Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
and
Nathan Sobo
created
d4fe111
Use an unbounded channel for peer's outgoing messages
Click to expand commit body
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>
Max Brunsfeld
,
Antonio Scandurra
, and
Nathan Sobo
created
8f3ff15
Apply edits received from LSP code actions and open all touched buffers
Antonio Scandurra
created
7a35ea7
Tolerate language servers reporting non-monotonic buffer versions
Click to expand commit body
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>
Antonio Scandurra
and
Nathan Sobo
created
a172c3c
Apply file-system operations coming from an LSP code action