Kirill Bulatov
dbd4b33568
Fix splice edits generation
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
9ce9b73879
Generate edits for inlay hints
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
f5f495831a
Add inlay hints randomized test, fix the errors
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
2e730d8fa4
Implement initial changes reporting for inlay hints
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
4d76162da8
Report the edits per transform summary generated
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
2ba3262f29
Add line_len snapshot method
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
ab7dd80423
Add more InlaySnapshot text summary impls
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
568a67c4d7
Implement more InlaySnapshot methods
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
daa2ebb57f
Calculate anchors for new hints
2023-06-29 22:25:49 +03:00
Kirill Bulatov
5fadbf77d4
Implement InlayHint sync method and fix the bugs
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:48 +03:00
Kirill Bulatov
5ad85b44d6
Implement chunks of the InlayMap
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:48 +03:00
Kirill Bulatov
3028767d12
Improve on inlya locations
2023-06-29 22:25:48 +03:00
Kirill Bulatov
b193d62a5d
Initial InlayMap tests and splice fn impl
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:48 +03:00
Kirill Bulatov
7397b8028c
Simplify inlay hint version handling
2023-06-29 22:25:48 +03:00
Kirill Bulatov
d506522eef
Correctly pass inlay hints
2023-06-29 22:25:48 +03:00
Kirill Bulatov
b5233b3ad5
Rename the new map
2023-06-29 22:25:48 +03:00
Kirill Bulatov
9287634548
Prepare to find diffs between inlay hint generations
2023-06-29 22:25:48 +03:00
Kirill Bulatov
78b3c9b88a
Store hints in the new map only
2023-06-29 22:25:48 +03:00
Kirill Bulatov
83f4320b60
Replace todo!s with stub calls to make Zed work
2023-06-29 22:25:48 +03:00
Kirill Bulatov
4c3c0eb796
Draft the hint render data flow
2023-06-29 22:25:48 +03:00
Kirill Bulatov
2ead3de7de
Add basic infrastructure for inlay hints map
2023-06-29 22:25:48 +03:00
Kirill Bulatov
6e3d1b962a
Draft the initial protobuf changes
2023-06-29 22:25:48 +03:00
Kirill Bulatov
387415eb01
Request hints for all buffers in editor
2023-06-29 22:25:48 +03:00
Kirill Bulatov
f83cfda9bc
React on message-less LSP requests properly
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-06-29 22:25:48 +03:00
Kirill Bulatov
7a268b1cf6
Improve obvious faults
2023-06-29 22:25:48 +03:00
Kirill Bulatov
79b97f9e75
Stub initial hint requests
2023-06-29 22:25:48 +03:00
Kirill Bulatov
8a3b515f56
Initial protocol check commit
2023-06-29 22:25:48 +03:00
Nathan Sobo
16c23557b8
vim: Fix scrolling ( #2647 )
...
After #2641 we noticed that scrolling didn't take a count parameter, and
a few other issues with the way that we calculated the distance to
scroll.
Release Notes:
- Improved distance calculations for page-up/page-down
- vim: Allow counts to work with scrolling shortcuts.
2023-06-27 04:01:14 -06:00
Conrad Irwin
a1343f0d2c
vim: Fix code actions menu
...
Fixes : zed-industries/community#1690
2023-06-26 21:46:06 -06:00
Conrad Irwin
02fc5dd6c9
vim: Fix scrolling
...
After #2641 we noticed that scrolling didn't take a count parameter.
The PageDown/PageUp logic was also broken by an additional -1 (for both
vim mode and not).
2023-06-26 13:29:14 -06:00
Nathan Sobo
cd008d1503
Add support for joining lines ( #2636 )
...
🚧 We have a couple more refinements to this to add 🚧
Release Notes:
You can now join lines with `ctrl-j` or `shift-J` in Vim normal mode.
🍐 'd with @ConradIrwin
2023-06-22 06:38:57 -06:00
Conrad Irwin
91bd8e305e
join_lines: Skip over leading indentation
2023-06-21 13:44:31 -06:00
Nate Butler
6ab0143469
Split Interactive into Interactive and Toggleable ( #2628 )
...
This is a part of the intensity driven theme rewrite.
It introduces the `toggle` and `interactive` helper functions to build
Toggle<T> and Interactive<T> styles for interactive elements in the
theme.
This PR also removes the `theme_testbench` crate and related actions.
Huge thanks to @osiewicz and @mikayla-maki for pushing this forward 🙏🏽
Release Notes:
- Updated the style of many interactive elements.
2023-06-21 15:03:08 -04:00
Nathan Sobo
cde8d7d747
Don't use test-only method; add ctrl-j binding
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:53:11 -06:00
Nathan Sobo
cf38264eda
Handle multiple selections when joining lines
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:47:06 -06:00
Nathan Sobo
61352f68ea
Add more assertions for joining lines at the end of the file
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:21:09 -06:00
Nathan Sobo
f07a929350
Allow joining multiple lines and deleting empty lines
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 11:18:28 -06:00
Nathan Sobo
c48bd394c1
Start on joining lines
...
Co-Authored-By: Conrad Irwin <conrad.irwin@gmail.com>
2023-06-21 10:32:02 -06:00
Mikayla Maki
11125a62c7
Add copy-on-click to diagnostic messages
2023-06-20 16:48:30 -07:00
Mikayla Maki
f1dc6124dd
Fix rebase mistake
2023-06-20 16:09:17 -07:00
Piotr Osiewicz
e92015b12f
Split out Interactive<T> into Toggle<T> and Interactive<T>
2023-06-20 16:05:20 -07:00
Nathan Sobo
8c298a9da5
Rename SumTree::push_tree to ::append
2023-06-19 19:49:33 -06:00
Antonio Scandurra
56b0bf8601
Save cursor scroll position when the editor is auto-scrolled
2023-06-14 12:00:27 +02:00
Antonio Scandurra
1aa1774688
Avoid auto-scrolling the editor when inserting/removing headers
2023-06-14 10:49:23 +02:00
Antonio Scandurra
27c83ca3f7
Remove unnecessary set_render_excerpt_header
method
2023-06-14 09:38:49 +02:00
Kevin Hovsäter
b365e48ff0
Toggle comments for empty single line selections ( #2594 )
2023-06-13 20:15:11 +02:00
Piotr Osiewicz
b272db9e21
editor: Add language setting for comment continuations ( #2605 )
...
Per @JosephTLyons request I've added a language setting for comment
continuations.
Release Notes:
- Added a language setting for comment continuations.
2023-06-13 18:59:46 +02:00
Max Brunsfeld
1cd11bfe66
Remove panic when programatically updating an invalid setting
2023-06-13 09:43:57 -07:00
Max Brunsfeld
e969e3b028
Sync selection between syntax tree view and editor
2023-06-12 15:14:57 -07:00
Max Brunsfeld
086cfe57c5
Start work on a syntax tree view
2023-06-12 15:14:56 -07:00
Piotr Osiewicz
5bef2f1778
Z-2303 editor: fix comment extension on the start of line ( #2595 )
...
Release Notes:
- Improved comment extension for cases where cursor was placed before
start of comment marker
2023-06-09 20:02:51 +02:00
Kevin Hovsäter
6ce3f3bf27
Refactor toggle comment tests
2023-06-09 13:22:04 +02:00
Kevin Hovsäter
a8d43c6d71
Toggle comments for empty single line selections
2023-06-09 10:10:49 +02:00
Max Brunsfeld
a7f06f962b
Enable type definition capability in fake LSPs in tests
2023-06-08 12:09:37 -07:00
Max Brunsfeld
351e4863cd
Fix some issues found when testing Elixir-LS ( #2583 )
...
Closes
https://linear.app/zed-industries/issue/Z-2209/popovers-dont-always-have-syntax-highlighted-code
Closes
https://linear.app/zed-industries/issue/Z-2206/highlight-syntax-in-hover-docs
* Fix a ton of errors in our logs due to us not recognizing that
`elixir-ls` does not support code actions.
* Syntax-highlight elixir code blocks in hover popovers
2023-06-07 12:21:48 -07:00
Max Brunsfeld
72372ddf0e
Highlight hover code blocks as LSP's own language by default
...
The elixir LSP does not include a language name on its elixir code blocks.
2023-06-07 10:01:19 -07:00
Piotr Osiewicz
e94129446d
Z 1618/extend comments ( #2585 )
...
Fixes Z-1618. In the current state, this only works for line comments
such as `//` (and whatever's set in `{language}.toml` as a
line_comment).
Release Notes:
- Comments are now extended on new line.
2023-06-07 17:37:02 +02:00
Antonio Scandurra
d26cc2c897
Maintain scroll bottom when streaming assistant responses
2023-06-07 15:01:50 +02:00
Max Brunsfeld
6f2726524e
Remove stray println
2023-06-06 17:13:59 -07:00
Antonio Scandurra
7a78e64831
Merge remote-tracking branch 'origin/main' into assistant-2
2023-06-06 19:18:22 +02:00
Antonio Scandurra
f4f060667e
Add assertion to pinpoint how deletion works across excerpts
2023-06-06 12:36:26 +02:00
Antonio Scandurra
337dda8e3a
Only remove excerpts when an edit touches them
2023-06-06 12:27:05 +02:00
Antonio Scandurra
8032324470
Prevent moving across excerpts on Editor::delete
2023-06-06 12:26:53 +02:00
Antonio Scandurra
e46d1549d6
Retain selection's head (as opposed to its end) on insertion
...
This makes a difference when an edit spans two excerpts and the selection
start won't necessarily be the same as the selection end after the edit.
2023-06-06 10:12:15 +02:00
Nathan Sobo
23836eb251
Not working yet: Remove empty messages unless they contain the cursor
...
Problem is, I'm trying to trust the excerpt id of the selection head,
but it's a sentinel value and not the actual excerpt id of the message.
I think we probably need to resolve to offsets instead.
2023-06-05 22:58:08 -06:00
Joseph Lyons
70c5489c13
Stop sending editor events to mixpanel
2023-06-05 15:09:47 -04:00
Joseph Lyons
7c60f636d5
Fix typos
2023-06-02 22:02:19 -04:00
Piotr Osiewicz
345fad3e9d
editor: add select previous command ( #2556 )
...
Added a `select previous` command to complement `select next`.
Release Notes:
- Added "Select previous" editor command, mirroring `Select next`.
Ticket number: Z-366
2023-06-02 17:32:34 +02:00
Antonio Scandurra
f00f16fe37
Show remaining tokens
2023-06-02 17:27:21 +02:00
Antonio Scandurra
cf934ab696
Fix compile errors
2023-06-02 10:08:06 +02:00
Antonio Scandurra
20e65a533c
Merge remote-tracking branch 'origin/main' into assistant-2
2023-06-02 09:32:11 +02:00
Max Brunsfeld
e67e6e6f70
Fix ambiguous glob export warnings in rust 1.70
2023-06-01 14:07:59 -07:00
Max Brunsfeld
788f97ec68
Add support for folder-specific settings ( #2537 )
...
This PR allows you to customize Zed's settings within a particular
folder by creating a `.zed/settings.json` file within that folder.
Todo
* [x] respect folder-specific settings for local projects
* [x] respect folder-specific settings in remote projects
* [x] pass a path when retrieving editor/language settings
* [x] pass a path when retrieving copilot settings
* [ ] update the `Setting` trait to make it clear which types of
settings are locally overridable
Release Notes:
* Added support for folder-specific settings. You can customize Zed's
settings within a particular folder by creating a `.zed` directory and a
`.zed/settings.json` file within that folder.
2023-05-31 16:27:08 -07:00
Max Brunsfeld
0dd7694ff5
Make language_settings take a language, not a language name
2023-05-31 15:10:30 -07:00
Max Brunsfeld
03a351fb26
Make language settings accessors take an arc dyn file
2023-05-31 14:57:04 -07:00
Max Brunsfeld
a2ab7c9eb9
Respect project-specific settings for copilot
2023-05-31 14:42:15 -07:00
Antonio Scandurra
dc365472a6
Merge remote-tracking branch 'origin/main' into assistant-2
2023-05-30 15:11:06 +02:00
Max Brunsfeld
89446c7fd4
Start work on respecting project-specific settings
2023-05-29 14:25:49 -07:00
Antonio Scandurra
88eb2b2163
Move history navigation logic to Workspace
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-29 19:47:59 +02:00
Antonio Scandurra
52e8bf2928
Show custom header for assistant messages
2023-05-29 15:57:55 +02:00
Nathan Sobo
3904971bd8
Hide assistant gutter
2023-05-26 15:38:03 -06:00
Julia
5e39ba596e
Clean up final remaining code paths calling old diff update method
2023-05-25 14:41:09 -04:00
Julia
8d662edb6c
Remove concept of git diff refresh from Item
trait
2023-05-25 14:29:28 -04:00
Julia
cede296b04
Project level git diff recalc handling
...
This avoids an issue where in a many-buffer multi-buffer, each modified
buffer could complete its recalc independently, causing a cascade of
repeated notifies
Now all recalcs started at the same time must complete before
A: Starting another recalc pass
B: The master notify occurring
Each buffer can still show its new diff if something else triggers it
to notify earlier, this is desirable and does not have the same negative
effects as the notify cascade as those re-layouts would need to happen
anyway
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-05-25 14:10:27 -04:00
Kirill Bulatov
739d5ca373
Have proper undo for both client and host
2023-05-25 18:29:57 +03:00
Kirill Bulatov
e2ff829f98
Use Transaction instead of ProjectTransaction
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-25 16:12:14 +03:00
Kirill Bulatov
aa58d0fd77
Do not send edits over the wire
2023-05-25 12:55:44 +03:00
Kirill Bulatov
d1f4b60fa1
Allow to disable the new feature
2023-05-25 09:45:50 +03:00
Kirill Bulatov
b9dabb165e
Use formatting options
2023-05-25 09:45:50 +03:00
Kirill Bulatov
f6d7b3d2e8
Send and handle OnTypeFormatting LSP request
2023-05-25 09:45:50 +03:00
Nathan Sobo
747322a02d
Merge remote-tracking branch 'origin/main' into zmd
2023-05-24 11:04:07 -06:00
Antonio Scandurra
35f9996a4f
WIP
2023-05-24 18:45:47 +02:00
Antonio Scandurra
2a8e0824a6
Fix opening excerpt when the cursor is at the end of a multi-buffer
...
This was caused by seeking with a right bias, which in the case of the
last excerpt in the buffer would seek past the end of the buffer. This
commit changes the behavior to move the cursor back to the previous excerpt
if we overshoot, to ensure we always land on an excerpt.
2023-05-24 15:02:57 +02:00
Antonio Scandurra
208ff2fba7
Merge remote-tracking branch 'origin/main' into panels
2023-05-23 08:24:28 +02:00
Nathan Sobo
234dbc3ca9
WIP
2023-05-23 00:16:44 -06:00
Nathan Sobo
30de64845f
WIP
2023-05-22 23:11:27 -06:00
Mikayla Maki
fc82489128
Update scrollbar styling
2023-05-22 16:23:36 -07:00
Mikayla Maki
5c31c84c90
Fixed contrast in project panel and scrollbar
...
co-authored-by: nate <nate@zed.dev>
2023-05-22 15:51:31 -07:00
Mikayla Maki
2d1c4a1971
Revert "Touch up git in project panel and scroll bar styling"
2023-05-22 15:31:14 -07:00
Mikayla Maki
9bec74f1d4
fmt
2023-05-22 15:04:51 -07:00