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 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 and Nathan Sobo
3f48573245
Adjust assertion to reflect rust grammar upgrade
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 13:31:41 -08:00
Max Brunsfeld and Antonio Scandurra
0c57fd75be
Refine behavior of select_larger_syntax_node
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev >
2022-02-04 13:19:00 -08:00
Antonio Scandurra
68b4a2f3d4
Merge pull request #424 from zed-industries/fix-goal-column-on-cut
...
Clear selection goal column when cutting a full line
2022-02-04 19:01:23 +01:00
Nathan Sobo
c03b8761a4
Merge pull request #423 from zed-industries/line-selection
...
Refine line-oriented selection and deletion
2022-02-04 10:24:53 -07:00
03ac3a354b
Clear selection goal column when cutting a full line
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-02-04 10:19:26 -07:00
Nathan Sobo and Antonio Scandurra
35fe40ead8
Delete to hard line boundary when deleting to start/end of line
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 10:10:30 -07:00
Nathan Sobo and Antonio Scandurra
a035464d00
Improve moving to start or end of soft-wrapped lines
...
When moving to end, stop at the soft-wrap line boundary first, then move to the end of the hard line. Vice versa when moving to the beginning.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 09:52:50 -07:00
Nathan Sobo and Antonio Scandurra
a2b5773807
Fix warning when not building in test mode
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 09:23:16 -07:00
Nathan Sobo and Antonio Scandurra
d584ff98f5
Span across soft-wraps when triple clicking a line
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 09:21:13 -07:00
Antonio Scandurra and Nathan Sobo
a8b7715b73
Buffer all incoming file-system events
...
This avoids a problem where the operating system would drop events
on the floor and tell us to rescan the entire directory, which in turn
would cause a flicker in the project browser.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 16:31:34 +01:00
Antonio Scandurra
fcde73dc69
Merge pull request #398 from zed-industries/refine-find
...
Refine find
2022-02-04 16:31:06 +01:00
Antonio Scandurra and Nathan Sobo
9183f7d476
Always populate find bar on cmd-f
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 16:13:58 +01:00
Antonio Scandurra
4578596687
Merge pull request #396 from zed-industries/fix-autocomplete-bugs
...
Refine autocomplete
2022-02-04 16:13:16 +01:00
Antonio Scandurra and Nathan Sobo
b5f3a93d51
Dismiss the focused find bar on escape
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 16:11:48 +01:00
Antonio Scandurra and Nathan Sobo
54bb29941f
Show completions as soon as possible
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 16:01:04 +01:00
Antonio Scandurra and Nathan Sobo
997d9048d9
Finish writing test for the new autocompletion behavior
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-04 15:47:19 +01:00
Nathan Sobo
1498625c3b
Merge pull request #394 from zed-industries/fix-selections-after-format
...
Fix selection positions after typing with old selection anchors
2022-02-04 06:02:18 -07:00
Antonio Scandurra
9b90063d45
WIP: Start refactoring completion test
...
The idea is to write more assertions related to how autocompletion
behaves with multiple cursors, prefixes that don't match, etc.
2022-02-04 12:24:04 +01:00
Antonio Scandurra
ad472ca67d
Remove unused bytes_at method
2022-02-04 12:07:30 +01:00
Antonio Scandurra
c8fbba7260
Refine autocompletion when text matches a prefix of the suggestion
2022-02-04 12:05:57 +01:00
Antonio Scandurra
3e533a9bd8
Move cursor to diagnostic even if the only diagnostic is currently shown
2022-02-04 09:34:32 +01:00
Max Brunsfeld
4fdb2e7834
Fix selection positions after typing with old selection anchors
2022-02-03 18:14:00 -08:00
Max Brunsfeld
e4e708a8bc
Add integration test for getting and resolving completions
2022-02-03 15:24:16 -08:00
Max Brunsfeld
b47b8177ae
Confirm completion on tab key as well as enter key
2022-02-03 14:14:24 -08:00
356f89c939
Add unit test for multi-cursor snippet
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-02-03 19:26:24 +01:00
cb37c266d3
Support multi-cursor autocompletion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-02-03 18:58:36 +01:00
Antonio Scandurra and Nathan Sobo
4aa203196d
Align completion labels with cursor
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-02-03 17:21:24 +01:00