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.
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.
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"
}
```
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>
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
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
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
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>
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
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