Commit Graph
25009 Commits
Author SHA1 Message Date
Antonio ScandurraandKyle Caverly d271e8f54f Re-index project when a worktree is registered
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 17:17:58 +02:00
Antonio ScandurraandKyle Caverly 275a65eca0 Simplify SemanticIndex::index_project
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:54:48 +02:00
Nate Butler 7758d96629 Fix cropped search filters (#2932)
Because of the way we set up tools that add rows inside the toolbar it
is complicated to tighten up the spacing inside the toolbar.

This PR just reverts the changes I made previously. We'll need to
properly add rows below the toolbar instead of rendering search inside
of it to have non-equal height tools be able to descend from it.

Release Notes:

- Preview – Fixed an issue where search filters were partially cut off
in the UI.
2023-09-05 10:49:38 -04:00
Nate Butler e5558d4135 Fix cropped search filters 2023-09-05 10:24:49 -04:00
Antonio ScandurraandKyle Caverly 0269f9bbd8 Retrieve embeddings based on pending files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:16:12 +02:00
Antonio ScandurraandKyle Caverly 381234cb74 Move retrieval of embeddings from the db into reindex_changed_files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:09:24 +02:00
Antonio Scandurra 8ef079b287 🎨 2023-09-05 15:52:36 +02:00
Kirill Bulatov 703e5bc49c Add LSP logs clear button (#2913)
LSP logs tend to accumulate and hinder performance (e.g. search is
slower over 20 MB of json files).
Add a way to clear them.

Release Notes:

- N/A
2023-09-05 12:11:35 +03:00
Conrad Irwin ea19a9e284 Split ContextMenu actions
This should have no user-visible impact.

For vim `.` to repeat it's important that actions are replayable.
Currently editor::MoveDown *sometimes* moves the cursor down, and
*sometimes* selects the next completion.

For replay we need to be able to separate the two.
2023-09-02 21:04:19 -06:00
Conrad Irwin c1953aca44 Use consistent naming 2023-09-02 19:52:18 -06:00
Conrad Irwin 8f09db790f Fix tests with no neovim 2023-09-02 19:43:05 -06:00
Max Brunsfeld 7010bc8263 Start work on refreshing channel buffer collaborators on server restart 2023-09-01 17:51:00 -07:00
Max Brunsfeld 77bf2ef790 Broadcast new peer ids for rejoined channel collaborators 2023-09-01 17:23:55 -07:00
Max Brunsfeld 52d80af076 executor: timers must be used 2023-09-01 16:52:41 -07:00
Max Brunsfeld 977b734848 Start work on rejoining channel buffers 2023-09-01 16:52:12 -07:00
KCaverly 73c4a76c9e update pragma settings for improved database performance 2023-09-01 17:07:20 -04:00
Conrad Irwin 8353a921d6 Fix find_{,preceding}boundary to work on buffer text (#2912)
Fixes movement::find_boundary to work on the buffer, not on display
points.

The user-visible impact is that the "until end of word" commands now
correctly go to the end of a soft-wrapped word (instead of to the first
character of the wrapped line).

It also fixes a bug where the callback passed to these methods was
called with the content of inlay hints.

[[PR Description]]

Release Notes:

- fix finding end of word on soft-wrapped lines
2023-09-01 12:14:16 -07:00
Conrad Irwin 48a79db963 vim: Add S to substitute line
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin c240a03a92 Merge branch 'main' into vim-softwrap-word 2023-09-01 12:23:56 -06:00
Conrad Irwin 74817cf6e8 Fix accidental visual selection on scroll (#2927)
Release Notes:

- vim: Fix bug where scrolling vertically would sometimes enter visual
mode
2023-09-01 10:58:10 -07:00
Conrad Irwin 6117aac1d1 Fix accidental visual selection on scroll
As part of this fix partial page distance calculations to more closely
match vim.
2023-09-01 11:14:27 -06:00
KCaverlyandMax 4d3955bbf9 updated embeddings background delay to 5 minutes
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:04:09 -04:00
KCaverlyandMax 71c698f4a9 optimize insert file in vector database
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:01:37 -04:00
Nathan Sobo fad5e69b3c Merge remote-tracking branch 'origin' into storybook 2023-09-01 10:08:48 -06:00
Nathan Sobo 1ea754b53e Fix warnings for a clean build 2023-09-01 10:08:41 -06:00
KCaverlyandAntonio 9f586c49ae flush embeddings queue when no files are parsed for 250 milliseconds
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-01 11:24:08 -04:00
KCaverlyandAntonio 0c2278d883 move embeddings queue to use single hashmap for all changed paths
Co-authored-by: Antonio <me@as-cii.com>
2023-09-01 08:59:25 -04:00
Antonio Scandurra 33ab715378 Avoid duplicate entries in inline assistant's prompt history (#2926)
Release Notes:

- Improved the inline assistant's prompt history to avoid including the
same entry multiple times. (preview-only)
2023-09-01 09:20:14 +02:00
Antonio Scandurra 48467b59fa Avoid duplicate entries in inline assistant's prompt history 2023-09-01 09:15:29 +02:00
Max Brunsfeld 16a698c3fb Remove the concept of a local clock; use lamport clocks for all per-replica versioning (#2924)
### Background

Currently, our CRDT uses three different types of timestamps:

| clock type | representation | purpose |
|-----|----------------|----------|
| `Local` | replica id + u32 | uniquely identifies operations |
| `Lamport` | replica id + u32 | provides a consistent total ordering
for all operations |
| `Global` | N local clocks | fully defines the partial ordering between
all concurrent operations |

All text operations include *each* type of timestamp. And every
`Fragment` in a buffer's fragment tree contains both a local and a
lamport timestamp.

### Change

An operation can be uniquely identified by its lamport timestamp, so we
don't really need a concept of a local timestamp. In this PR, I've
removed the concept of a local timestamp. Version vectors
(`clock::Global`) now store vectors of *lamport* timestamps.

Eliminating local timestamps reduces the memory footprint of a buffer by
four bytes per fragment, reduces the size of our `UpdateBuffer` RPC
messages, and reduces the amount of data we need to store in our
database for channel buffers. It also makes our CRDT a bit easier to
understand, IMO, because there is now only one scalar value that we
increment per replica.

It's possible I'm missing something here though. @as-cii, @nathansobo
it'd be good to get your 👀
2023-08-31 16:47:08 -07:00
Max Brunsfeld dcc212f176 Renumber protobuf fields, bump protocol version 2023-08-31 16:31:26 -07:00
Max Brunsfeld fe943bc46b Remove local timestamps from CRDT operations
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
KCaverly 30060ea614 WIP: work towards wiring up a embeddings_for_digest hashmap that is stored for all indexed files 2023-08-31 16:42:39 -04:00
Max Brunsfeld 9a976f26b1 Assistant: propagate cancel action if there is no pending inline assist (#2923)
Release Notes:

- Fixed a bug where modals could not be dismissed with `escape` when
certain views were active in the workspace (preview only).
2023-08-31 11:17:09 -07:00
Max Brunsfeld 2492d07a27 Propagate Cancel action if there is no pending inline assist 2023-08-31 11:09:36 -07:00
KCaverly 5ccef1e27e fill embeddings with database values and skip during embeddings queue 2023-08-31 13:19:17 -04:00
Antonio Scandurra ee5a6a5140 WIP 2023-08-31 18:00:57 +02:00
Antonio ScandurraandKyle Caverly abad439830 Rename Sha1 to DocumentDigest
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 18:00:36 +02:00
Antonio ScandurraandKyle Caverly 4233c9a1ec Reify Embedding/Sha1 structs that can be (de)serialized from SQL
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 17:55:43 +02:00
Kirill Bulatov b5e3ba3465 Style the clear button better, add border to button constructor options 2023-08-31 18:31:21 +03:00
Kirill Bulatov 90adfda2f4 Add LSP logs clear button 2023-08-31 18:31:21 +03:00
Antonio ScandurraandKyle Caverly 40135de778 Write to and read from the database in a transactional way
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 16:59:54 +02:00
Antonio ScandurraandKyle Caverly 97f636f7ef Abstract away how database transactions are executed
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 16:54:11 +02:00
Kirill Bulatov 58a9278342 Tailwind autocomplete (#2920)
Release Notes:
- Added basic Tailwind CSS autocomplete support
([#746](https://github.com/zed-industries/community/issues/746)).
2023-08-31 16:55:46 +03:00
Kirill Bulatov ce5393437b Fix plugin LSP adapter intefrace 2023-08-31 15:32:24 +03:00
Kirill Bulatov fa9a9b4955 Route completion requests through remote protocol, if needed 2023-08-31 15:22:13 +03:00
Kirill Bulatov 984505c584 Fix wrong assertion in the test 2023-08-31 14:31:43 +03:00
Kirill Bulatov 9993adc3bd Ensure all client LSP queries are forwarded via collab 2023-08-31 14:29:37 +03:00
Kirill Bulatov f5e0c28971 Fix project tests 2023-08-31 13:01:53 +03:00
Kirill Bulatov ef63e7b44b Use ctrl-: instead of ctrl-shift-: for inlay hints toggling (#2921)
The latter is not possible to press in Zed, since `:` is typed as
`shift-;` with typical US keyboard layouts.

In the end, it's the same buttons you have to press to toggle the inlay
hints, but working this time.

Release Notes:

- N/A
2023-08-31 12:10:45 +03:00