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
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
fa4ca2af0a
Merge pull request #401 from zed-industries/fail-ci-on-warnings
...
Cause tests to fail on CI when there are warnings
2022-02-04 10:14:05 -07:00
Nathan Sobo
2c35a1fdfa
Merge pull request #400 from zed-industries/libc++
...
Use -stdlib=libc++ in script/bundle to avoid errors on Monterey
2022-02-04 10:13:48 -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
Nathan Sobo and Antonio Scandurra
f733090569
Cause tests to fail on CI when there are warnings
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-02-04 08:57:39 -07:00
Antonio Scandurra
4e1dd7e9b8
Merge pull request #399 from zed-industries/unbounded-fs-events
...
Buffer all incoming file-system events
2022-02-04 16:48:07 +01:00
Nathan Sobo
29e1d634a2
Use -stdlib=libc++ in script/bundle to avoid errors on Monterey
...
I was unable to run script/bundle my local machine without this change.
2022-02-04 08:48:00 -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