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
Piotr Osiewicz
86247bf657
editor: Highlight search results
...
Z-1292
2023-06-15 09:44:44 +02: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
Mikayla Maki
9a47415cb5
Merge branch 'main' into git-project-panel-and-scrollbar-styling
2023-05-22 15:02:28 -07:00
Mikayla Maki
1d07cff765
Adjust scrollbar settings to be expandable ( #2507 )
...
Note that this PR cannot be cherrypicked into preview, as it relies on
the new settings infrastructure.
Switches settings from `show_scrollbars: "auto"` to `scrollbar: {show:
"auto", git_diffs: true}`.
fixes
https://linear.app/zed-industries/issue/Z-1650/scroll-bar-feature-settings
Release Notes:
- Changed scrollbar settings from `show_scrollbars: "auto"` to
`scrollbar: {show: "auto", git_diffs: true}`. (preview only)
2023-05-22 12:51:21 -07:00
Mikayla Maki
dcb987ba9d
Diagnostics pane was not focusable with the mouse ( #2506 )
...
fixes
https://linear.app/zed-industries/issue/Z-1432/cant-cmd-w-an-empty-diagnostics-in-a-split-pane
Release Notes:
* Fixed a bug where the diagnostics pane could not be focused or closed
in certain circumstances.
2023-05-22 12:44:39 -07:00
Mikayla Maki
cfdf9198da
Switch back to
2023-05-22 12:16:47 -07:00
Mikayla Maki
687ccd4c6f
fmt
2023-05-22 12:13:23 -07:00
Mikayla Maki
366f13bb5c
Adjust scrollbar settings to be expandable
2023-05-22 12:12:56 -07:00
Mikayla Maki
bafc1d922e
fmt
2023-05-22 11:46:52 -07:00
Mikayla Maki
e59c8e9d61
Fix diagnostic pane not being closeable
2023-05-22 11:44:23 -07:00
Max Brunsfeld
e129ed2d91
Fix spurious setting error log messages ( #2498 )
...
Fixes a bug introduced in
https://github.com/zed-industries/zed/pull/2448 , where error messages
would be logged if the user config didn't specify certain fields like
`journal` or `telemetry`.
2023-05-22 11:44:21 -07:00
Julia
a69144911f
Add paragraph based vertical movements ( #2502 )
...
Very selfish patch I worked on yesterday, I kept saying I wanted these
and finally decided to just add them. Feedback on the keybindings
welcome
Release Notes:
* Added `MoveToStartOfParagraph` and `MoveToEndOfParagraph` movements
for paragraph based vertical navigation
2023-05-22 14:31:34 -04:00
Mikayla Maki
6264b24788
fmt
2023-05-22 11:04:36 -07:00
Mikayla Maki
8669dcdc81
Make scrollbar content detection cheaper
...
Remove scrollbars from multibuffers
co-authored-by: max <max@zed.dev>
2023-05-22 10:55:44 -07:00
Mikayla Maki
af73c1af06
Add seperate scrollbar styling
2023-05-22 10:03:02 -07:00
Julia
44903bc193
Add test for paragraph vertical movements
2023-05-22 11:48:07 -04:00
Julia
7190840081
Add paragraph based vertical movements
2023-05-22 09:12:36 -04:00
Antonio Scandurra
146809eef0
Merge branch 'main' into panels
2023-05-22 14:10:17 +02:00
Mikayla Maki
bbb68c523c
Refactored apart the forward and the backwards iterator for diff hunks
2023-05-19 18:09:47 -07:00
Max Brunsfeld
e32233c826
Fix spurious setting error logs on non-existent setting keys
2023-05-19 17:15:05 -07:00
Mikayla Maki
c795c9b844
Rearrange git tests in worktree
...
Add support for renaming work directories
2023-05-19 16:30:00 -07:00
Mikayla Maki
623a177fe6
Fix bug where git diff hunks would not extend through a soft wrap
2023-05-19 16:23:45 -07:00
Mikayla Maki
2a41a32aac
Calculate y offsets correctly
2023-05-19 16:23:45 -07:00
Max Brunsfeld
847d1e73a3
Replace remaining usages of glob crate with globset
2023-05-19 09:36:46 -07:00
Max Brunsfeld
58f704abcb
Avoid unnecessary code action requests when applying leader updates to an editor
2023-05-18 14:46:23 -07:00
Max Brunsfeld
42eca3048f
Move font size adjustment code to the theme crate
2023-05-17 15:56:32 -07:00
Max Brunsfeld
258723566f
Rename settings::register_setting -> settings::register
2023-05-17 15:06:11 -07:00
Max Brunsfeld
2d5f03e148
Remove optional path argument when getting settings
2023-05-17 15:05:20 -07:00
Max Brunsfeld
1f0e79ee9d
Merge branch 'main' into setting-store
2023-05-17 14:56:35 -07:00
Max Brunsfeld
67a25126d4
Define theme/ui text style settings in theme crate
2023-05-17 14:44:59 -07:00
Mikayla Maki
f4e99ecde4
Add never option to scrollbar settings
2023-05-17 14:19:35 -07:00
Mikayla Maki
6cf439e734
fmt
2023-05-17 14:12:04 -07:00
Mikayla Maki
ae3394f4de
Add scrollbars setting
2023-05-17 14:09:26 -07:00
Mikayla Maki
aa89632286
Add diff hunks to the scroll bar
2023-05-17 11:40:30 -07:00
Max Brunsfeld
89204e85c0
Merge branch 'main' into setting-store
2023-05-17 09:55:24 -07:00
Max Brunsfeld
6403bb86e1
Define workspace settings in workspace crate
2023-05-16 20:25:18 -07:00
Max Brunsfeld
cbd4771f10
Define project settings in project crate
2023-05-16 17:45:04 -07:00
Max Brunsfeld
65e3713d4d
Define editor settings in editor crate
2023-05-16 17:30:29 -07:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Joseph Lyons
c27859871f
Send editor event when saving a new file
2023-05-16 18:16:09 -04:00
Joseph T. Lyons
2e27f26339
Merge pull request #2475 from zed-industries/add-copilot-events
...
Add events for copilot suggestion accepting and discarding
2023-05-16 17:25:54 -04:00
Joseph Lyons
ffd503951b
Don't make events for every rejected suggestion
2023-05-16 17:19:05 -04:00
Kirill Bulatov
d719352152
Unify path:row:column parsing, use it in CLI
2023-05-16 21:07:26 +03:00
Kirill Bulatov
89fe5c6b09
Test caret selection in file finder
...
co-authored-by: Max <max@zed.dev>
2023-05-16 21:07:26 +03:00
Kirill Bulatov
e9606982e6
Use ':' instead of ',' to separate files, rows and columns
2023-05-16 21:07:26 +03:00
Joseph Lyons
afe75e8cbd
Send copilot events even if file_extension is not known at the time
2023-05-16 14:02:36 -04:00
Joseph Lyons
6976d60bfe
Rework code to contain submitting of copilot events within editor
2023-05-16 13:26:05 -04:00
Mikayla Maki
ead9ac6f23
Fix typo
2023-05-15 16:47:46 -07:00
Mikayla Maki
606d5e36e1
Add events for copilot suggestion accepting and discarding
2023-05-15 16:44:09 -07:00
Mikayla Maki
2b18975cdc
Change folder styling from a reduce over all child files to a simple 'always modified'
...
Remove git status from tab titles
2023-05-15 16:20:01 -07:00
Mikayla Maki
5e2aaf45a0
Fix repository initialization bug
2023-05-13 10:38:24 -07:00
Mikayla Maki
41bef2e444
Refactor out git status into FileName component
...
Integrate file name component into the editor's tab content
2023-05-13 02:26:45 -07:00
Max Brunsfeld
bc5b78198a
Define terminal settings in terminal crate
2023-05-10 17:43:10 -07:00
Max Brunsfeld
cee7edabf9
Ensure the SettingsStore global is added in tests
2023-05-10 16:39:59 -07:00
Max Brunsfeld
aa6ea920e2
Define telemetry settings in the client crate
2023-05-10 12:59:24 -07:00
Max Brunsfeld
9b06be2aa2
Define vim_mode setting in vim crate
2023-05-10 12:59:24 -07:00
Nathan Sobo
0d78266ddb
Replace todo with unimplemented to reduce distractions
2023-05-09 16:41:10 -06:00
Kirill Bulatov
39bddfc7b7
Only allow invisbles in local and leader selections
2023-05-08 19:36:51 +03:00
Kirill Bulatov
98ff18c430
Code review fixes
2023-05-08 19:36:51 +03:00
Kirill Bulatov
e6489e999d
Add invisibles wrapping test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
d2b2dc39d9
Do not print invisibles in non-full mode editors
2023-05-08 19:36:51 +03:00
Nate Butler
ab6b3adb2b
Add a theme entry for whitespace, use it to style whitespaces
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Kirill Bulatov <mail4score@gmail.com>
2023-05-08 19:36:51 +03:00
Kirill Bulatov
fb3ef4bcf6
Fix wrapped line detection
2023-05-08 19:36:51 +03:00
Kirill Bulatov
075bab2ea9
Use more convntional name for the settings
2023-05-08 19:36:51 +03:00
Kirill Bulatov
706f6f495a
Add a test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ec725fe399
Do not print extra invisibles on line wraps
2023-05-08 19:36:51 +03:00
Kirill Bulatov
95bcd19020
Refactor line glyphs drawing methods
2023-05-08 19:36:51 +03:00
Kirill Bulatov
4aaf44df94
Support invisibles in the selection
2023-05-08 19:36:51 +03:00
Kirill Bulatov
1eeeec157e
Use cached standard glyphs for invisible symbols
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-05-08 19:36:51 +03:00
Kirill Bulatov
714734d279
Add whitespaces rendering
2023-05-08 19:36:51 +03:00
Kirill Bulatov
2d8c88ad73
Draw tabs with svg icons in editor code only
2023-05-08 19:36:51 +03:00
Kirill Bulatov
f0a88b3337
Make invisibles display configurable
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ad731ea6d2
Draft invisibles' tabs display
2023-05-08 19:36:51 +03:00
Max Brunsfeld
4f8607039c
Add is_tab field to chunks
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-08 19:36:51 +03:00
Julia
332b364a30
Prevent some cases of clipping icons due to pixel coord rounding
2023-05-08 11:42:00 -04:00
Antonio Scandurra
0296974ab1
Merge pull request #2441 from zed-industries/implicit-ancestry
...
Determine view ancestry during layout
2023-05-05 10:58:00 +02:00
Julia
eacea55aaf
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Antonio Scandurra
d6b0569bed
Merge branch 'main' into implicit-ancestry
2023-05-04 17:19:06 +02:00
Antonio Scandurra
da19edc3e3
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Antonio Scandurra
121264d35a
Fix panic when opening multiple definitions in a multibuffer
...
The editor is on the stack, so adding an item to the `Pane` containing
the editor will cause a double borrow and a consequent panic. This
commit fixes the issue by deferring the opening of the definitions.
2023-05-04 14:34:42 +02:00
Antonio Scandurra
3d679ddb26
Avoid re-allocating KeymapContext
after every view notification
2023-05-04 12:04:30 +02:00
Max Brunsfeld
9d41f83b1b
Merge branch 'main' into copilot-disabled-globs
2023-05-03 10:53:28 -07:00
Max Brunsfeld
8eb1312deb
Add copilot menu item for enabling paths by glob
2023-05-03 10:14:01 -07:00
Antonio Scandurra
e9ed40da37
Remove the ability to retrieve the view's parent
2023-05-03 16:52:55 +02:00
Antonio Scandurra
7f137ed3dd
Compute view ancestry at layout time
2023-05-03 16:36:14 +02:00
Antonio Scandurra
7f345f8bf5
Separate Window::build_scene
into layout
and paint
2023-05-03 12:18:16 +02:00
Julia
185c1650df
Show diagnostic source in inline diagnostic
2023-05-02 09:08:07 -04:00
Max Brunsfeld
c485fc86a2
Add copilot.disabled_globs setting
2023-05-01 13:45:47 -07:00
Antonio Scandurra
c4472b0786
Remove ViewContext::dispatch_action
2023-05-01 16:27:36 +02:00
Antonio Scandurra
d815fc88ae
Remove ViewContext::dispatch_any_action
2023-05-01 14:24:00 +02:00
Antonio Scandurra
e566929d9e
Fix panic when clicking on a definition
...
This was introduced with #2420 and was caused by re-entrantly updating
the workspace. Instead of passing the workspace reference from the outside,
we now define the definition navigation as a method on the editor which solves
the issue.
Note that we also needed to introduce a `defer` call when navigating to a definition
to prevent the workspace from reading the editor during `open_project_item`.
2023-04-29 14:53:17 +02:00
Joseph Lyons
6b0faa2d9c
Rework telemetry code to support sending events to Clickhouse
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-04-28 16:06:55 -04:00
Antonio Scandurra
489b1f6a63
Merge remote-tracking branch 'origin/main' into simplify-action-dispatch
2023-04-28 17:31:12 +02:00
Antonio Scandurra
f65e64829e
Remove Scroll
internal action
2023-04-28 16:43:31 +02:00
Antonio Scandurra
3409ee1785
Remove DeployMouseContextMenu
internal action
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-28 16:41:46 +02:00
Antonio Scandurra
a91903c2ab
Remove internal actions from link_go_to_definition
2023-04-28 16:24:46 +02:00
Antonio Scandurra
264a2c1835
Remove HideHover
and HoverAt
internal actions
2023-04-28 16:12:24 +02:00
Antonio Scandurra
83436213ad
Remove Jump
internal action
2023-04-28 14:13:07 +02:00
Antonio Scandurra
a978f3fe4f
Remove Select
internal action
2023-04-28 12:33:22 +02:00
Max Brunsfeld
7258db7a4e
Merge pull request #2417 from zed-industries/hover-markdown
...
Render markdown more correctly in the editor hover popover
2023-04-27 14:15:04 -07:00
Max Brunsfeld
6042df393b
Give code spans in markdown a background highlight
2023-04-27 13:58:30 -07:00
Max Brunsfeld
66d4cb8c14
Tweak rendering of multi-paragraph list items in markdown
2023-04-27 11:39:34 -07:00
Julia
678c188de0
Re-allow diagnostics hovers to soft wrap
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-27 14:35:34 -04:00
Julia
3f7533a0b4
Show source of diagnostic hovers
2023-04-27 14:35:34 -04:00
Antonio Scandurra
022368225e
Remove internal actions from Pane
2023-04-27 14:23:26 +02:00
Antonio Scandurra
5521ff1b22
Allow passing a handler function to context menu items
2023-04-27 11:32:12 +02:00
Max Brunsfeld
c6abb0db3a
Improve rendering of multi-paragraph list items in hover markdown
2023-04-26 17:09:20 -07:00
Max Brunsfeld
d298ce3fd3
Render more markdown features in hover popover
2023-04-26 15:33:10 -07:00
Antonio Scandurra
6317e885c7
Don't allow strong view handles to be read/updated with an AsyncAppContext
...
This avoids an invitation to hold strong view handles across async await
points, which is a common source of leaks.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-26 13:36:13 +02:00
Antonio Scandurra
2b6830c798
Remove unnecessary calls to WeakViewHandle::upgrade
2023-04-26 11:13:46 +02:00
Antonio Scandurra
94c2eaad23
Replace ViewContext::spawn
with ViewContext::spawn_weak
2023-04-26 10:23:27 +02:00
Antonio Scandurra
7ca412ade3
Merge remote-tracking branch 'origin/main' into fewer-context-traits
2023-04-26 09:54:58 +02:00
Max Brunsfeld
ebbe52e6b0
🎨 Specify more dependencies at the workspace level
2023-04-24 17:41:55 -07:00
Max Brunsfeld
a280a93cd8
Start work on a language server log view
2023-04-24 09:43:31 -07:00
Max Brunsfeld
abdccf7393
Use a workspace dependency for the futures crate
2023-04-24 09:43:31 -07:00
Antonio Scandurra
c165fb9be5
Remove ReadView
and UpdateView
traits
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 17:36:14 +02:00
Nathan Sobo
993dbf86cb
Merge remote-tracking branch 'origin/main' into into-element
2023-04-21 14:27:25 -06:00
Nathan Sobo
caf3d5c163
Fix more formatting
2023-04-21 14:25:49 -06:00
Nathan Sobo
fe492eacbf
Refine naming of element-related types and traits
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 13:06:37 -06:00
Antonio Scandurra
03619dfa55
Rename Drawable::boxed to into_element and make containers generic
...
Multi-element are now generic over any drawable child, which can be converted
into an element.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 12:43:19 -06:00
Antonio Scandurra
4ac894ffbe
Remove unnecessary lifetime parameter from WindowContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-21 18:06:53 +02:00
Antonio Scandurra
5b40641fde
Take a target view when marking an element as draggable
2023-04-21 15:52:05 +02:00
Antonio Scandurra
b0cbd13e7a
Remove stray push_layer
from EditorElement::paint
2023-04-21 11:46:13 +02:00
Antonio Scandurra
c76b9794e4
Merge branch 'main' into window_context_2
2023-04-21 10:58:08 +02:00
Max Brunsfeld
21bb13d309
Fix comment formatting errors for rust 1.69
2023-04-20 09:03:42 -07:00
Max Brunsfeld
32c57bcd22
Store buffer's diagnostic sets in a smallvec
2023-04-20 08:58:41 -07:00
Max Brunsfeld
4dd917c123
Introduce a LanguageServerId wrapper type
...
Clarify the meaning of all the usizes in use in all of these
struct fields an method signatures.
2023-04-20 08:58:41 -07:00
Julia
6156dbced0
Finish getting multiple diagnostics sources building and running
2023-04-20 08:58:41 -07:00
Julia
ba7233f265
Incomplete refactor to allow for multiple adapters per language
2023-04-20 08:58:39 -07:00
Antonio Scandurra
1d487e19f9
Fix editor tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 16:15:14 +02:00
Antonio Scandurra
c52b6328b7
Merge branch 'main' into window_context_2
2023-04-20 16:01:47 +02:00
Antonio Scandurra
4d207981ae
Notify LSP when Copilot suggestions are accepted/rejected
2023-04-20 10:15:31 +02:00
Antonio Scandurra
34bcf6f072
Reopen file in Copilot language server when language or URI changes
2023-04-20 09:34:20 +02:00
Mikayla Maki
ce8442a3d8
Fix underflow potential
2023-04-19 17:42:19 -07:00
Mikayla Maki
dd73233973
Merge pull request #2386 from zed-industries/copilot-shipping
...
Get copilot ready to ship
2023-04-20 12:38:27 +12:00
Mikayla Maki
26ab774b7f
Removed debounce on suggestion cycling code
2023-04-19 17:34:09 -07:00
Mikayla Maki
9b8a3e4de5
Fixed panic in new cycling code
...
Made cycling fire without debounce
2023-04-19 16:50:31 -07:00
Mikayla Maki
2882e0fa5b
Remove new CTA in copilot sign in UI
...
Add a trim_end to copilot suggestions
2023-04-19 16:39:55 -07:00
Mikayla Maki
70ff4ca48f
WIP: lower our usage of the copilot API by seperating out the cycling completion
...
Restore copilot setting visibility
co-authored-by: antonio <antonio@zed.dev>
2023-04-19 15:23:17 -07:00
Mikayla Maki
ea1c3fa7a0
Only fire completion cycling requests if specifically asked for by the user
2023-04-19 15:21:30 -07:00
Antonio Scandurra
4a9989fe38
Clear all suggestions from Editor
when disabling Copilot
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-19 20:10:57 +02:00
Antonio Scandurra
1fd07b6fcf
Clarify copilot settings
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-19 20:07:05 +02:00
Petros Amoiridis
b3b8f8532d
Assert the editor and unmarked texts are the same
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-04-19 20:52:01 +03:00
Petros Amoiridis
f9c60b98c0
Add newline above and improve newline below
...
Add a new action for inserting a new line above the current line. @ForLoveOfCats also helped fix a bug among other things. When two collaborators had their cursors at the end of a line, and one collaborator performed a newline below action, the second collaborator's cursor would be dragged to the new line. This is also fixing that.
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-04-19 19:57:23 +03:00
Max Brunsfeld
bd7d50f339
Fix 'invalid insertion' panic when following
...
Wait for the necessary buffer operations to arrive before attempting to
set selections and scroll top.
2023-04-18 16:13:18 -07:00
Joseph T. Lyons
614a9c8977
Merge pull request #2377 from zed-industries/add-tab-tooltips
...
Add tab tooltips
2023-04-18 14:37:38 -04:00
Joseph Lyons
304eddbbe4
Remove unnecessary lifetimes from tab_description
2023-04-18 14:15:56 -04:00
Joseph Lyons
9afd804062
Remove unnecessary lifetimes from tab_tooltip_text
2023-04-18 14:03:02 -04:00
Antonio Scandurra
136e599051
Merge branch 'main' into window_context_2
2023-04-18 17:29:37 +02:00
Antonio Scandurra
d03c431f9a
Fix warnings/errors now that AsyncAppContext::update
returns Result
2023-04-18 14:58:57 +02:00
Antonio Scandurra
d26d0ac56f
Clean up completion tasks, even if they fail or return no results
...
This fixes a bug where leaving the completion task in `completion_tasks`
could cause the Copilot suggestion to not be shown due to the LSP not
successfully return a completion.
2023-04-18 11:03:17 +02:00
Antonio Scandurra
75d6b6360f
Add failing test to demonstrate Copilot not showing enough suggestions
2023-04-18 10:24:20 +02:00
Antonio Scandurra
38ab6b123f
Make production code compile again
2023-04-17 12:33:33 +02:00
Joseph Lyons
ebe57254e0
Add tab tooltips
2023-04-15 06:46:14 -04:00
Antonio Scandurra
a820862165
Take WindowContext
in workspace::ItemHandle
methods
2023-04-14 16:36:23 +02:00
Antonio Scandurra
a8e75a9b55
Remove weak handle from EditorElement to Editor
2023-04-14 14:29:03 +02:00
Antonio Scandurra
33bc47dbe2
Merge branch 'main' into window_context_2
2023-04-14 12:07:09 +02:00
Antonio Scandurra
7394bf1cdc
Fix most of the warnings
2023-04-14 10:51:53 +02:00
Antonio Scandurra
9ef79735dc
Move more window-specific methods from AppContext
to WindowContext
2023-04-14 10:29:35 +02:00
Joseph T. Lyons
6a75e884c0
Merge pull request #2374 from zed-industries/add-vim-mode-metric
...
Add vim mode metric
2023-04-13 13:52:31 -04:00
Joseph Lyons
5f0bf5929f
Add vim mode metric
2023-04-13 13:46:22 -04:00
Antonio Scandurra
0269a8699b
Start removing some warnings
2023-04-13 12:04:37 +02:00
Antonio Scandurra
495c7acadf
Avoid interpolating Copilot suggestion if cursor excerpt differs
2023-04-13 10:44:08 +02:00
Nathan Sobo
25ad635577
WIP
2023-04-12 12:38:26 -06:00
Nathan Sobo
4cb13fb39c
WIP
2023-04-12 12:22:26 -06:00
Nathan Sobo
a25f962185
WIP
2023-04-12 12:13:35 -06:00
Antonio Scandurra
83070a19c4
WIP
2023-04-12 15:55:43 +02:00
Nathan Sobo
b54f08db77
WIP
2023-04-12 06:51:03 -06:00
Nathan Sobo
e115baa60c
WIP
2023-04-11 18:21:56 -06:00
Max Brunsfeld
727afae4ff
Fix unit tests after fixing gpui model drop semantics
...
co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-04-11 10:58:01 -07:00
Nathan Sobo
6638407ff9
WIP: Everything shredded
2023-04-10 16:10:32 -06:00
Nathan Sobo
7536645eea
WIP
2023-04-08 08:01:05 -06:00
Nathan Sobo
2615a11f7c
Don't export platform::* from gpui
...
I'd like to avoid cluttering the top-level namespace with all the platform-
specific types.
2023-04-07 11:45:53 -06:00
Joseph T. Lyons
c58601ab8d
Merge pull request #2363 from zed-industries/add-copy-path-commands
...
Update copy path commands
2023-04-07 12:09:39 -04:00
Joseph Lyons
5e55eb279c
Update copy path commands
2023-04-07 02:36:56 -04:00
Nathan Sobo
8136d8a8a6
Fix formatting
2023-04-06 15:54:44 -06:00
Nathan Sobo
de9bf6dfbd
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Mikayla Maki
78742d5615
Add additional case to range invalidation test
...
co-authored-by: antonio <antonio@zed.dev>
2023-04-05 08:52:56 -07:00
Mikayla Maki
b585470518
Invalidate copilot suggestion on backspaces
...
Restore an observation on initialization
co-authored-by: antonio <antonio@zed.dev>
2023-04-05 08:48:39 -07:00
Antonio Scandurra
03a4c9d6d5
Use the cursor variable instead of selection.start
2023-04-05 14:15:58 +02:00
Antonio Scandurra
dd416cdfd2
📝
2023-04-05 14:14:43 +02:00
Antonio Scandurra
f920e02d96
Indent instead of accepting suggestion if cursor is in leading whitespace
2023-04-05 14:09:09 +02:00
Antonio Scandurra
908a7cf47e
💄
2023-04-05 13:59:19 +02:00
Antonio Scandurra
dcd8bdfc88
Update visible suggestion if edit occurs outside the current editor
2023-04-05 11:06:14 +02:00
Antonio Scandurra
6e821eea4b
Prevent tab
from accepting a copilot suggestion when it isn't visible
2023-04-05 10:31:11 +02:00
Antonio Scandurra
661be7ba51
Refresh copilot suggestions when accepting a completion
2023-04-05 10:28:00 +02:00
Antonio Scandurra
7a7dc95611
Refresh copilot suggestions when undoing/redoing
2023-04-05 10:27:19 +02:00
Antonio Scandurra
399451b676
Capture copilot behavior in a editor unit test
2023-04-05 10:26:43 +02:00
Antonio Scandurra
65fd605b82
Revert "Return the previous suggestion when replacing it"
...
This reverts commit 971c88db80
.
2023-04-04 18:59:28 +02:00
Antonio Scandurra
b58ac815a8
Trigger copilot only on insertion and deletion
...
Also, avoid showing the suggestion if a completion is in progress to
avoid flickering.
2023-04-04 17:51:37 +02:00
Antonio Scandurra
971c88db80
Return the previous suggestion when replacing it
2023-04-04 17:14:52 +02:00
Antonio Scandurra
e970d84184
Debounce copilot completions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-04 16:02:25 +02:00
Antonio Scandurra
60955fb8ee
Refresh active copilot suggestion when accepting completion
2023-04-04 11:15:14 +02:00
Antonio Scandurra
79d5bb45dc
Clear Copilot suggestions when it gets disabled from the settings
2023-04-04 10:45:56 +02:00
Mikayla Maki
2e33f8b228
fixup! Remove per-file copilot enable/disable
2023-04-03 15:21:43 -07:00
Mikayla Maki
48d9c30b0e
Remove per-file copilot enable/disable
2023-04-03 15:15:42 -07:00
Nathan Sobo
cdfe873802
Merge pull request #2343 from zed-industries/handles
...
Make typed handles wrappers around their untyped equivalents
2023-04-03 09:20:37 -04:00
Antonio Scandurra
b88aa9af1d
Clear active copilot suggestion only if there is one
2023-04-03 14:32:41 +02:00
Antonio Scandurra
ec5309b543
Make autocompletion and copilot mutually exclusive
2023-04-03 14:15:21 +02:00
Antonio Scandurra
75ecf92ae4
Fix Copilot errors when opening buffers that don't exist locally
2023-04-03 12:28:32 +02:00
Nathan Sobo
82a713fd1d
Store AnyViewHandle inside ViewHandle and Deref to it
2023-04-02 14:59:55 -06:00
Antonio Scandurra
b208d1a489
🎨
2023-03-31 18:10:10 +02:00
Antonio Scandurra
5f579a4287
Fix prefix/suffix calculation when determining copilot suggestion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-03-31 18:05:07 +02:00
Antonio Scandurra
b588ba1435
Avoid auto-indenting when accepting copilot suggestion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-03-31 17:17:35 +02:00
Antonio Scandurra
6e43e77c3f
Use copilot's Completion::{range,text}
to determine suggestion
...
Previously, we were using display text, but this isn't always correct. Now,
we just attempt to determine what text Copilot wants to insert by finding
a prefix and suffix in the existing text with the suggested text.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-03-31 17:08:41 +02:00
Mikayla Maki
81411b9114
Merge branch 'main' into copilot
2023-03-30 16:57:18 -07:00
Antonio Scandurra
af4c4c7cf0
Speed up tab searching in TabMap::sync
by looking for \t
only
...
Instead of looking for `\n` as a stopping condition, we cap the range
we pass to `SuggestionSnapshot::chunks` to stop on the next line. This
makes character searching faster, because looking for a single character
uses `memchr`. Also, this avoids an extra conditional in a tight loop such
as the chunk scanning one contained in `TabMap::sync`.
2023-03-30 10:03:13 +02:00
Antonio Scandurra
79346b0706
Use +
instead of |
to break out of tab expansion in TabMap::sync
2023-03-30 09:49:07 +02:00
Mikayla Maki
cc7c5b416c
Add status bar icon reflecting copilot state to Zed status bar
2023-03-29 21:31:33 -07:00
Mikayla Maki
76efab005f
WIP
2023-03-29 17:25:41 -07:00
Mikayla Maki
ae3b3ea458
Merge branch 'main' into copilot
2023-03-29 16:57:38 -07:00
Mikayla Maki
ebd06b43f5
Add copilot settings
...
Add copilot pause / resume
Add copilot statusbar item stub
2023-03-29 16:40:52 -07:00
Max Brunsfeld
7601e7902a
Merge pull request #2325 from zed-industries/tab-map-long-lines
...
Avoid slowdowns with long lines by skipping tab expansion beyond a certain column
2023-03-29 14:48:23 -07:00
Max Brunsfeld
0c07a373a8
🎨
2023-03-29 14:43:01 -07:00
Julia
737e2e1b3c
Open symbol outline when clicking on editor breadcrumbs
2023-03-29 15:46:43 -04:00
Antonio Scandurra
49447128a9
Make edits smaller when tab expansion changes on a line
2023-03-29 21:40:37 +02:00
Antonio Scandurra
b86f8188d1
Expand edit to end of the line when old/new row exceeds max expansion
2023-03-29 16:49:21 +02:00
Antonio Scandurra
719d0f0abf
Rename skip_leading_tab
to inside_leading_tab
2023-03-29 14:53:28 +02:00
Antonio Scandurra
813f722925
Increment input_column
correctly when inside the leading tab
2023-03-29 14:52:50 +02:00
Antonio Scandurra
12370f120e
🎨
2023-03-28 18:40:51 -07:00
Antonio Scandurra
ce9774be53
Improve detection of common prefix in text_for_active_completion
2023-03-28 18:40:42 -07:00
Max Brunsfeld
5c1f82ae3d
Don't use TabMap::expand_tabs in line_indent_for_buffer_row
2023-03-28 17:37:57 -07:00
Max Brunsfeld
08e93e9321
Only expand tabs up until a limited column
2023-03-28 16:40:04 -07:00
Max Brunsfeld
c23feeab3a
🎨 Make expand_tabs and collapse_tabs instance methods on TabSnapshot
2023-03-28 14:10:43 -07:00
Antonio Scandurra
da81ff3295
Optimize CopilotState::text_for_active_completion
2023-03-28 09:42:01 -07:00
Antonio Scandurra
034bc75467
Refresh copilot suggestions when hitting alt-]
if none are showing
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-03-28 09:42:01 -07:00
Antonio Scandurra
d236d9e8c9
Clear copilot suggestions when hitting escape
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-03-28 09:42:01 -07:00
Antonio Scandurra
1162615043
Reuse existing suggestion when inserting to avoid flickering
2023-03-28 09:42:01 -07:00
Antonio Scandurra
6715e5247c
Rework SuggestionMap
to take highlight style when retrieving chunks
2023-03-28 09:42:01 -07:00
Antonio Scandurra
093e0a30e9
Replace editor::CycleCopilotSuggestions
with copilot::NextSuggestion
2023-03-28 09:42:01 -07:00
Antonio Scandurra
2f95510a2e
Start integrating Copilot with editor
...
There's still a bit to do in terms of reusing the previous suggestion
when the prefix matches, but we're getting there.
2023-03-28 09:42:01 -07:00
Antonio Scandurra
5471217089
Use the same serde version across the entire workspace
2023-03-28 09:42:00 -07:00
Nathan Sobo
f0992e7d67
Trim empty tokens; copy selected range if non-empty
2023-03-24 17:10:50 -06:00
Nathan Sobo
3dfedd1b21
Merge adjacent chunks with the same highlight name in copied JSON
2023-03-24 16:52:00 -06:00