Commit log

75a6a94 Add placeholder text for inline assistant prompts

Antonio Scandurra created

44c340b Properly invalidate the hint cache

Kirill Bulatov created

b101a7e Cancel last inline assist when escaping from the editor

Antonio Scandurra created

fdbf468 Ensure the inline assistant works with gpt-3.5

Antonio Scandurra created

205e101 Query certain editor ranges for inlays with a delay (#2891)

Click to expand commit body
Part of
https://linear.app/zed-industries/issue/Z-2750/investigate-performance-of-collaborating-on-large-files-with-inlay
Fixes
https://linear.app/zed-industries/issue/Z-2824/inlay-hints-affect-code-layout-in-multibuffer

We query hints for visible part of the screen, and two parts above and
below the visible range, of the same range (if applicable, we can be on
the edge of the document).

When rapidly typing, we do not care about the invisible range updates,
yet still query a lot of them + rust-analyzer sends /refresh hint
requests shortly after every modification too, forcing us to re-query.

Instead querying both visible and invisible ranges altogether, wait for
visible range query first and wait add a `400ms` delay afterwards before
querying the invisible ranges.
This allows any /refresh requests or rapid typing to avoid 2 extra
requests, cancelling them before they start.
Visible part of the screen is still queried after every change, without
any debouncing.

Release Notes:

- Delay certain inlay hint requests to reduce general LSP server load

Kirill Bulatov created

2b95f05 Fix the tests

Kirill Bulatov created

c10c3e2 Only invalidate when doing first, visible range query

Kirill Bulatov created

a63e157 Defer querying inlay hints for invisible editor ranges

Click to expand commit body
This way, only the visible part gets frequently queried on typing (and
hint /refresh requests that follow), with queries for invisible ranges
cancelled eagerly.

Kirill Bulatov created

b50762c Handle inlay hints resolve, support dynamic hints (#2890)

Click to expand commit body
Resolves inlay hints on hover, shows hint label parts' tooltips, allows
cmd+click to navigate to the hints' parts with locations,
correspondingly highlight the hints.

Release Notes:

- Support dynamic inlay hints

Kirill Bulatov created

0a18aa6 Use stricter inlay range checks to avoid stuck highlights

Click to expand commit body
Often, hint ranges are separated by a single '<` char as in
`Option<Vec<u32>>`. When moving the caret from left to right, avoid
inclusive ranges to faster update the matching hint underline.

Kirill Bulatov created

27c90f1 Merge remote-tracking branch 'origin/main' into ai-refactoring

Antonio Scandurra created

0444b5a :lipstick:

Antonio Scandurra created

8ed280a Rebase fixes

Kirill Bulatov created

e44516c Add hover tests

Kirill Bulatov created

f19c659 Add link_go_to_definition test for inlays

Kirill Bulatov created

abd2d01 Properly binary search cached inlay hints

Kirill Bulatov created

3c55c93 Be more lenient with hint resolution, always return some hint

Kirill Bulatov created

852427e Use inlay highlights in randomized tests

Kirill Bulatov created

7cd60d6 Simplify and restore client resolve capabilities

Kirill Bulatov created

dcf570b Fix resolve status conversion

Kirill Bulatov created

bcaff0a Propagate inlay background highlights to data storage

Kirill Bulatov created

4b78678 Prepare background highlights for inlay highlights

Kirill Bulatov created

12ffbe5 Unify text and inlay highlights

Kirill Bulatov created

420f8b7 Prepare for inlay and text highlight unification

Kirill Bulatov created

4cc9f2f Highlight inlay hint parts on cmd-hover

Click to expand commit body
Co-Authored-By: Antonio <antonio@zed.dev>

Kirill Bulatov and Antonio created

f8874a7 Attempt to highlight inlays

Kirill Bulatov created

6c5761d Pass inlay highlight information

Kirill Bulatov created

477fc86 Properly resolve inlay label parts' locations and buffers

Kirill Bulatov created

7eab18e Pass inlay go to definition data

Kirill Bulatov created

ac86bba Prepare for hover functionality refactoring

Kirill Bulatov created

80e8714 Send inlay hint resolve requests

Kirill Bulatov created

3434990 Store inlay hint resolve data

Kirill Bulatov created

e4b78e3 Revert "Strip off inlay hints data that should be resolved"

Click to expand commit body
Without holding all hints in host's cache, this is impossile.
Currenly, we keep hint caches separate and isolated, so this will not
work when we actually resolve.

Kirill Bulatov created

d1cb0b3 Properly detect hovered inlay hint label part

Kirill Bulatov created

d34491e Draft inlay hint part hover detection

Kirill Bulatov created

971c833 Improve background highlighting of inline assists

Antonio Scandurra created

144f5c5 Use a left bias for the prompt editor

Antonio Scandurra created

66a496e Allow generating code without editing it

Antonio Scandurra created

c1bd035 Rework inline assistant

Antonio Scandurra created

bc7e908 Eager Semantic Indexing Queue (#2886)

Click to expand commit body
Optimization to the Semantic Indexing Engine.

We've transitioned from a framework in which the entire project tree is
walked at each index command, to an eager queuing method, in which an
initial queue of outstanding indexing work is initialized upon workspace
creation, and then subscriptions are leveraged for file change events to
continually keep an updated view on outstanding work.

This optimization contributes towards quicker user feedback, when
initializing or using Semantic Search functionality. It also opens the
doors towards better transparency across the system on outstanding
indexing work.

Release Notes:

- Refactored index operation queue to an eager queuing framework.
- Moved semantic search initialization to workspace creation.
- Adjusted rate limiting strategy on api delays to reduce time spent
waiting for rate limits.

Kyle Caverly created

ee97bc5 cleaned up warnings

KCaverly created

f1586c9 Automatically enable project search filters when using `Search Inside` (#2889)

Click to expand commit body
Now that the filters are hidden behind a toggle-able setting, running
the `Search Inside` action from the project panel feels a bit weird,
since the filter being used is hidden. This PR automatically opens that
filter section after running a `Search Inside` action.

Release Notes:

- N/A

Joseph T. Lyons created

8288e55 Automatically enable project search filters when using `Search Inside`

Joseph T. Lyons created

0801e5e Merge branch 'main' into add-setting-to-automatically-enable-virtual-environment

Joseph T. Lyons created

9fe580a WIP

Joseph T. Lyons created

fbc7b37 Introduce channel notes (#2880)

Click to expand commit body
![Screen Shot 2023-08-24 at 5 26 53
PM](https://github.com/zed-industries/zed/assets/326587/3e84c5a6-1aaf-4335-a880-4c32eb83332d)

### Todo

* [x] Snapshot channel buffers when everyone closes the buffer
* [x] Ensure that users who are in both a project and a channel note
have the same color in both places
* [x] Allow following project collaborators into channel notes
* [x] Expose notes for the current channel under "Current Call" section
of the collaboration panel
* [x] Offline state for the channel notes view
* [x] Make the channel context menu accessible to all members (to expose
the notes)
* [x] Wire in view and Item method overrides

Release Notes:

- N/A

Mikayla Maki created

a95dcfa Make channel notes view searchable and navigable via pane history

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created

7b6c0c5 Show non-admin context menu items for all channel members

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created

c7c2203 Avoid creating redundant snapshots of channel notes buffers

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created

358a204 Make channel notes read-only when disconnected

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created