K Simmons
3dce18540e
clippy fixes for focus change
2022-08-10 16:51:01 -07:00
ForLoveOfCats and Mikayla
fbea44bc5c
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev >
2022-08-10 16:51:01 -07:00
Julia
1e78c24e45
Merge pull request #1451 from zed-industries/tab-auto-indent
...
Auto-indent on tab for cursors left of the suggested indent level
2022-08-02 15:52:12 -04:00
Antonio Scandurra
84b1a2722e
Compute diffs based on characters rather than lines
...
Previously, a change on a given line would cause that whole line to be
replaced. In turn, this caused anchors on that line to go to the start
of that line because they would lie inside of a deleted region after applying
the diff.
By switching to a character-wise diff, we perform smaller edits to the buffer
which stabilizes anchor positions.
2022-08-02 16:52:37 +02:00
Max Brunsfeld and Julia Risley
8505231e9a
Start work on auto-indenting lines on tab
...
Co-authored-by: Julia Risley <floc@unpromptedtirade.com >
2022-08-01 16:47:59 -07:00
Max Brunsfeld
2c732526a9
Fix mistakes in editor auto-indent test
2022-08-01 11:02:29 -07:00
Max Brunsfeld
75c349243c
🎨 Rename and simplify some autoindent stuff
2022-07-28 22:40:30 -07:00
Max Brunsfeld
357c9d53a9
Record start columns when writing to the clipboard from Zed
2022-07-28 22:13:32 -07:00
Max Brunsfeld
345e33fa98
Start work on adjusting pasted text based on old start column
2022-07-28 17:29:42 -07:00
Max Brunsfeld and Mikayla Maki
669d716519
Introduce AutoindentMode parameter to Buffer::edit
...
This controls whether or not we preserve the relative indentation
of inserted text blocks.
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com >
2022-07-28 14:03:31 -07:00
Max Brunsfeld and Mikayla Maki
48610f5819
Remove indent_size parameter from Buffer::edit_with_autoindent
...
Instead, compute the indent size by reading the settings inside that method.
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com >
2022-07-28 13:00:05 -07:00
Max Brunsfeld
d349ca1f4e
Fix error in autoindent range calculation
2022-07-28 11:51:03 -07:00
Max Brunsfeld
1a1b7810b7
Restructure autoindent to preserve relative indentation of inserted text
2022-07-26 17:43:43 -07:00
Max Brunsfeld
0232aba028
🎨 compute_autoindents
2022-07-26 17:09:30 -07:00
Max Brunsfeld
07f1486c13
Improve calculation of which lines are new when auto-indenting
2022-07-26 17:09:30 -07:00
Antonio Scandurra
47fce17ff8
Merge branch 'main' into ime-support-2
2022-07-25 10:47:49 +02:00
Antonio Scandurra
daff3fc7f6
Coalesce IME compositions into a single edit
2022-07-25 09:53:51 +02:00
Antonio Scandurra
db5f26474b
Allow grouping local transactions even if remote peer edits in between
2022-07-23 09:27:21 +02:00
Max Brunsfeld and Antonio Scandurra
51868f445b
Remove versioned offset ranges from transactions and undo operations
...
Now, instead of using these versioned offset ranges, we locate the
fragments associated with a transaction using the transaction's
edit ids. To make this possible, buffers now store a new map called
`insertion_slices`, which lets you look up the ranges of insertions
that were affected by a given edit.
Co-authored-by: Antonio Scandurra <antonio@zed.dev >
2022-07-22 17:28:55 -07:00
K Simmons
f14c30511d
add test coverage for diagnostic popover
2022-07-20 19:02:33 -07:00
Antonio Scandurra
44459a3c7e
Merge pull request #1385 from zed-industries/fix-lifetime-error
...
Fix spurious borrow checker error
2022-07-18 12:22:54 +02:00
Antonio Scandurra
9de9d517fd
Differentiate among tabs with the same name
...
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.
As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
Max Brunsfeld
fad4365565
Fix association of 'json' lsp language id with JSON language
2022-07-12 15:43:59 -07:00
Antonio Scandurra
810a5d5318
Merge pull request #1252 from zed-industries/plugin
...
Language Server WebAssembly Plugin Integration (Part 2)
2022-07-12 11:04:20 +02:00
Isaac Clayton
99f67fde8c
Rename LspAdapterTrait to LspAdapter and LspAdapter to CachedLspAdapter
2022-07-12 09:29:38 +02:00
Isaac Clayton
6a1f649d6a
Fix minor issues pointed out in the review
2022-07-11 15:54:03 +02:00
Isaac Clayton
aa6fc12980
Remove the blocking call and inline on_lsp_diagnostics_published
2022-07-11 12:11:00 +02:00
Max Brunsfeld
559f6854d0
Upgrade Tree-sitter and limit query cursors' concurrently-buffered matches
2022-07-08 14:09:34 -07:00
Isaac Clayton
ce8898acf1
Remove debug statements
2022-07-08 21:28:35 +02:00
Isaac Clayton
bf71eb0ae0
Highlight languages as languages load
2022-07-08 21:19:07 +02:00
Antonio Scandurra and Max Brunsfeld
d8e346f0e9
Fix spurious borrow checker error
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-07-08 19:03:25 +02:00
Isaac Clayton
3a4657614f
Added theme to language
2022-07-08 18:11:28 +02:00
Isaac Clayton
5a48e0fa2a
Require theme directly when creating language
2022-07-08 16:08:40 +02:00
Isaac Clayton
2140c81501
Add channel to notify project when languages are added
2022-07-08 14:37:27 +02:00
Isaac Clayton
c4c1977bdb
Fix errors resulting from rebase
2022-07-07 18:14:16 +02:00
Isaac Clayton
0b85613a86
Done! Finish transition to async, very close to merging
2022-07-07 16:21:20 +02:00
Isaac Clayton
ae5262e93a
Fix all residual errors, need to polish off warnings and TODOS
2022-07-07 16:17:03 +02:00
Isaac Clayton
2d4bc1704b
Switch LspAdapter to struct and revert some async/await
2022-07-07 16:12:10 +02:00
Isaac Clayton
5f055cd352
Going to move LspAdapter from trait to struct
2022-07-07 15:44:21 +02:00
Isaac Clayton
0ba6d9618e
Add lsp_settings_changed: Task to Project, need to resolve cx in Project::on_settings_changed
2022-07-07 15:39:59 +02:00
Isaac Clayton
b74f90639c
Work on updating code to be async
2022-07-07 15:32:41 +02:00
Isaac Clayton
eb958dfbb8
Make into async trait, will refactor everything Monday
2022-07-07 15:25:49 +02:00
Isaac Clayton
56a6a81a24
Add JSON LSP plugin
2022-07-07 15:22:16 +02:00
Isaac Clayton
f3b8e93a8a
Start switching JSON LSP adapter to plugin (take 2)
2022-07-07 15:16:59 +02:00
Antonio Scandurra
3b345cba67
Allow providing an external format in format_on_save setting
2022-07-07 11:04:03 +02:00
Antonio Scandurra and Max Brunsfeld
6d573a2822
Normalize line endings when parsing completions
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-07-06 19:32:45 +02:00
Antonio Scandurra
f94bfeb1cc
Fix panic on paste when editing with auto-indent
...
Instead of accepting text as it's input by the user, we will read it
out of the edit operation after it gets sanitized by the buffer.
2022-07-06 19:00:11 +02:00
Max Brunsfeld and Keith Simmons
e6c9549bbd
Strip carriage returns from all text in text::Buffer
...
* Moving the logic from Rope to text::Buffer makes it easier
to keep the Rope in sync with the fragment tree.
* Removing carriage return characters is lossier, but is much
simpler than incrementally maintaining the invariant that
there are no carriage returns followed by newlines. We may
want to do something smarter in the future.
Co-authored-by: Keith Simmons <keith@zed.dev >
2022-07-05 17:25:09 -07:00
Max Brunsfeld
69ed736484
Change Buffer constructors to construct the History internally
2022-07-05 14:51:52 -07:00
Antonio Scandurra
a90a086c3e
Transmit new line ending when buffer is reloaded
2022-07-05 08:01:14 +02:00