Commit Graph
1157 Commits
Author SHA1 Message Date
Conrad Irwin 2061d7e47a vim: Command (#2951)
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`.
-
2023-09-25 14:07:22 -05:00
Mikayla Maki 9c3518e8fc Add support for the experimental Next LS for Elixir (#3024)
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"
}
```
2023-09-25 12:52:56 -05:00
Conrad Irwin 9da31b697e Merge branch 'vim-command' 2023-09-25 11:41:13 -06:00
Mikayla 2c6ef3a45d Improve lsp log viewer's behavior in the presence of LSP restarts
Improve settings interface to local LSP
2023-09-24 04:59:55 -07:00
Marshall Bowers 424150c54b Display available stories in storybook CLI (#3021)
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
2023-09-22 18:16:16 -04:00
Marshall Bowers ade4b6ef26 Remove manual mapping in FromStr implementation for StorySelector (#3018)
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
2023-09-22 14:06:09 -04:00
KCaverly a12bcda282 catchup with main 2023-09-22 09:43:39 -04:00
KCaverly 338899567b move embedding provider to ai crate 2023-09-22 09:33:59 -04:00
KCaverly 4e6cfd3982 introduce ai crate with completion providers 2023-09-21 22:44:56 -04:00
Marshall Bowers 17538ad1a4 Update storybook to support stories for individual components (#3010)
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
2023-09-21 22:41:53 -04:00
KCaverly cbbf18051c rename ai crate to assistant crate 2023-09-21 21:54:59 -04:00
Marshall Bowers dc698c5662 Extract UI elements from storybook into new ui crate (#3008)
This PR extracts the various UI elements from the `storybook` crate into
a new `ui` library crate.

Release Notes:

- N/A
2023-09-21 19:25:35 -04:00
Conrad Irwin 12cbf801f3 Flesh out v1.0 of vim : 2023-09-20 20:44:41 -06:00
Max Brunsfeld 694ad1b675 collab 0.22.1 2023-09-20 17:39:21 -07:00
Joseph T. Lyons 98d8ed590d collab 0.22.0 2023-09-20 13:59:36 -04:00
Joseph T. Lyons 351e9100e6 v0.106.x dev 2023-09-20 13:02:13 -04:00
Mikayla 20a8d98b73 Get nextLS running 2023-09-20 06:55:24 -07:00
Mikayla Maki 9376900ab1 Add UI/UX for moving channels (#2976)
TODO:

- [x] Add drag and drop
- [x] Polish up in-flight decisions.
- [x] Fix chat panel panic
- [x] Add nice hover effect highlighting the matching ones
- [x] Fix and test keyboard

Release Notes:

- N/A
2023-09-19 17:56:22 -07:00
KCaverly 974e2bd350 remove git2 dependency for repository cloning in semantic_index eval 2023-09-19 18:55:15 -04:00
KCaverly 5825854d37 updated git2 to use ssl 2023-09-19 16:36:51 -04:00
KCaverly 4c41833cfb move git2 to workspace dependency globally 2023-09-19 16:13:47 -04:00
Mikayla 22c91526a6 Add basic drag and drop support 2023-09-19 11:20:01 -07:00
KCaverly 71862a72a8 fix Cargo.lock for merge 2023-09-19 11:44:51 -04:00
Mikayla 5b4d4900cd Finish optimizing channel representations and operations 2023-09-18 20:24:37 -07:00
Piotr Osiewicz 5fe12ec616 chore: Use aho-corasick 1.1 in direct dependencies (#2983)
Nothing too fancy, we've depended indirectly on 1.0/1.1 already, so this
is essentially bookkeeping.

Release Notes:
- N/A
2023-09-18 17:01:08 +02:00
Mikayla 12ff927af6 Simplify path representation in collab panel
Optimize set representation in collab
2023-09-15 13:35:46 -07:00
Joseph T. Lyons 7094a5cc48 Add assistant events (#2978)
Add assistant events

Release Notes:

- N/A
2023-09-15 15:25:35 -04:00
Max Brunsfeld b21b2dd959 Merge branch 'main' into chat-again 2023-09-15 11:06:39 -07:00
KCaverly 44249374dc catchup with main 2023-09-15 09:31:33 -04:00
Antonio Scandurra c5dcfc4d05 Refactor semantic searching of modified buffers 2023-09-15 12:12:20 +02:00
Max Brunsfeld 3cb0e69878 Merge branch 'main' into chat-again 2023-09-14 14:50:45 -07:00
KCaverly 7e66b11ac8 semantic index eval, indexing appropriately 2023-09-13 20:02:15 -04:00
Joseph T. Lyons 659aa6cc9f collab 0.21.0 2023-09-13 13:34:08 -04:00
Joseph T. Lyons 78ad8f65dd v0.105.x dev 2023-09-13 12:22:33 -04:00
Antonio Scandurra 5893c05c1b Merge remote-tracking branch 'origin/main' into polish-codegen 2023-09-13 11:41:32 +02:00
KCaverly 08e0a09d03 start work on eval script for semantic_index 2023-09-12 16:25:31 -04:00
Nathan Sobo 7695bbf44c Merge remote-tracking branch 'origin/main' into chat-again 2023-09-11 12:08:01 -06:00
Nathan Sobo 444d8662a5 Merge branch 'main' into storybook 2023-09-11 09:13:46 -06:00
Antonio Scandurra 43f6b09b36 Add a failing test for codegen autoindent 2023-09-11 14:35:15 +02:00
Mikayla df46bcf2be Add syntax highlighting for nu scripts 2023-09-09 15:39:39 -07:00
Mikayla c6a26b5cf7 WIP: Add nushell support 2023-09-09 14:01:53 -07:00
Nathan Sobo 3221dc9e05 Merge branch 'main' into storybook 2023-09-08 14:18:44 -06:00
Conrad Irwin cec47cb01a vim . to replay (#2936)
Release Notes:

- vim: Add `.` to replay
([#946](https://github.com/zed-industries/community/issues/946))
- vim: Fix `J` in visual mode, and with counts.
2023-09-08 11:52:35 -06:00
Max Brunsfeld 5cbc1e947d Restore channel chat model and panel view 2023-09-07 11:38:27 -07:00
Nathan Sobo 563e18712c Merge branch 'main' into storybook 2023-09-07 07:56:57 -06:00
Antonio Scandurra 4dfb90fcc1 Merge remote-tracking branch 'origin/main' into semantic-search-watch-worktrees 2023-09-07 15:07:46 +02:00
Nathan Sobo df33a3b609 Add support for fetching/rendering images 2023-09-06 17:13:43 -06:00
Max Brunsfeld 23896b4979 Rejoin channel notes after brief connection loss (#2930)
* [x] Re-send operations that weren't sent while disconnected
* [x] Apply other clients' operations that were missed while
disconnected
* [x] Update collaborators that joined / left while disconnected
* [x] Inform current collaborators that your peer id has changed
* [x] Refresh channel buffer collaborators on server restart
* [x] randomized test
2023-09-06 15:11:21 -07:00
Nathan Sobo 501c4c5782 Checkpoint 2023-09-06 15:22:35 -06:00
Max Brunsfeld 15265e427a Extract randomized test infrastructure for use in other tests 2023-09-06 14:08:43 -07:00