Commit log

42976b6 Add LSP logs clear button (#2913)

Click to expand commit body
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

Kirill Bulatov created

56db21d Split ContextMenu actions

Click to expand commit body
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.

Conrad Irwin created

55dd0b1 Use consistent naming

Conrad Irwin created

3a7b551 Fix tests with no neovim

Conrad Irwin created

6827ddf Start work on refreshing channel buffer collaborators on server restart

Max Brunsfeld created

e6babce Broadcast new peer ids for rejoined channel collaborators

Max Brunsfeld created

d7e4cb4 executor: timers must be used

Max Brunsfeld created

d370c72 Start work on rejoining channel buffers

Max Brunsfeld created

8dbc0fe update pragma settings for improved database performance

KCaverly created

da16167 Fix find_{,preceding}boundary to work on buffer text (#2912)

Click to expand commit body
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

Conrad Irwin created

af12977 vim: Add `S` to substitute line

Click to expand commit body
For zed-industries/community#1897

Conrad Irwin created

aa7b65b Merge branch 'main' into vim-softwrap-word

Conrad Irwin created

0e41c6c Fix accidental visual selection on scroll (#2927)

Click to expand commit body
Release Notes:

- vim: Fix bug where scrolling vertically would sometimes enter visual
mode

Conrad Irwin created

6d79496 Fix accidental visual selection on scroll

Click to expand commit body
As part of this fix partial page distance calculations to more closely
match vim.

Conrad Irwin created

54235f4 updated embeddings background delay to 5 minutes

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

KCaverly and Max created

e86964e optimize insert file in vector database

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

KCaverly and Max created

2fa9c03 Merge remote-tracking branch 'origin' into storybook

Nathan Sobo created

6275c56 Fix warnings for a clean build

Nathan Sobo created

524533c flush embeddings queue when no files are parsed for 250 milliseconds

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

KCaverly and Antonio created

c4db914 move embeddings queue to use single hashmap for all changed paths

Click to expand commit body
Co-authored-by: Antonio <me@as-cii.com>

KCaverly and Antonio created

2bf417f Avoid duplicate entries in inline assistant's prompt history (#2926)

Click to expand commit body
Release Notes:

- Improved the inline assistant's prompt history to avoid including the
same entry multiple times. (preview-only)

Antonio Scandurra created

d868ec9 Avoid duplicate entries in inline assistant's prompt history

Antonio Scandurra created

7bcc59c Remove the concept of a local clock; use lamport clocks for all per-replica versioning (#2924)

Click to expand commit body
### 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 👀

Max Brunsfeld created

1e60454 Renumber protobuf fields, bump protocol version

Max Brunsfeld created

03f0365 Remove local timestamps from CRDT operations

Click to expand commit body
Use lamport timestamps for everything.

Max Brunsfeld created

afa59ab WIP: work towards wiring up a embeddings_for_digest hashmap that is stored for all indexed files

KCaverly created

00aae5a Assistant: propagate cancel action if there is no pending inline assist (#2923)

Click to expand commit body
Release Notes:

- Fixed a bug where modals could not be dismissed with `escape` when
certain views were active in the workspace (preview only).

Max Brunsfeld created

eecd4e3 Propagate Cancel action if there is no pending inline assist

Max Brunsfeld created

50cfb06 fill embeddings with database values and skip during embeddings queue

KCaverly created

220533f WIP

Antonio Scandurra created

2503d54 Rename `Sha1` to `DocumentDigest`

Click to expand commit body
Co-Authored-By: Kyle Caverly <kyle@zed.dev>

Antonio Scandurra and Kyle Caverly created

3001a46 Reify `Embedding`/`Sha1` structs that can be (de)serialized from SQL

Click to expand commit body
Co-Authored-By: Kyle Caverly <kyle@zed.dev>

Antonio Scandurra and Kyle Caverly created

fe2300f Style the clear button better, add border to button constructor options

Kirill Bulatov created

7b5974e Add LSP logs clear button

Kirill Bulatov created

c763e72 Write to and read from the database in a transactional way

Click to expand commit body
Co-Authored-By: Kyle Caverly <kyle@zed.dev>

Antonio Scandurra and Kyle Caverly created

35440be Abstract away how database transactions are executed

Click to expand commit body
Co-Authored-By: Kyle Caverly <kyle@zed.dev>

Antonio Scandurra and Kyle Caverly created

ddc6214 Tailwind autocomplete (#2920)

Click to expand commit body
Release Notes:
- Added basic Tailwind CSS autocomplete support
([#746](https://github.com/zed-industries/community/issues/746)).

Kirill Bulatov created

5731ef5 Fix plugin LSP adapter intefrace

Kirill Bulatov created

e682db7 Route completion requests through remote protocol, if needed

Kirill Bulatov created

5bc5831 Fix wrong assertion in the test

Kirill Bulatov created

292af55 Ensure all client LSP queries are forwarded via collab

Kirill Bulatov created

fff385a Fix project tests

Kirill Bulatov created

fad595d Use `ctrl-:` instead of `ctrl-shift-:` for inlay hints toggling (#2921)

Click to expand commit body
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

Kirill Bulatov created

9e12df4 Post-rebase fixes

Kirill Bulatov created

897adb6 Log language server stderr output in server logs (#2918)

Click to expand commit body
<img width="1728" alt="Screenshot 2023-08-31 at 01 07 11"
src="https://github.com/zed-industries/zed/assets/2690773/537a18d6-59bf-4a77-896f-fc2cb6dc7fe8">

Line by line, we print stderr to help with debugging and servers that
log into stderr.

Release Notes:

- N/A

Kirill Bulatov created

18efc0d Fix the tests, by not requiring stderr for fake servers

Kirill Bulatov created

af665cc Use `ctrl-:` instead of `ctrl-shift-:` for inlay hints toggling

Click to expand commit body
The latter is not posible 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.

Kirill Bulatov created

ff3865a Merge branch 'main' into multi-server-completions-tailwind

Julia created

529adb9 Scope Tailwind in JS/TS to within string

Click to expand commit body
In some situations outside JSX elements Tailwind will never
respond to a completion request, holding up the tsserver completions.

Only submit the request to Tailwind when we wouldn't get tsserver
completions anyway and don't submit to Tailwind when we know we won't
get Tailwind completions

Co-Authored-By: Kirill Bulatov <kirill@zed.dev>

Julia and Kirill Bulatov created

0f619e0 Do not write TRACE logs into file for Lua

Kirill Bulatov created