Commit Graph
31406 Commits
Author SHA1 Message Date
Conrad Irwin cbed65851d fix tests 2023-09-27 17:02:47 -06:00
Conrad Irwin ba31f4a531 Don't prompt to save unchanged files 2023-09-27 16:07:35 -06:00
Nathan Sobo 8e0523b9b4 Checkpoint 2023-09-27 15:35:51 -06:00
Conrad Irwin 6ca8f83ef0 ctrl-a/x for vim 2023-09-27 12:32:01 -06:00
Joseph T. Lyons 524451d4af v0.107.x dev 2023-09-27 12:26:48 -04:00
Kyle Caverly 57652349dd Revert "leverage file outline and selection as opposed to entire file" 2023-09-27 12:21:03 -04:00
Kyle Caverly 4b9ea2b14d Revert "removed stale dbg in assistant from main" 2023-09-27 12:19:44 -04:00
Piotr Osiewicz 0a1de1f061 search: Reorder items in search bar (#3039)
Release Notes:

- Reordered items in project and buffer search bar
2023-09-27 16:51:20 +02:00
Kyle Caverly 4a97268c53 implement new search strategy (#3029)
Augment current search strategy in semantic search, reducing search
times by ~60%

Release Notes:

- Implemented minimum batch sizes for concurrent database reads.
- Batch embedding matrix multiplication.
- Calculate matmul with ndarray
2023-09-27 10:37:48 -04:00
KCaverly 05413774b2 leverage embeddings len returned in construction matrix multiplication 2023-09-27 10:33:04 -04:00
Conrad Irwin e9ad47aa8e vim: Fix ctrl-u/ctrl-d (#3044)
- vim: Fix ctrl-d/ctrl-u to match vim (when :set scrolloff=3)
2023-09-27 07:48:50 -06:00
KCaverly 7d166f0e7b Merge branch 'main' of github.com:zed-industries/zed into faster_semantic_search 2023-09-27 09:43:39 -04:00
KCaverly 7f6e16e3bd removed blas and increase batch size for vector search 2023-09-27 09:43:23 -04:00
KCaverly 56c31cb334 removed stale dbg in assistant from main 2023-09-27 09:13:00 -04:00
Kyle Caverly 1e0c1ddee9 leverage file outline and selection as opposed to entire file (#3040)
Transition generate prompt for inline assist to leverage outline as
opposed to full file.
This enables, us to leverage the inline assist for large files.

Release Notes:

- Change inline assist to use tree-sitter based outlines for code
generation instead of full files
2023-09-27 09:10:18 -04:00
KCaverly fa98c784f8 update test outline for prompt tests for new cursor span 2023-09-27 09:06:53 -04:00
Piotr Osiewicz c8ed0a3f4e language: Add block_comment to CSS (#3045)
Fixes zed-industries/community#2081

Release Notes:
- Fixed "toggle comment" action not working in CSS buffers.
2023-09-27 11:56:26 +02:00
Conrad Irwin 6fd4a8fcba vim: Fix ctrl-u/ctrl-d
They should work by exactly half a screen, and also move the cursor.
2023-09-26 22:28:04 -06:00
Conrad Irwin 451e57a903 Add SwapPaneInDirection (#3043)
- Add cmd-k shift-{left,right,up,down} to swap panes in that direction
- vim: Add ctrl-w shift-{h,j,k,l} to swap panes in that direction
([#278](https://github.com/zed-industries/community/issues/278))
2023-09-26 22:18:02 -06:00
Conrad Irwin c9da617730 Add SwapPaneInDirection
Add keybindings for vim (and non-vim)
2023-09-26 22:00:51 -06:00
Kirill Bulatov 186f3394f0 Hide inlay hints toggle if they are not supported by the current editor (#3041)
Release Notes:

- N/A
2023-09-27 01:16:02 +03:00
Marshall Bowers dc103130d4 Add Sized bound to StyleHelpers (#3042)
This PR adds a `Sized` bound to the `StyleHelpers` trait.

All of the individual methods on this trait already had a `Self: Sized`
bound, so moving it up to the trait level will make it so we don't have
to repeat ourselves so much.

There's an open question of whether we can hoist the `Sized` bound to
`Styleable`, but it's possible there are cases where we'd want to have a
`Styleable` trait object.

Release Notes:

- N/A
2023-09-26 18:15:41 -04:00
Kirill Bulatov e2f915e53c Hide inlay hints toggle if they are not supported by the current editor 2023-09-26 23:52:11 +02:00
KCaverly 281575cf21 updated codegen match to leverage unused values 2023-09-26 17:11:20 -04:00
KCaverly 1c2cb80522 update inline generate prompt to leverage more explicit <|START| and |END|> spans 2023-09-26 17:10:31 -04:00
KCaverlyandAntonio 35ddeb4dd8 changed inline assist generate prompt to leverage outline as opposed to entire prior file
Co-Authored-by: Antonio <antonio@zed.dev>
2023-09-26 16:23:48 -04:00
Antonio Scandurra 2a03891a35 WIP 2023-09-26 13:42:58 -06:00
Joseph T. LyonsandJulia 9ee1d7fab2 Rework call events api
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>
2023-09-26 14:18:32 -04:00
Piotr Osiewicz 16d9385848 workspace: change save prompt for unnamed buffers (#3037)
Release Notes:
- N/A
2023-09-26 19:35:10 +02:00
Antonio Scandurra b97fd586d3 Checkpoint 2023-09-26 11:34:41 -06:00
Antonio Scandurra aecbf8b705 Checkpoint 2023-09-26 11:29:44 -06:00
Piotr Osiewicz bac74f0c02 editor: Start transaction in replace impl (#3036)
This fixes the undo with replace in project
/cc @maxbrunsfeld 

Release Notes:

- N/A
2023-09-26 19:21:15 +02:00
Piotr Osiewicz 071fa7f832 project_replace: Fix up key bindings (#3034)
Release Notes:
- N/A
2023-09-26 18:40:41 +02:00
KCaverly ed02c40953 move to system blas 2023-09-26 12:39:22 -04:00
Marshall Bowers 82d1c5a5d1 Remove dbg! from styleable_helpers! (#3035)
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
2023-09-26 10:49:55 -04:00
KCaverly 34e51dff43 fixed bug limiting number of results returned 2023-09-26 10:29:55 -04:00
KCaverly 44b407f00d ensure desc sort and cleanup unused imports 2023-09-26 09:53:49 -04:00
Kirill Bulatov f023ff308a Fix another place where Copilot may panic 2023-09-26 10:51:13 +03:00
Conrad Irwin 8e4406b397 vim: Add multicursor shortcuts (#3032)
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
2023-09-25 17:18:12 -05:00
Conrad Irwin 3b6bb008b6 vim: Add multicursor shortcuts
- g n / g N to select next/previous
- g > / g < to select next/previous replacing current
- g a to select all matches
2023-09-25 15:32:03 -06:00
Mikayla Maki 0c042436d4 Fix space and copy/paste when editing a channel (#3030)
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
2023-09-25 15:20:00 -05:00
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 e0373b0bc6 Fix space and copy/paste when editing a channel 2023-09-25 11:31:02 -07:00
Conrad Irwin 7506450fb2 Revert "Revert "workspace: Improve save prompt. (#3025)""
This reverts commit 16bd80371b.
2023-09-25 12:18:03 -06:00
Antonio Scandurra 3b3fb41341 WIP 2023-09-25 11:55:05 -06: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
Antonio Scandurra 4727d54393 Checkpoint 2023-09-25 11:48:51 -06:00
Mikayla 71e0d377fb Fix compile and test errors 2023-09-25 10:46:09 -07:00
KCaverly b6f623e39c implement new search strategy 2023-09-25 13:44:19 -04:00
Conrad Irwin 9da31b697e Merge branch 'vim-command' 2023-09-25 11:41:13 -06:00