Commit graph

493 commits

Author SHA1 Message Date
Antonio Scandurra
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
dca974c7d4 Apply code actions remotely 2022-02-08 12:18:14 +01: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 Scandurra
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 Brunsfeld
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 Brunsfeld
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
Antonio Scandurra
fe1729ff70
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
3f897ed588 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
c38fe473cd 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
90a780a604 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
aa12eb6b55 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
bf043fe3fb
Merge pull request #396 from zed-industries/fix-autocomplete-bugs
Refine autocomplete
2022-02-04 16:13:16 +01:00
Antonio Scandurra
55f0933872 Show completions as soon as possible
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-04 16:01:04 +01:00
Antonio Scandurra
625beaaa9b 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
f8dce23440
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
0f266cff54 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
99d0100c45 Remove unused bytes_at method 2022-02-04 12:07:30 +01:00
Antonio Scandurra
32859a38ed Refine autocompletion when text matches a prefix of the suggestion 2022-02-04 12:05:57 +01:00
Antonio Scandurra
8d17287167 Move cursor to diagnostic even if the only diagnostic is currently shown 2022-02-04 09:34:32 +01:00
Max Brunsfeld
d23115f628 Fix selection positions after typing with old selection anchors 2022-02-03 18:14:00 -08:00
Max Brunsfeld
3dfff3866a Add integration test for getting and resolving completions 2022-02-03 15:24:16 -08:00
Max Brunsfeld
6e33f14218 Confirm completion on tab key as well as enter key 2022-02-03 14:14:24 -08:00
Antonio Scandurra
39152bc85f 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
Antonio Scandurra
3e8707ebf6 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
d56e721fab Mute color of completion's text that can't be filtered 2022-02-03 15:39:53 +01:00
Antonio Scandurra
1375c7b7e4 Fix panic when trying to show completions but none match the query 2022-02-03 14:36:45 +01:00
Antonio Scandurra
85e6ea1091 Transact on applying completion to allow restoring of selections on undo 2022-02-03 12:10:22 +01:00
Antonio Scandurra
f41f1e51a8 Hide completions when {un,re}doing past initial insertion boundaries 2022-02-03 11:42:52 +01:00
Antonio Scandurra
efcbf2714c Support clicking on a completion to confirm it 2022-02-03 11:39:19 +01:00
Antonio Scandurra
7865c32727 Optimize summaries_for_anchors when MultiBuffer is a singleton 2022-02-03 11:22:55 +01:00
Antonio Scandurra
ab26a175a4 Opt into language-aware features when getting buffer chunks
We use chunks a lot to transform points and sync the various display maps,
and always querying tree-sitter or the LSP diagnostics in those cases is
unnecessarily expensive.
2022-02-03 11:21:30 +01:00
Antonio Scandurra
bd441723a0 Cancel innermost snippet insertion when hitting esc 2022-02-03 10:37:15 +01:00
Antonio Scandurra
426ca94b52 Allow completions to bleed off the editor's bounds 2022-02-03 10:23:34 +01:00
Antonio Scandurra
8fc89da573 Don't overflow selection index when completions are filtered 2022-02-03 08:47:17 +01:00
Max Brunsfeld
439d12cb85 Start work on syntax highlighting completions 2022-02-02 18:14:30 -08:00
Max Brunsfeld
45898daf83 Fix hang in editor completion unit test 2022-02-02 17:09:36 -08:00
Max Brunsfeld
88adddb324 Remove theme parameters from buffer/display map's chunks methods
Change Chunks to contain highlight ids instead of actual highlight
styles. Retrieve the actual highlight style from the theme in the
editor element layer.

This is to set us up to perform syntax highlighting in other code
paths where the theme is not available.
2022-02-02 16:33:04 -08:00
Antonio Scandurra
101add8da3 Hide completions when using the mouse
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-02 19:12:36 +01:00
Antonio Scandurra
8149bcbb13 Improve formatting of function autocompletion labels in Rust
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-02 18:43:55 +01:00
Antonio Scandurra
8d7815456c Don't apply completion's edit when it wouldn't change the buffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-02 18:00:30 +01:00
Antonio Scandurra
d765e75bad Apply additional edits for completion when the buffer is remote 2022-02-02 16:29:13 +01:00
Antonio Scandurra
91e5c2dfac Broadcast completion triggers to remote participants 2022-02-02 14:07:41 +01:00
Antonio Scandurra
ed549e352f Start on requesting completions for remote buffers 2022-02-02 12:22:47 +01:00
Antonio Scandurra
ae5aebf405 Fix flaky test_highlighted_ranges due to random TypeId ordering 2022-02-02 10:09:12 +01:00