Commit Graph
11805 Commits
Author SHA1 Message Date
Conrad Irwinand 204e716a5d vim . to replay
Co-Authored-By: maxbrunsfeld@gmail.com
2023-09-06 13:49:55 -06:00
Conrad Irwin 475925ea6c vim S (#2929)
Release Notes:
- vim: Add `S` to substitute line ([#1897](https://github.com/zed-industries/community/issues/1897)).
2023-09-05 09:39:08 -06:00
Conrad Irwin fd2db64316 Split ContextMenu actions (#2931)
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-05 09:38:08 -06: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
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
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
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
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
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
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
Kirill Bulatov 3b38bb55fd Post-rebase fixes 2023-08-31 11:53:46 +03:00
Kirill Bulatov f1f6ff7d0b Log language server stderr output in server logs (#2918)
<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
2023-08-31 11:13:45 +03:00
Kirill Bulatov 676fc679d3 Fix the tests, by not requiring stderr for fake servers 2023-08-31 11:07:37 +03:00
Kirill Bulatov ce7c0d3426 Use ctrl-: instead of ctrl-shift-: for inlay hints toggling
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.
2023-08-31 10:43:29 +03:00
Julia 3faabbe91a Merge branch 'main' into multi-server-completions-tailwind 2023-08-30 22:58:37 -04:00
JuliaandKirill Bulatov 6414d0eae1 Scope Tailwind in JS/TS to within string
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>
2023-08-30 21:14:39 -04:00
Kirill Bulatov 314721116e Do not write TRACE logs into file for Lua 2023-08-31 01:14:37 +03:00
Kirill Bulatov 6905f4fadf Capture language servers' stderr into server logs 2023-08-31 01:14:37 +03:00
Max Brunsfeld 52568d3887 Disable save as prompt for channel notes (#2917) 2023-08-30 15:09:53 -07:00
Max Brunsfeld b50ade3139 Disable save as prompt for channel notes 2023-08-30 15:05:47 -07:00
Kirill Bulatov e8092015bb Rewrite inlay hint collab tests to remove races (#2916)
Release Notes:

- N/A
2023-08-31 00:49:50 +03:00
Max Brunsfeld 7e7f2a6bfd Fix collab panel regressions (#2915)
Release Notes:

- Fixed a bug where collaborators' cursors were rendered with the wrong
color when not following them (preview only).
- Fixed an issue where icons were inconsistent sizes in the
collaboration panel (preview only).
2023-08-30 14:41:37 -07:00
Kirill Bulatov c36367d2e4 Rewrite inlay hint collab tests to remove races 2023-08-31 00:37:00 +03:00
Max BrunsfeldandMikayla 3d81860539 Remove unnecessary ConstrainedBoxes in collab panel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 14:35:02 -07:00
Max BrunsfeldandMikayla ffcecdcb1d collab panel: Make screen share row line up with shared projects
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 14:23:12 -07:00
Max BrunsfeldandMikayla 820cb00d62 Fix cursor colors of non-followed collaborators
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 14:14:18 -07:00
Max Brunsfeld ec1d3cd08f Avoid accidental gpui transitive dependency in collab (#2914)
Release Notes:

- N/A
2023-08-30 13:22:10 -07:00
da054bfbb5 Avoid accidental gpui transitive dependency in collab
* Make Fs depend on Text, not vise versa

Co-authored-by: Joseph <joseph@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 13:16:01 -07:00
Joseph T. Lyons 089341a97e collab 0.19.0 2023-08-30 14:37:55 -04:00
Joseph T. Lyons 89acc42a5a v0.103.x dev 2023-08-30 13:41:09 -04:00