Commit log

e8dd412 update inline generate prompt to leverage more explicit <|START| and |END|> spans

KCaverly created

54c6306 changed inline assist generate prompt to leverage outline as opposed to entire prior file

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

KCaverly and Antonio created

e9e558d Rework call events api (#3038)

Click to expand commit body
There were times when events with bad data were being emitted. What we
found was that places where certain collaboration-related code could
fail, like sending an invite, would still send events; those events
would be in a bad state, as certain elements, such as a room, weren't
constructed as expected, causing the event to have missing data. The new
API guarantees that we have data in the correct configuration. In the
future, we will add events for certain types of failures within Zed, to
cover things like invites failing.

Release Notes:

- N/A

Joseph T. Lyons created

0897ed5 Rework call events api

Click to expand commit body
There were time when events with bad data were being emitted. What we found was that places where certain collaboration-related code could fail, like sending an, would still send events, and those events be in a bad state, as certain elements weren't constructed as expected, thus missing in the event. The new API guarantees that we have data in the correct configuration. In the future, we will add events for certain types of failures within Zed.

Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>

Joseph T. Lyons and Julia created

e263805 workspace: change save prompt for unnamed buffers (#3037)

Click to expand commit body
Release Notes:
- N/A

Piotr Osiewicz created

8c47f11 editor: Start transaction in replace impl (#3036)

Click to expand commit body
This fixes the undo with replace in project
/cc @maxbrunsfeld 

Release Notes:

- N/A

Piotr Osiewicz created

36f022b project_replace: Fix up key bindings (#3034)

Click to expand commit body
Release Notes:
- N/A

Piotr Osiewicz created

e75f56a move to system blas

KCaverly created

342a00b Remove `dbg!` from `styleable_helpers!` (#3035)

Click to expand commit body
This PR removes a leftover `dbg!` from `styleable_helpers!`.

We already removed this in the `gpui2-ui` branch, but getting this on
`main` since @KCaverly pointed it out.

Release Notes:

- N/A

Marshall Bowers created

330a71d fixed bug limiting number of results returned

KCaverly created

ea278b5 ensure desc sort and cleanup unused imports

KCaverly created

5e7f0c6 Fix another place where Copilot may panic (#3033)

Kirill Bulatov created

b131a2c Fix another place where Copilot may panic

Kirill Bulatov created

b5a39de Add `reset_db` script

Joseph T. Lyons created

42df5ef vim: Add multicursor shortcuts (#3032)

Click to expand commit body
Adding a few bindings to bring first class feeling multiselect to zed's
vim emulation.

gn and gN are similar to similar vim bindings, ga is similar to gA (and
I doubt we need vim's real ga), g> and g< are just made up.

Release Notes:

- vim: `g n` / `g N` to select next/previous
- vim: `g >` / `g <` to skip current selection and select next/previous
- vim: `g a` to select all

Conrad Irwin created

b29e295 vim: Add multicursor shortcuts

Click to expand commit body
- g n / g N to select next/previous
- g > / g < to select next/previous replacing current
- g a to select all matches

Conrad Irwin created

8c90157 Fix space and copy/paste when editing a channel (#3030)

Click to expand commit body
This fixes several bugs with how spaces and keyboard commands interact
with channel creating / renaming.

fixes
https://github.com/zed-industries/community/discussions/2076#discussioncomment-7096959

Release Notes:

- N/A

Mikayla Maki created

b454f43 Add cmd-+ as an alias for cmd-= (#3028)

Click to expand commit body
Release Notes:

- Allow cmd-+ in addition to cmd-= for zoom in
([#1021](https://github.com/zed-industries/community/issues/1021)).

Although I had initially thought this was something more to do with
option key handling, it turns out to be a straightforward and reasonable
feature request.

Conrad Irwin created

d17d38f vim: Command (#2951)

Click to expand commit body
Release Notes:

- vim: Add v1 of command mode
([#279](https://github.com/zed-industries/community/issues/279)). The
goal was to cover 90% of what most people actually do, but it is very
incomplete. Known omissions are that ranges cannot be specified (except
that `:%s//` must always specify the % range), commands cannot take
arguments (you can `:w` but not `:w [file]`), and there is no history.
Please file feature requests on
https://github.com/zed-industries/community as you notice things that
could be better.
- `:` triggers zed's command palette. If you type a known vim command it
will run it, otherwise you get zed's normal fuzzy search. For this
release supported commands are limited to:
- - `:w[rite][!]`, `:wq[!]`, `:q[uit][!]`, `:wa[ll][!]`, `:wqa[ll][!]`,
`:qa[ll][!]`, `:[e]x[it][!]`, `:up[date]` to save/close tab(s) and
pane(s).
- - `:cq` to quit completely.
- - `:vs[plit]`, `:sp[lit]` to split vertically/horizontally
- - `:new`, `:vne[w]` to create a new file in a new pane above or to the
left
- - `:tabedit`, `:tabnew` to create a new file in a new tab.
- - `:tabn[ext]`, `:tabp[rev]` to go to previous/next tabs
- - `:tabc[lose]` to close tabs
- - `:cn[ext]`, `:cp[rev]`, `:ln[ext]`, `:lp[rev]` to go to the
next/prev diagnostics.
- - `:cc`, `:ll` to open the errors page
- - `:<number>` to jump to a line number.
- - `:$` to jump to end of file
- - `:%s/foo/bar/` (note that /g is always implied, the range must
always be %, and zed uses different regex syntax to vim)
- - `:/foo` and `:?foo` to jump to next/prev line matching foo
- - `:j[oin]`, to join the current line (no range is yet supported)
- - `:d[elete][l][p]`, to delete the current line (no range is yet
supported)
- - `:s[ort] [i]` to sort the current selection (case-insensitively)
- vim: Add `ctrl-w o` (closes everything except the current item) and
`ctrl-w n` (creates a new file in the pane above).
([#1884](https://github.com/zed-industries/community/issues/1884))
- all: Add a "Discard" option to prompt when saving a file with
conflicts (previously this only appeared on close, not on save).

Internal changes:
- The Picker will now wait for pending queries before confirming (to
handle people typing `: w enter` rapidly.
- workspace::save_item and Pane::save_item are now merged together, and
the behavior controlled by `workspace::SaveIntent`.
- Many actions related to closing/saving items now take an optional
`SaveIntent`.
-

Conrad Irwin created

667fc25 Fix space and copy/paste when editing a channel

Mikayla created

359847d Revert "Revert "workspace: Improve save prompt. (#3025)""

Click to expand commit body
This reverts commit 5c75450a77b0579649bbf79365c9cef5a2c1110f.

Conrad Irwin created

591ec02 Add support for the experimental Next LS for Elixir (#3024)

Click to expand commit body
This is a PR I built for a friend of a friend at StrangeLoop, who is
making a much better LSP for elixir that elixir folks want to experiment
with. This PR also improves the our debug log viewer to handle LSP
restarts.

TODO:
- [ ] Make sure NextLS binary loading works.

Release Notes:

- Added support for the experimental Next LS for Elxir, to enable it add
the following field to your settings to enable:

```json
"elixir": {
    "next": "on"
}
```

Mikayla Maki created

c2fca05 Fix compile and test errors

Mikayla created

bf6c2f0 Activate correct item when clicking on a code action with the mouse (#3027)

Click to expand commit body
Release Notes:

- Fixed clicking a code action only ever performing the first action in
the list rather than the one clicked on.

Julia created

86ec0b1 implement new search strategy

KCaverly created

769c330 Merge branch 'vim-command'

Conrad Irwin created

5c75450 Revert "workspace: Improve save prompt. (#3025)"

Click to expand commit body
This reverts commit 0a491e773b689a74f96b7555070cf5a3bf245543.

Conrad Irwin created

ad7c1f3 Download next-ls automatically from github

Mikayla created

23767f7 Add cmd-+ as an alias for cmd-=

Click to expand commit body
For github.com/zed-industries/community#1021

Conrad Irwin created

80eaabd Activate correct item when clicking on a code action with the mouse

Julia created

ff5d0f2 Trigger `scroll_to` on code action list when moving selection (#3026)

Click to expand commit body
Release Notes:
- Fixed the code action popup menu not scrolling as selection moves.

Julia created

a278428 Trigger `scroll_to` on code action list when moving selection

Julia created

0a491e7 workspace: Improve save prompt. (#3025)

Click to expand commit body
Add buffer path to the prompt.

Z-2903

Release Notes:
- Added a "Save all/Discard all" prompt when closing a pane with
multiple edited buffers.

Piotr Osiewicz created

8b63e45 Implement LSP adapter methods for syntax highlighting

Mikayla created

052cb45 Improve lsp log viewer's behavior in the presence of LSP restarts

Click to expand commit body
Improve settings interface to local LSP

Mikayla created

0697d08 Restructure `ui` into just `elements` and `components` (#3023)

Click to expand commit body
This PR restructures the `ui` crate into just `elements` and
`components`.

This was already done on the `gpui2-ui` branch, just getting it onto
`main`.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <nate@zed.dev>

Marshall Bowers and Nate Butler created

895386c Mainline `Icon` and `IconButton` changes (#3022)

Click to expand commit body
This PR mainlines the `Icon` and `IconButton` changes from the
`gpui2-ui` branch.

Release Notes:

- N/A

Co-authored-by: Nate Butler <nate@zed.dev>

Marshall Bowers and Nate Butler created

ad62a96 Display available stories in storybook CLI (#3021)

Click to expand commit body
This PR updates the storybook CLI to support displaying all of the
available stories.

The `--help` flag will now show a list of all the available stories:

<img width="1435" alt="Screenshot 2023-09-22 at 6 11 00 PM"
src="https://github.com/zed-industries/zed/assets/1486634/284e1a24-46ec-462e-9709-0f9b6e94931f">

Inputting an invalid story name will also show the list of available
stories:

<img width="1435" alt="Screenshot 2023-09-22 at 6 10 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/1ce3ae3f-ab03-4976-a06a-5a2b5f61eae3">

Release Notes:

- N/A

Marshall Bowers created

fe4248c Scaffold `Toolbar` and `Breadcrumb` components (#3020)

Click to expand commit body
This PR scaffolds the `Toolbar` and `Breadcrumb` components.

Right now they both just consist of hardcoded data.

<img width="846" alt="Screenshot 2023-09-22 at 4 54 00 PM"
src="https://github.com/zed-industries/zed/assets/1486634/70578df2-7216-42d2-97ef-d38b83fb4a25">

<img width="799" alt="Screenshot 2023-09-22 at 4 46 04 PM"
src="https://github.com/zed-industries/zed/assets/1486634/73ca3d8a-baf9-4ed4-b4c4-279c674672a3">

Release Notes:

- N/A

Marshall Bowers created

27e3e09 Label component states in stories (#3019)

Click to expand commit body
This PR updates the UI component stories to label the various states
that they are in.

Release Notes:

- N/A

Marshall Bowers created

d0b15ed Report which requested font families are not present on the system (#3006)

Click to expand commit body
This PR improves the error message when `FontCache.load_family` attempts
to load a font that is not present on the system.

I ran into this while trying to run the `storybook` for the first time.
The error message indicated that a font family was not found, but did
not provide any information as to which font family was being loaded.

### Before

```
   Compiling storybook v0.1.0 (/Users/maxdeviant/projects/zed/crates/storybook)
    Finished dev [unoptimized + debuginfo] target(s) in 8.52s
     Running `/Users/maxdeviant/projects/zed/target/debug/storybook`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: could not find a non-empty font family matching one of the given names', crates/theme/src/theme_settings.rs:132:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
libc++abi: terminating due to uncaught foreign exception
fish: Job 1, 'cargo run' terminated by signal SIGABRT (Abort)
```

### After

```
   Compiling storybook v0.1.0 (/Users/maxdeviant/projects/zed/crates/storybook)
    Finished dev [unoptimized + debuginfo] target(s) in 7.90s
     Running `/Users/maxdeviant/projects/zed/target/debug/storybook`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: could not find a non-empty font family matching one of the given names: `Zed Mono`', crates/theme/src/theme_settings.rs:132:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
libc++abi: terminating due to uncaught foreign exception
fish: Job 1, 'cargo run' terminated by signal SIGABRT (Abort)
```

Release Notes:

- N/A

Marshall Bowers created

8b6e982 Remove manual mapping in `FromStr` implementation for `StorySelector` (#3018)

Click to expand commit body
This PR removes the need for writing manual mappings in the `FromStr`
implementation for the `StorySelector` enum used in the storybook CLI.

We are now using the
[`EnumString`](https://docs.rs/strum/0.25.0/strum/derive.EnumString.html)
trait from `strum` to automatically derive snake_cased names for the
enums.

This will cut down on some of the manual work needed to wire up more
stories to the storybook.

Release Notes:

- N/A

Marshall Bowers created

71c1e36 Put `Theme` behind an `Arc` (#3017)

Click to expand commit body
This PR puts the `Theme` returned from the `theme` function behind an
`Arc`.

### Motivation

While working on wiring up window focus events for the `TitleBar`
component we ran into issues where `theme` was holding an immutable
borrow to the `ViewContext` for the entirety of the `render` scope,
which prevented having mutable borrows in the same scope.

### Explanation

To avoid this, we can make `theme` return an `Arc<Theme>` to allow for
cheap clones and avoiding the issues with the borrow checker.

Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Marshall Bowers and Piotr Osiewicz created

d8c6adf Factor story boilerplate out into separate components (#3016)

Click to expand commit body
This PR factors out the bulk of the boilerplate required to setup a
story in the storybook out into separate components.

The pattern we're using here is adapted from the "[associated
component](https://maxdeviant.com/posts/2021/react-associated-components/)"
pattern in React.

Release Notes:

- N/A

Marshall Bowers created

afa7045 Tone down inlay hint update logs

Kirill Bulatov created

e84339e reorganize AI crates to structure future development (#3015)

Click to expand commit body
Reorganized assistant/semantic_index crates and introduced AI crate to
include shared functionality.

Release Notes:

- Moved most of the Assistant functionality from ai crate to assistant
crate
- Moved interaction with embedding providers from semantic_index to ai
crate

Kyle Caverly created

fbd6b5b cargo fmt

KCaverly created

dc49dec catchup with main

KCaverly created

68c37ca move embedding provider to ai crate

KCaverly created

1f1c669 Do not resubscribe for Copilot logs events (#3014)

Click to expand commit body
Last follow-up of https://github.com/zed-industries/zed/pull/3002
Fixes
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1695281196667609

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.

Release Notes:

- N/A

Kirill Bulatov created