Commit graph

10584 commits

Author SHA1 Message Date
Joseph T. Lyons
af9506b21d v0.96.x dev 2023-07-12 13:30:28 -04:00
Kirill Bulatov
c732aa1617 Do not resolve completions if extra edits are available 2023-07-12 20:28:16 +03:00
Kyle Caverly
37568ccbf0
Vector store (#2658)
This PR includes a new crate, aimed at maintaining a consistent semantic
embedding database, for any project opened with Zed. At a high level,
for each file in a project, we parse the file with treesitter, embed the
symbol "document" objects with OpenAI, and maintain a consistent
database of these embeddings and offset locations in a sqlite database.
Once stored, we have built a simple modal interface for querying on
these symbols embeddings using natural language, offering the
opportunity to navigate to the selected symbol.

This initial PR is intended to provide this functionality only in preview,
as we explore, evaluate and iterate on the vector store.

- Full task details are provided in the [Semantic Search Linear
Project](https://linear.app/zed-industries/project/semantic-search-7c787d198ebe/Z)
2023-07-12 13:26:17 -04:00
KCaverly
c141519dba merged with main 2023-07-12 13:15:23 -04:00
Derek Briggs
dc09a11090
Update README.md 2023-07-12 10:58:39 -06:00
Derek Briggs
2cb7d8aa96
Update README.md 2023-07-12 10:51:09 -06:00
Piotr Osiewicz
e69240cf13
Piotr/z 2556 add create branch button (#2696)
Release Notes:

- N/A
2023-07-12 18:46:33 +02:00
Nate Butler
001e848393 Update picker footer button style
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
2023-07-12 12:40:37 -04:00
Piotr Osiewicz
2ac485a6ec Merge branch 'main' into piotr/z-2556-add-create-branch-button 2023-07-12 18:11:52 +02:00
Piotr Osiewicz
c12821f6c5
Increase trailoff limit for modal branch picker. (#2710)
Z-2601

Follow-up to modal branch picker, this is the updated version:

![image](https://github.com/zed-industries/zed/assets/24362066/1017e2d9-7107-4e4c-805e-bae46412079a)
Previously a trail off limit was much smaller:

![image](https://github.com/zed-industries/zed/assets/24362066/efb6c7cf-d90d-4fbc-8c28-84872f215ac5)

Release notes:
- N/A
2023-07-12 18:07:54 +02:00
Piotr Osiewicz
6260d977fb Increase trailoff limit for modal branch picker.
Z-2601
2023-07-12 17:58:00 +02:00
Kirill Bulatov
6d96c6ef51 Draft the postfix completions support 2023-07-12 18:32:03 +03:00
Julia
3db1aac119
Avoid user menu toggle button overlapping with tab bar top border (#2707)
Something little I noticed today

| | Normal  | Hovered |
| ------------- | ------------- | - |
| Before | ![CleanShot 2023-07-11 at 16 57
37](https://github.com/zed-industries/zed/assets/30666851/30769d09-678e-4d66-96de-df51c6d030cc)
![CleanShot 2023-07-12 at 10 17
20](https://github.com/zed-industries/zed/assets/30666851/801e1f26-1cea-45a7-8a50-b620095e2131)
| ![CleanShot 2023-07-11 at 16 59
46](https://github.com/zed-industries/zed/assets/30666851/fd1324c2-669f-42f8-96b3-4d65b555fb6e)
![CleanShot 2023-07-12 at 10 17
39](https://github.com/zed-industries/zed/assets/30666851/b286488d-b81e-44d5-a67c-dd816c072f86)
|
| After | ![CleanShot 2023-07-11 at 16 59
25](https://github.com/zed-industries/zed/assets/30666851/9942733f-8129-4854-bbfe-9a292b0e2c0e)
![CleanShot 2023-07-12 at 10 18
52](https://github.com/zed-industries/zed/assets/30666851/0b0f5fec-4c44-4c4f-8921-3b8a2cfff38c)
| ![CleanShot 2023-07-11 at 17 02
19](https://github.com/zed-industries/zed/assets/30666851/6ab82b26-0548-4ce7-8fdc-38ae561d26aa)
![CleanShot 2023-07-12 at 10 19
28](https://github.com/zed-industries/zed/assets/30666851/a024f6e8-f0f4-4d81-9f90-38a655a09031)
|

Also makes it match the contacts button and seems to more closely
resemble the mockups as far as I can tell

![CleanShot 2023-07-11 at 17 02
55](https://github.com/zed-industries/zed/assets/30666851/07fb1dea-5922-4bdc-9a3b-f7c1b105d017)

Release Notes:

- Fixed the titlebar user menu button obscuring part of the border below
it.
2023-07-12 11:31:42 -04:00
Piotr Osiewicz
99c2395a86
chore: Disable http2 feature in isahc. (#2709)
This removes transitive dependency on libnghttp2, which is pretty heavy.

Release Notes:

- N/A
2023-07-12 17:24:01 +02:00
Piotr Osiewicz
78c8324698 chore: Disable http2 feature in isahc.
This removes transitive dependency on libnghttp2, which is pretty heavy.
2023-07-12 16:53:01 +02:00
Piotr Osiewicz
10c62779d9
chore: Bump ipc-channel to 0.16.1. (#2708)
Kevin Hovsäter reported a crash in cli when running 'cargo run -p cli --
--bundle-path target/debug/Zed'. It was caused by unaligned pointer
access in ipc-channel library; rustc started generating debug_asserts
for pointer alignment starting with 1.70, which we have
oh-so-conveniently upgraded to shortly before Kevin noticed a crash.
Rust 1.70 did not introduce this panic, it merely started triggering on
UB that was previously ignored.

/cc @hovsater @SomeoneToIgnore 
Release Notes:

- N/A
2023-07-12 13:49:55 +02:00
Piotr Osiewicz
5086e37e73 chore: Bump ipc-channel to 0.16.1.
Kevin Hovsäter reported a crash in cli when running 'cargo run -po cli -- --bundle-path target/debug/Zed'. It was caused by unaligned pointer access in ipc-channel library; rustc started generating debug_asserts for pointer alignment starting with 1.70, which we have oh-so-conveniently upgraded to shortly before Kevin noticed a fix.
Rust 1.70 did not introduce this panic, it merely started triggering on UB that was previously ignored.
2023-07-12 13:27:14 +02:00
Piotr Osiewicz
b9f5cb0301
recent_projects: Perform fuzzy search on compacted paths. (#2703)
Match highlighting for recent projects picker was off, because the path
representation was compacted - for a path '/Users/hiro/Projects/zed' we
compact it to use a tilde instead of home directory. However, the
highlight positions were always calculated for a full path, leading to a
mismatch in highlights. This commit addresses this by running fuzzy
search on compacted paths instead of using long paths. This might lead
to a slight performance hit, but given that recent projects modal
shouldn't have that many items in the first place, it should be okay.

Z-2546

Release Notes:

- Fixed result highlighting in "Recent projects" modal.
2023-07-12 11:47:28 +02:00
KCaverly
33e2b52a01 added test registration for project settings 2023-07-11 20:12:43 -04:00
KCaverly
297fa029e3 Merge branch 'main' of github.com:zed-industries/zed into vector_store 2023-07-11 20:05:29 -04:00
KCaverly
b68cd58a3b updated vector store settings to remove batch embeddings size 2023-07-11 19:54:03 -04:00
Max Brunsfeld
4b3bb2c661 Define semantic search action regardless of whether the feature is enabled 2023-07-11 15:02:43 -07:00
Max Brunsfeld
4a4dd39875 Fix TSX embedding query 2023-07-11 15:02:19 -07:00
Max Brunsfeld
d244c0fcea Get vector store test passing - wait for indexing
Co-authored-by: Kyle <kyle@zed.dev>
2023-07-11 14:30:11 -07:00
Max Brunsfeld
badf94b097 Update dot product test to use larger vectors
Co-authored-by: Kyle <kyle@zed.dev>
2023-07-11 14:29:48 -07:00
Max Brunsfeld
08e24bbbae Use cmd-ctrl-t for semantic search key binding
Co-authored-by: Kyle <kyle@zed.dev>
2023-07-11 14:29:06 -07:00
KCaverly
af7b2f17ae added initial keymap for toggle semantic search
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-07-11 17:13:58 -04:00
Julia
ef296e46cb Avoid user menu toggle button overlapping with tab bar top border 2023-07-11 16:49:53 -04:00
KCaverly
2ca4b3f4cc cleaned up warnings and added javascript 2023-07-11 16:41:08 -04:00
KCaverly
debe6f107e updated embedding queries for tsx and typescript 2023-07-11 16:22:40 -04:00
KCaverly
02f523094b expanded embeddable context to accomodate for struct context and file paths 2023-07-11 15:58:33 -04:00
Mikayla Maki
9165320390
Fix a bug where the terminal would not be closed by the terminal exiting (#2706)
Release Notes:

- Fixed a bug where terminal tabs in the panel would not close on tty
process exit.
2023-07-11 12:23:26 -07:00
Mikayla Maki
550aa2d6bd
fmt 2023-07-11 12:17:50 -07:00
Mikayla Maki
be881369fa
Fix a bug where the terminal panel's items wouldn't be hooked up properly to workspace actions 2023-07-11 12:12:37 -07:00
Kirill Bulatov
5483bd1404
Refactor LSP restart logic (#2705)
Instead of storing `initialization_options` in every LSP adapter as
before, store previous LSP settings in `Project` entirely.

This way, we can later have use multiple different project
configurations per single LSP with its associated adapter.

Release Notes:

- N/A
2023-07-11 22:09:40 +03:00
Kirill Bulatov
4b4d049b0a Refactor LSP restart logic
Instead of storing `initialization_options` in every LSP adapter as
before, store previous LSP settings in `Project` entirely.

This way, we can later have use multiple different project
configurations per single LSP with its associated adapter.

co-authored-by: Max Brunsfeld <max@zed.dev>
2023-07-11 21:56:55 +03:00
KCaverly
dd0dbdc5bd brought up to speed with main 2023-07-11 14:50:48 -04:00
KCaverly
1649cf81de added versioning to files table 2023-07-11 14:42:03 -04:00
Joseph T. Lyons
5012d618e6
Add call events (#2704)
Release Notes:

- N/A
2023-07-11 14:40:07 -04:00
Joseph T. Lyons
98a0113ac3 Add call events
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-11 13:58:55 -04:00
Kirill Bulatov
efe8b8b6d0 Revert "Fix language servers improper restarts"
This reverts commit 91832c8cd8.
2023-07-11 20:46:45 +03:00
KCaverly
298c2213a0 added opt-in default settings for vector store 2023-07-11 12:03:56 -04:00
Kirill Bulatov
8161438a85
Fix language servers improper restarts (#2702)
Fixes
https://linear.app/zed-industries/issue/Z-2595/language-servers-are-unnecessarily-restarted-when-unrelated-settings

Language servers mixed `initialization_options` from hardcodes and user
settings, fix that to ensure we restart servers on their settings
changes only.

Release Notes:

- N/A
2023-07-11 17:15:19 +03:00
Kirill Bulatov
748e7af5a2 Add a test 2023-07-11 17:10:34 +03:00
KCaverly
f5fec55930 updated vector_store to handle for removed files 2023-07-11 10:03:53 -04:00
Kirill Bulatov
91832c8cd8 Fix language servers improper restarts
Language servers mixed `initialization_options` from hardcodes and user
settings, fix that to ensure we restart servers on their settings
changes only.
2023-07-11 16:36:20 +03:00
Piotr Osiewicz
15010e94fd fixup! recent_projects: Perform fuzzy search on compacted paths. 2023-07-11 15:29:15 +02:00
Piotr Osiewicz
f164eb5289 recent_projects: Perform fuzzy search on compacted paths.
Match highlighting for recent projects picker was off, because the path representation was compacted - for a path '/Users/hiro/Projects/zed' we compact it to use a tilde instead of home directory. However, the highlight positions were always calculated for a full path, leading to a mismatch in highlights.
This commit addresses this by running fuzzy search on compacted paths instead of using long paths. This might lead to a slight performance hit, but given that recent projects modal shouldn't have that many items in the first place, it should be okay.

Z-2546
2023-07-11 15:23:17 +02:00
Piotr Osiewicz
1fbf09fe4c
branches: Add a modal branch list. (#2697)
Extract branch list into a separate vcs_menu crate akin to
recent_projects. Add current bind for a modal branch to branch popover's
tooltip.

Z-2555

Release Notes:
- N/A
2023-07-11 14:40:00 +02:00
Piotr Osiewicz
3c1ab3d0b8
Piotr/z 2590 search result marks jump around in scrollbar as cursor (#2700)
This closes ticket Z-2590 reported by @JosephTLyons . Thanks Joseph =)
Release Notes:

- N/A
2023-07-11 09:40:00 +02:00