Commit log

d61565d Do not resubscribe for Copilot logs events

Click to expand commit body
Copilot sends multiple events about its LSP server readiness, not necessarily recreating the server from scratch (e.g. due to re-sign in action).
Avoid re-adding same log subscriptions on the same LSP server, which
causes panics.

Kirill Bulatov created

a5e055f Bring UI crate up to date (#3013)

Click to expand commit body
Merges various in-progress gpui2 component branches with the new `ui`
crate.

Nate Butler created

30b105a Remove leftover state doc

Nate Butler created

d14e4d4 Merge branch 'main' into nate/bring-ui-crate-up-to-date

Nate Butler created

f54634a Bring UI crate up to date

Nate Butler created

5083ab7 Add `TrafficLights` component (#3011)

Click to expand commit body
This PR adds a `TrafficLights` component for GPUI2.

<img width="861" alt="Screenshot 2023-09-21 at 11 32 10 PM"
src="https://github.com/zed-industries/zed/assets/1486634/0fe0e847-49b3-44dc-bd4c-64f12f0051c1">

Release Notes:

- N/A

Marshall Bowers created

48e1514 introduce ai crate with completion providers

KCaverly created

66358f2 Update storybook to support stories for individual components (#3010)

Click to expand commit body
This PR updates the `storybook` with support for adding stories for
individual components.

### Motivation

Right now we just have one story in the storybook that renders an entire
`WorkspaceElement`.

While iterating on the various UI components, it will be helpful to be
able to create stories of those components just by themselves.

This is especially true for components that have a number of different
states, as we can render the components in all of the various states in
a single layout.

### Explanation

We achieve this by adding a simple CLI to the storybook.

The `storybook` binary now accepts an optional `[STORY]` parameter that
can be used to indicate which story should be loaded. If this parameter
is not provided, it will load the workspace story as it currently does.

Passing a story name will load the corresponding story, if it exists.

For example:

```
cargo run -- elements/avatar
```

<img width="723" alt="Screenshot 2023-09-21 at 10 29 52 PM"
src="https://github.com/zed-industries/zed/assets/1486634/5df489ed-8607-4024-9c19-c5f4541f97c9">

```
cargo run -- components/facepile
```

<img width="785" alt="Screenshot 2023-09-21 at 10 30 07 PM"
src="https://github.com/zed-industries/zed/assets/1486634/e04a4577-7403-405d-b23c-e765b7a06229">



Release Notes:

- N/A

Marshall Bowers created

5f63346 rename ai crate to assistant crate

KCaverly created

02a85b1 Add local next LSP adapter

Mikayla created

4628639 Update ambiguous theme import (#3009)

Click to expand commit body
Fixes an ambiguous reference to `theme` causing storybook not to build.

Nate Butler created

8440ac3 Fix fmt complaining about order

Nate Butler created

1e6ac8c `theme::*` -> `crate::theme::*;`

Nate Butler created

7711530 Simplify titlebar facepile click rendering / mouse handling

Max Brunsfeld created

4ffa167 Allow following into channel notes regardless of project

Max Brunsfeld created

baa07e9 Extract UI elements from `storybook` into new `ui` crate (#3008)

Click to expand commit body
This PR extracts the various UI elements from the `storybook` crate into
a new `ui` library crate.

Release Notes:

- N/A

Marshall Bowers created

c252eae Reorganize `ui` module exports (#3007)

Click to expand commit body
This PR reorganizes the exports for the `ui` module in the `storybook`
crate.

### Motivation

Currently we expose each of the various elements/components/modules in
two places:

- Through the module itself (e.g., `ui::element::Avatar`)
- Through the `ui` module's re-exports (e.g., `ui::Avatar`)

This means it's possible to import any given item from two spots, which
can lead to inconsistencies in the consumers. Additionally, it also
means we're shipping the exact module structure underneath `ui` as part
of the public API.

### Explanation

To avoid this, we can avoid exposing each of the individual modules
underneath `ui::{element, component, module}` and instead export just
the module contents themselves.

This makes the `ui` module namespace flat.

Release Notes:

- N/A

Marshall Bowers created

92d3115 Fix some typos in `tools.md`

Marshall Bowers created

6bbf614 Fix some typos in `README.md`

Marshall Bowers created

ed8b022 Add initial failing test for following to channel notes in an unshared project

Max Brunsfeld created

f34c6bd Start work on allowing following without a shared project

Max Brunsfeld created

c71566e Make project id optional when following - server only

Max Brunsfeld created

8345502 Procfile: run zed.dev via 'next dev', not 'vercel dev'

Max Brunsfeld created

3c2b05b add semantic index status, for non authenticated users (#3005)

Click to expand commit body
Update project search semantic ui to accommodate for users who have not
set the OPENAI_API_KEY in their environment variables.

Release Notes:

- Expand Semantic Index status to include status for non authenticated
users
- Update Search UI to illustrate this status.

Kyle Caverly created

7b63369 move api authentication to embedding provider

KCaverly created

997f362 add semantic index status, for non authenticated users

KCaverly created

59e561d Bump rust from 1.72.0 to 1.72.1

Max Brunsfeld created

056353f Correct icon_margin_scale for fold indicator (#3003)

Click to expand commit body
Fixes a design regression on Preview where the fold icon became small
due to the icon standardization PR.

Release Notes:

- [Preview] Fixed an issue with the size of the fold line icon.

Nate Butler created

19a9753 Fix channel move cancel (#3004)

Click to expand commit body
Release Notes:

- Fixes a bug where channels could no longer be rearranged with drag and
drop.

Max Brunsfeld created

66dd0e9 Switch drag end event to be fired after mouse up

Mikayla created

d74b8ec Correct icon_margin_scale

Nate Butler created

dbfa1d7 [WIP] Replace in project (#2984)

Click to expand commit body
Targeting Preview of 09.27.
This is still pending several touchups/clearups:
- We should watch multibuffer for changes and rescan the excerpts. This
should also update match count.
- Closing editor while multibuffer with 100's of changed files is open
leads to us prompting for save once per each file in the multibuffer.
One could in theory save in multibuffer before closing it (thus avoiding
unnecessary prompts), but it'd be cool to be able to "Save all"/"Discard
All".

Release Notes:

- Added "Replace in project" functionality

Piotr Osiewicz created

d090fd2 Supplementary LSP server log improvements (#3002)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/2991 improving
rough edges around supplementary LSP servers:

* Fixes
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1695281196667609
Copilot init panic
* Makes LSP server list scrollable in the panel
* Shows supplementary servers' RPC logs in the panel

Release Notes:

- N/A

Kirill Bulatov created

1c53b0a Properly re-add Copilot LSP server

Kirill Bulatov created

a2ac5ae Fix RPC logs not being displayed for supplementary servers

Kirill Bulatov created

ead7155 Make LSP panel scrollable

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

Kirill Bulatov and Max created

32f8733 Code review changes

Conrad Irwin created

4bf4c78 Revert accidental Cargo change

Conrad Irwin created

7a7ff4b Fix save related tests, and refactor saves again

Conrad Irwin created

a59da36 Fix backward search from command

Conrad Irwin created

a25fcfd Iron out some edge-cases

Conrad Irwin created

2d9db0f Flesh out v1.0 of vim :

Conrad Irwin created

6ad1f19 Add NewFileInDirection

Conrad Irwin created

88a32ae Merge Workspace::save_item into Pane::save_item

Click to expand commit body
These methods were slightly different which caused (for example) there
to be no "Discard" option in the conflict case at the workspace level.

To make this work, a new SaveBehavior (::PromptForNewPath) was added to
support SaveAs.

Conrad Irwin created

a4f96e6 tests: wait deterministically after simulating_keystrokes

Conrad Irwin created

e27b7d7 Ensure the picker waits for pending updates

Click to expand commit body
Particularly in development builds (and in tests), when typing in the
command palette, I tend to hit enter before the suggestions have
settled.

Conrad Irwin created

ba5d84f Fix vim tests on my machine

Click to expand commit body
In a rare case of "it broke on my machine" I haven't been able to run
the vim tests locally for a few days; turns out I ran out of swap file
names...

Conrad Irwin created

ea3a174 Add vim-specific interactions to command

Click to expand commit body
This mostly adds the commonly requested set (:wq and friends) and
a few that I use frequently
:<line> to go to a line number
:vsp / :sp to create a split
:cn / :cp to go to diagnostics

Conrad Irwin created

d42093e collab 0.22.1

Max Brunsfeld created

98482f0 Fix select all bugs (#3001)

Click to expand commit body
Release Notes:

- Restore `cmd-shift-d` as 'editor::DuplicateLine' and move
`editor::SelectAllMatches` to `cmd-shift-L`, like in VS Code. The
previous action for `cmd-shift-l`, `editor::SplitSelectionIntoLines`,
has been moved to the sublime base keymap.
- Fixes a panic when using 'editor::SelectAllMatches'  on an empty line.

Max Brunsfeld created