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.
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
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
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
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
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>