Commit Graph

8897 Commits

Author SHA1 Message Date
Mikayla
3a62d2988a
Finish integration tests for channel moving
Refactor channel store to combine the channels_by_id and channel_paths into a 'ChannelIndex'
2023-09-15 11:23:43 -07:00
Mikayla
9e68d4a8ea
WIP: Add channel DAG related RPC messages, change update message 2023-09-15 11:23:12 -07:00
Nate Butler
9a4ecf0f88 Add missing logo_96 icon, fix a few incorrect paths 2023-09-15 14:21:33 -04:00
Mikayla
49fbb27ce9
Improve channel deletion to be DAG aware 2023-09-15 11:20:04 -07:00
Mikayla
bd9e964a69
Add removing of previous channel channel, allowing for channel moving operations 2023-09-15 11:20:04 -07:00
Mikayla
fc78db39ef
Expand DAG tests to include more complex tree operations and removal behavior 2023-09-15 11:20:04 -07:00
Mikayla
d5512fad0d
Add channel linking operation 2023-09-15 11:20:04 -07:00
Mikayla
aa9a9be7e9
Add channel moving test 2023-09-15 11:20:04 -07:00
Nate Butler
d6f24feb4a WIP 2023-09-15 14:14:28 -04:00
Max Brunsfeld
3dba52340e Update paths to moved icons 2023-09-15 11:14:04 -07:00
Max Brunsfeld
6c3fd2a687 Merge branch 'main' into chat-again 2023-09-15 11:06:39 -07:00
Nate Butler
40e785fdff Merge branch 'main' into nate/gpui2-ui-components 2023-09-15 13:57:15 -04:00
Nate Butler
4c9100eae3
Unify icons using multiple variants, remove all unused icons (#2974)
There are around ~400 icons in the `assets/icons` folder, but in reality
including file icons we only use around 50. In a number of places we use
different variants of the same icon, even in different styles.

This PR unifies the icons we use, removes the duplicates, and cleans out
unused icons.

Release Notes:

- Made icons more consistent throughout the app.
2023-09-15 13:55:13 -04:00
Conrad Irwin
b02bd9bce1 Fix Y on last line with no trailing new line
For zed-industries/community#2044
2023-09-15 11:14:04 -06:00
Max Brunsfeld
099969ed79 Ensure the chat panel is fully feature flagged 2023-09-15 10:13:43 -07:00
Nate Butler
24974ee2fa Unify icons using multiple variants, remove all unused icons 2023-09-15 12:50:49 -04:00
Conrad Irwin
3e01d78a80 Make cargo test -p gpui work 2023-09-15 10:24:12 -06:00
Conrad Irwin
7c77baa7c1
Fix multi-character shortcuts with modifiers (#2968)
This moves the IME shortcut handling over to the keystroke matcher so
that it
can not clear pending matches when trying out the IME equivalent.

Release Notes:

- vim: add `g s` / `g S` to show symbols in the current buffer /
workspace
- Fix multi-key shortcuts with modifiers (preview-only)
2023-09-15 10:15:01 -06:00
Nate Butler
70a91c5426 Checkpoint 2023-09-15 11:41:21 -04:00
KCaverly
04bd107ada add ndcg@k to evaluate metrics 2023-09-15 10:36:21 -04:00
KCaverly
3a661c5977 catchup with main 2023-09-15 09:31:33 -04:00
Antonio Scandurra
925da97599 Don't dismiss inline assistant when an error occurs 2023-09-15 12:32:37 +02:00
Antonio Scandurra
a1250b8525
Include modified buffers in semantic search results (#2970)
This pull request introduces an additional step to
`SemanticIndex::search_project` that includes the content of buffers
that are modified but haven't been saved yet. In most cases, the buffer
will contain a small portion of changed spans that are potentially not
included in the index. To reuse all the other spans that haven't
changed, we will query the database for embeddings by their digest. This
means we have to index spans by their digest, which means some penalty
when writing, but in our tests this didn't seem to make indexing much
slower.

Release Notes:

- Improved semantic search to include results from modified buffers.
(preview-only)
2023-09-15 12:24:10 +02:00
Antonio Scandurra
ae85a520f2 Refactor semantic searching of modified buffers 2023-09-15 12:12:20 +02:00
Kirill Bulatov
8d3c251cc2
Rework inlay hover model (#2969)
Fixes
```
thread 'main' panicked at 'byte index 2 is not a char boundary; it is inside '…' (bytes 0..3) of `…)`'
```
panics like
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1694535396473329

by reworking the inlay hover model:
* avoid storing "hardcoded" coordinates of hovered inlay labels (such as
`InlayOffset`), instead, remember `inlay_id` and apply required
highlights there when hint with the same id is handled
* add randomized tests on inlay highlights
* sped up inlay hint cache lookup by inlay_id

As a downside, background highlights are no long appearing on inlay
hints, but Zed does not receive any tooltips for inlays anyway (r-a does
not send them for some reason, other LSP seem to have no such feature?),
so it does not matter now.
Nontheless, if the logic for displaying hint pop-ups is present and
works for harcoded tooltips in r-a, only background highlight is missing
now.

Release Notes:

- Fixed inlay hint highlights causing panic for certain cases with
"large" characters
2023-09-15 10:40:02 +03:00
Kirill Bulatov
8c1df5afa2 Empty both hint cache storages correctly 2023-09-15 10:33:32 +03:00
Max Brunsfeld
492e961e82 Bump protocol version 2023-09-14 18:39:31 -07:00
Max Brunsfeld
6ce672fb32 Add tooltips and actions for opening notes+call from chat
No keyboard shortcut yet.
2023-09-14 18:38:37 -07:00
Max Brunsfeld
b75971196f Add buttons for opening channel notes and joining call, in chat panel header 2023-09-14 18:05:44 -07:00
Max Brunsfeld
dd7c687041 Style the chat panel further 2023-09-14 17:19:08 -07:00
KCaverly
796bdd3da7 update searching in modified buffers to accomodate for excluded paths 2023-09-14 19:42:06 -04:00
Max Brunsfeld
59269d422b Allow deleting chat messages 2023-09-14 16:29:40 -07:00
Max Brunsfeld
9d8c6a7ed1 Merge branch 'main' into chat-again 2023-09-14 14:50:45 -07:00
Piotr Osiewicz
a1353b8bb9
search_bar: Add toggle_replace_on_a_pane. (#2966)
This allows users to add a keybind to ToggleReplace from Editor/Pane
contexts.

Release Notes:
- Fixed replace in buffer not reacting to keyboard shortcuts outside of
search bar<preview-only>.
2023-09-14 23:25:27 +02:00
Kirill Bulatov
e7b5880af0 Combine both text and inlay highlights in randomized tests 2023-09-14 23:53:56 +03:00
Max Brunsfeld
877d67b97d
Provide an admin REST API for use by zed.dev (#2962)
We're using [PostgREST](https://hub.docker.com/r/postgrest/postgrest)

Todo:
* [x] Add instructions for installing postgrest to local development
docs
* [x] Deploy to staging
* [x] Deploy to production
* [x] Add DNS record for `admin-staging.zed.dev` pointing to the staging
db
* [x] Add a DNS record for `admin.zed.dev` pointing to the production db
2023-09-14 13:48:54 -07:00
Kirill Bulatov
f9b70718ac Store hints in the map, not the snapshot 2023-09-14 23:36:33 +03:00
Conrad Irwin
4667110d0f Fix multi-key shortcuts with modifiers
To make this work we need to move the handling of multiple possible key
events into the keyboard shortcut system.

This was broken in #2957.
2023-09-14 14:35:17 -06:00
Kirill Bulatov
4e9f0adcef Improve inlay hint cache lookup 2023-09-14 23:31:50 +03:00
Kirill Bulatov
8ae3f79235 Restructure inlay highlights data for proper access 2023-09-14 23:05:22 +03:00
KCaverly
8ff3e37044 small fix to rate status update 2023-09-14 15:42:21 -04:00
Kirill Bulatov
9b43acfc88 Remove useless background highlights code 2023-09-14 22:18:30 +03:00
Kirill Bulatov
396efec6e1 Uncomment the rest of the tests 2023-09-14 22:18:26 +03:00
Kirill Bulatov
47e0535f1c Randomize inlay highlight range start 2023-09-14 22:08:12 +03:00
Kirill Bulatov
129fb62182 Consider offsets in inlay chunks 2023-09-14 22:08:12 +03:00
Kirill Bulatov
a9de6c3dba Properly handle inlay highlights in the InlayMap
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-09-14 22:08:12 +03:00
Kirill Bulatov
80b96eb05b Add inlay highlight test 2023-09-14 22:08:12 +03:00
Kirill Bulatov
42bd2be2f3 Implement inlay highlighting 2023-09-14 22:08:12 +03:00
Kirill Bulatov
890a587254 Use standalone inlay background highlights 2023-09-14 22:08:12 +03:00
Kirill Bulatov
9f5314e938 Unify highlights in *Map 2023-09-14 22:08:12 +03:00
Kirill Bulatov
6c00cd8a35 Do not combine inlay and text highlights on the *Map level 2023-09-14 22:08:12 +03:00
KCaverly
c19c8899fe add initial search inside modified buffers 2023-09-14 14:58:34 -04:00
Piotr Osiewicz
1eb74acb3e
editor: Do not run brace completion on empty text. (#2965)
Users of keyboard layout with IME complained about the peculiar
behaviour where typing in "sss" and then removing all of it left behind
one 's' and also appended a closing brace. This was not reproducible on
a buffer without language, so I've suspected that brace insertion might
be a problem here. For whatever reason when the user removes the last
character from a run that triggered IME, we receive a notification about
an empty insertion. Sadly, brace completion does not handle an empty
input properly and we erroneously insert a closing brace when deleting
the followup characters. In fact, the brace inserted is always the
closing brace for the first entry in language's config.toml 'brackets'
field (see Scheme vs Markdown). This guard also allows for the proper
removal of the first character.

Closes community tickets zed-industries/community#877
zed-industries/community#1329

Z-2869

Release Notes:
- Fixed handling of bracket completion for international keyboard
layouts that use IME. This led to Zed erroneously inserting the `}`
character while removing the first character that triggered IME.
2023-09-14 20:24:21 +02:00
Antonio Scandurra
f86e5a987f WIP 2023-09-14 17:42:30 +02:00
Antonio Scandurra
6a271617b4 Make path optional when parsing file
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-14 17:09:08 +02:00
KCaverly
137dda3ee6 wip eval framework for semantic index 2023-09-14 09:30:19 -04:00
Joseph T. Lyons
15bdff1c5b Fix toggle replace tooltip 2023-09-13 20:19:14 -04:00
KCaverly
0c1b2e5aa6 cleaned up warnings 2023-09-13 20:04:53 -04:00
KCaverly
eff44f9aa4 semantic index eval, indexing appropriately 2023-09-13 20:02:15 -04:00
Max Brunsfeld
18c899a0a8 Remove dead code for old admin pages 2023-09-13 15:02:59 -07:00
Max Brunsfeld
dddd37f8a6 Run postgrest as part of foreman
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 12:32:15 -07:00
Max Brunsfeld
3910efe3ab Use PostgREST instead of pgAdmin
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 11:47:20 -07:00
Nate Butler
fd10b49742 Fix .active() interaction state
Co-Authored-By: Nathan Sobo <1789+nathansobo@users.noreply.github.com>
2023-09-13 13:56:13 -04:00
Joseph T. Lyons
974bc07631 collab 0.21.0 2023-09-13 13:34:08 -04:00
Max Brunsfeld
c4a5caa587 Get pgadmin loading the passfile 2023-09-13 10:05:13 -07:00
Nate Butler
a316e25034 Checkpoint 2023-09-13 12:50:01 -04:00
Nate Butler
f54f2c52e9 Checkpoint 2023-09-13 12:40:28 -04:00
Joseph T. Lyons
a6cb5f99f3 v0.105.x dev 2023-09-13 12:22:33 -04:00
KCaverly
6f29582fb0 progress on eval 2023-09-13 10:32:36 -04:00
Antonio Scandurra
127d03516f Diff lines one chunk at a time after discovering indentation 2023-09-13 11:57:10 +02:00
Antonio Scandurra
70c9b8f8fd Merge remote-tracking branch 'origin/main' into polish-codegen 2023-09-13 11:41:32 +02:00
Antonio Scandurra
b8c437529c Never use the indentation that comes from OpenAI 2023-09-13 11:40:28 +02:00
Max Brunsfeld
94db0be3ec Start work on deploying pgAdmin to k8s cluster
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-12 21:06:43 -07:00
Max Brunsfeld
54838664ae Retrieve load balancer certificate id from DigitalOcean on each deploy
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-12 21:04:59 -07:00
KCaverly
d4fbe99052 add eval for gpt-engineer 2023-09-12 21:27:35 -04:00
KCaverly
0d14bbbf5b add eval values for tree-sitter 2023-09-12 20:36:06 -04:00
Conrad Irwin
329a0724e0
vim counts (#2958)
Release Notes:

- vim: Fix counts with operators (`2yy`, `d3d`, etc.)
([#1496](https://github.com/zed-industries/community/issues/1496))
([#970](https://github.com/zed-industries/community/issues/970)).
- vim: Add support for counts with insert actions (`2i`, `2o`, `2a`,
etc.)
- vim: add `_` and `g_`
2023-09-12 14:32:00 -06:00
KCaverly
66c967da88 start work on eval script for semantic_index 2023-09-12 16:25:31 -04:00
Piotr Osiewicz
a63b78d5a0
Replace in buffer adjustments (#2960)
This PR addresses feedback from @maxbrunsfeld on new replace in buffer.
It fixes:
- missing padding surrounding replace input.
- missing padding around replace buttons.
- missing `.notify` call which made the replace fields not show up
immediately sometimes.

Release Notes:
- N/A

---------

Co-authored-by: Max <max@zed.dev>
2023-09-12 22:08:39 +02:00
Julia
65e0a67625
Lsp status bugfix (#2959)
Release Notes:
- Fixed a case where language server download statuses could be skipped.
- Fixed a case where language server diagnostic progress could get stuck
when restarting a language server.
2023-09-12 15:59:00 -04:00
Nate Butler
bbc4673f17 Checkpoint 2023-09-12 15:18:13 -04:00
Julia
c6f293076e Avoid keeping stale LSP progress indicator state when server is removed 2023-09-12 15:14:49 -04:00
Conrad Irwin
0958def770 Remove another supported exemption 2023-09-12 12:48:36 -06:00
Max Brunsfeld
d97c9d8dfd Merge branch 'main' into chat-again 2023-09-12 11:26:54 -07:00
Julia
b0facf8e1e Use unbounded channel(s) for LSP binary status messaging
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-09-12 13:45:36 -04:00
Piotr Osiewicz
4cb8647702
Z 1200/replace in buffer (#2922)
This is still WIP, mostly pending styling. I added a pretty rudimentary
text field and no buttons whatsoever other than that. I am targeting a
Preview of 09.13, as I am gonna be on PTO for the next week.

I dislike the current implementation slightly because of `regex`'s crate
syntax and lack of support of backreferences. What strikes me as odd wrt
to syntax is that it will just replace a capture name with empty string
if that capture is missing from the regex. While this is perfectly fine
behaviour for conditionally-matched capture groups (e.g. `(foo)?`), I
think it should still error out if there's no group with a given name
(conditional or not).
Release Notes:

- Added "Replace" functionality to buffer search.
2023-09-12 18:46:54 +02:00
Conrad Irwin
dcaba9d9e7 Remove supported exception
(and refactor tests to be more linear)
2023-09-12 10:13:24 -06:00
Conrad Irwin
7daed1b2c3 Fix 0 used in a count 2023-09-12 09:56:23 -06:00
Nate Butler
0d161519e4 Checkpoint 2023-09-12 11:34:27 -04:00
Conrad Irwin
c2c521015a Fix bug where cursors became invisible if replaying was interrupted 2023-09-11 20:56:22 -06:00
Max Brunsfeld
1c50587cad Remove channel chat participant when connection is lost 2023-09-11 17:37:05 -07:00
Conrad Irwin
76d55244a1 Clear counts when switching modes 2023-09-11 18:30:31 -06:00
Max Brunsfeld
f2112b9aad Rejoin channel chats upon reconnecting 2023-09-11 17:11:33 -07:00
Conrad Irwin
d868d00985 vim: ALlow counts on insert actions
This re-uses the existing repeat infrastructure.
2023-09-11 18:09:47 -06:00
Max Brunsfeld
f53a1ee46d Put channel call participants back in channel row
Open both the channel notes and the channel chat when clicking a channel
2023-09-11 13:44:41 -07:00
Conrad Irwin
cee549e1ef vim: Fix count handling to allow pre/post counts
Fixes 2yy, d3d, etc.

For zed-industries/community#970
For zed-industries/community#1496
2023-09-11 14:35:47 -06:00
Conrad Irwin
e8a6ecd6ac Allow a count with CurrentLine
Add _ and g_ too while we're here.
2023-09-11 14:19:43 -06:00
Nate Butler
c545788168
Add Storybook Components (#2956)
[[PR Description]]

Started building out some early components in the storybook using a
modified version of the classic Atomic Design model @mikayla-maki and I
are exploring.

<img width="1134" alt="atomic_design"
src="https://github.com/zed-industries/zed/assets/1714999/9093a8b5-a71d-41d4-bae2-f7562494c5f3">

This PR adds a few things:

- `tab`, `tab_bar` and `icon_button` components
- Dynamic documentation for the proc macro generated methods like `w_8`,
`px_2`, etc.
- Continues to build out the Zed workspace demo

Release Notes:

- N/A
2023-09-11 14:47:35 -04:00
Nathan Sobo
fe6f0a253b Merge remote-tracking branch 'origin/main' into chat-again 2023-09-11 12:08:01 -06:00
Conrad Irwin
0c2bc6e553
Fix some international keybindings (#2957)
This adds primitive interaction with the IME system for keyboard
shortcuts in zed.

- Consult the IME functionality when handling keyboard shortcuts. This
allows you to bind to characters (like " on a Brazillian keybaord, or $
on a Czech keyboard) that aren't typed with an unmodified key.
([#1981](https://github.com/zed-industries/community/issues/1981))
([#1913](https://github.com/zed-industries/community/issues/1913))

Co-authored-with: Antonio Scandurra <me@as-cii.com>
2023-09-11 11:56:57 -06:00
Conrad Irwin
e017dc6a5e Fix ctrl-` on Brazillian too 2023-09-11 11:33:04 -06:00
Conrad Irwin
0a6e577e10 Fix some international keybindings
This adds primitive interaction with the IME system for keyboard
shortcuts in zed.

For zed-industries/community#1981
For zed-industroes/community#1913
2023-09-11 10:35:42 -06:00
Piotr Osiewicz
f66dd43a84
Z 2620 - Sort command palette's entries by name and use count (#2954)
Release Notes:
- Improved command palette's command ordering; commands are sorted
lexicographically and by command's use count in the current session.
2023-09-11 17:50:09 +02:00
Nate Butler
c7ad89d7fa Merge branch 'main' into nate/storybook-components 2023-09-11 11:49:49 -04:00
Nate Butler
04fc9d2d33 Fix incorrect workspace order 2023-09-11 11:42:54 -04:00
Nate Butler
1376115db2 Use enabled for active tabs 2023-09-11 11:40:03 -04:00
Nathan Sobo
15ea4af5e7 Merge branch 'main' into storybook 2023-09-11 09:13:46 -06:00
Nate Butler
917884ffaf Restructure storybook modules and components
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
2023-09-11 11:05:10 -04:00
Nathan Sobo
e0fdc7d0aa Eliminate PaintContext 2023-09-11 09:00:59 -06:00
Nathan Sobo
a24d94cfda Eliminate LayoutContext 2023-09-11 08:47:00 -06:00
Nate Butler
2774eae21a Checkpoint 2023-09-11 10:36:49 -04:00
KCaverly
74ab41000b Merge branch 'main' of github.com:zed-industries/zed into rate_limiting_status 2023-09-11 10:26:22 -04:00
KCaverly
e678c7d9ee swap
SystemTime for Instant throughout rate_limit_expiry tracking
2023-09-11 10:26:14 -04:00
KCaverly
7df21f86dd move cx notify observe for rate_limit_expiry into ProjectState in the semantic index
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-11 10:11:40 -04:00
Antonio Scandurra
6d9333dc3b Add a failing test for codegen autoindent 2023-09-11 14:35:15 +02:00
Antonio Scandurra
02078140c0 Extract code generation logic into its own module 2023-09-11 11:25:37 +02:00
Mikayla
2be34ef254
Add syntax highlighting for nu scripts 2023-09-09 15:39:39 -07:00
Nate Butler
e84e791dde Checkpoint 2023-09-09 17:51:23 -04:00
Mikayla
ef03e206d6
WIP: Add nushell support 2023-09-09 14:01:53 -07:00
Nate Butler
9bb8eae985 init tab_bar 2023-09-09 13:38:57 -04:00
Nate Butler
69f380b689 Fix doc typo 2023-09-09 11:30:35 -04:00
Nate Butler
5ad9a6bb3c Add docs for styleable_helpers proc macros 2023-09-09 11:29:31 -04:00
Nate Butler
8dd6fcc186 Add icon_button 2023-09-08 22:16:12 -04:00
Max Brunsfeld
f5f85b3f76 Add missing notify when changing ChatPanel's channel 2023-09-08 17:29:16 -07:00
Max Brunsfeld
c2121c25c1 Restructure collab panel to allow opening chat + notes w/ one click 2023-09-08 17:06:39 -07:00
Max Brunsfeld
a91f5244a9 Mute on join if ZED_IMPERSONATE is set 2023-09-08 16:24:37 -07:00
Conrad Irwin
4c92172cca Partially roll back refactoring 2023-09-08 16:49:50 -06:00
Conrad Irwin
ba1c350dad vim: Add ZZ and ZQ
The major change here is a refactoring to allow controling the save
behaviour when closing items, which is pre-work needed for vim command
palette.

For zed-industries/community#1868
2023-09-08 16:25:20 -06:00
Nathan Sobo
ebf8b32811 Checkpoint 2023-09-08 16:25:10 -06:00
Nathan Sobo
6b23f74636 Checkpoint 2023-09-08 16:08:31 -06:00
KCaverly
37915ec4f2 updated notify to accomodate for updated countdown 2023-09-08 16:53:16 -04:00
Max Brunsfeld
ed7bc91dbd Create chat panel settings 2023-09-08 13:28:19 -07:00
Nathan Sobo
362b1a44be Merge branch 'main' into storybook 2023-09-08 14:18:44 -06:00
Nathan Sobo
c3b1264c05 Checkpoint 2023-09-08 14:09:29 -06:00
Nathan Sobo
14fc386dc8 Checkpoint 2023-09-08 13:54:15 -06:00
Nathan Sobo
53a50b8df4 Move refreshing to window 2023-09-08 13:27:29 -06:00
KCaverly
bf43f93197 updated semantic_index reset status to leverage target reset system time as opposed to duration 2023-09-08 15:04:50 -04:00
Conrad Irwin
5d782b6cf0
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
Conrad Irwin
88dae22e3e Don't replay ShowCharacterPalette 2023-09-08 11:35:00 -06:00
Conrad Irwin
f069cd0485
Fix f,t on soft-wrapped lines (#2940)
Release Notes:

- vim: fix `f` and `t` on softwrapped lines
2023-09-08 11:34:12 -06:00
Max Brunsfeld
ddda5a559b Restore chat functionality with a very rough UI 2023-09-08 09:59:35 -07:00
Joseph T. Lyons
a0701777d5 Make tooltip title case to match other tooltips 2023-09-08 12:44:49 -04:00
Joseph T. Lyons
f4a9d3f269 Add tooltip to language selector 2023-09-08 12:41:32 -04:00
KCaverly
a5ee8fc805 initial outline for rate limiting status updates 2023-09-08 12:35:15 -04:00
Julia
87472a9de6
Fix Python's cached binary retrieval being borked (#2948)
We fixed this while brainstorming a better approach to handle server
binaries and if we already have a fix for this one then we might as well
have this not be broken while the new mechanism is being built

Release Notes:

- Fixed Python language server not launching without a network
connection.
2023-09-08 12:21:18 -04:00
Nathan Sobo
21d390fa4a Support overflow scroll 2023-09-08 10:20:45 -06:00
Conrad Irwin
5f897f45a8 Fix f,t on soft-wrapped lines
Also remove the (dangerously confusing) display_map.find_while
2023-09-08 10:16:46 -06:00
Julia
74ccb3df63 Fix Python's cached binary retrieval being borked
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-09-08 12:09:31 -04:00
Nathan Sobo
713d72942d Fix bounds calculations 2023-09-08 06:45:23 -06:00
Nathan Sobo
7738867639 Always pass parent origin when painting elements 2023-09-08 06:32:20 -06:00
Antonio Scandurra
ddc8a126da Find keystrokes defined on a child but handled by a parent
This fixes a bug that was preventing keystrokes from being shown on tooltips
for the "Buffer Search" and "Inline Assist" buttons in the toolbar.

This commit makes the behavior of `keystrokes_for_action` more consistent with
the behavior of `available_actions`. It seems reasonable that, if a child view
defines a keystroke for an action and that action is handled on a parent, we
should show the child's keystroke.
2023-09-08 12:50:59 +02:00
Antonio Scandurra
4e818fed4a Make channel notes act as an editor to enable inline assistant 2023-09-08 11:20:49 +02:00
Nathan Sobo
d311bd04ff Add basic inspector 2023-09-07 22:24:02 -06:00
Max Brunsfeld
da5a77badf Start work on restoring server-side code for chat messages 2023-09-07 16:32:49 -07:00
Nate Butler
e7760e1a3f Outline workspace 2023-09-07 16:25:02 -04:00
Nate Butler
ab8a9e912f Remove accidentally added files 2023-09-07 16:19:06 -04:00
Nathan Sobo
4307a06073 WIP 2023-09-07 14:16:44 -06:00
Nate Butler
14ea5a1485 Checkpoint 2023-09-07 16:01:32 -04:00
Max Brunsfeld
56d9a578bd Make toolbar horizontal padding more consistent
* increase horizontal padding of toolbar itself, remove padding
  that was added to individual toolbar items like feedback button.
* make feedback info text and breadcrumbs have the same additional padding as
  quick action buttons.
2023-09-07 12:53:46 -07:00
Nate Butler
5fb9c60905 Checkpoint 2023-09-07 15:33:50 -04:00
Julia
5b0f4ac9e8
Stop LiveKitBridge Package.resolved from constantly updating (#2943)
Stop that damned LiveKitBridge Package.resolved from continually
changing and act more like a lock file

Release Notes:

- N/A
2023-09-07 14:58:55 -04:00
Julia
4d2933a4d7
Include JS template literal as string type for overrides (#2939)
Allows us to trigger Tailwind completions within template literals in
JSX elements

Release Notes:
- Fixed Tailwind autocomplete not appearing in template literals.
2023-09-07 14:58:41 -04:00
Julia
a6ce382368 Stop LiveKitBridge Package.resolved from constantly updating 2023-09-07 14:50:36 -04:00
KCaverly
cf5d1d91a4 update semantic search to go to no results if search query is blank 2023-09-07 14:43:41 -04:00
Max Brunsfeld
3422eb65e8 Restore channel chat model and panel view 2023-09-07 11:38:27 -07:00
Antonio Scandurra
eda7e00645 Implement SemanticIndex::status and use it in project search
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-07 19:39:30 +02:00
Nate Butler
f7b2edb59a Checkpoint 2023-09-07 13:15:38 -04:00
Conrad Irwin
8e2e00e003 add vim-specific J (with repeatability) 2023-09-07 11:08:07 -06:00
Antonio Scandurra
47d7aa0b91 Allow searching before indexing is complete
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-07 19:04:45 +02:00
Nate Butler
17c5bbfd96 Update titlebar style 2023-09-07 12:58:42 -04:00
Nate Butler
23a8d8fba4 Merge workspace and collab panel demos 2023-09-07 12:55:47 -04:00
Antonio Scandurra
65e17e212d Eagerly index project on workspace creation if it was indexed before
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-07 18:51:55 +02:00
Conrad Irwin
48bb2a3321 TEMP 2023-09-07 10:51:18 -06:00
Nate Butler
a87711d157 Merge branch 'nate/wip-storybook-workspace' into storybook 2023-09-07 12:51:05 -04:00
Conrad Irwin
1b1d7f22cc Add visual area repeating 2023-09-07 10:45:38 -06:00
Julia
1969a12a0b Include JS template literal as string type for overrides 2023-09-07 10:55:04 -04:00
Nathan Sobo
37ef28a3bf Merge branch 'main' into storybook 2023-09-07 07:56:57 -06:00
Antonio Scandurra
a45c8c380f 💄 2023-09-07 15:25:23 +02:00
Antonio Scandurra
757a285852 Keep dropping the documents table if it exists
This is because we renamed `documents` to `spans`.

Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-07 15:15:16 +02:00
Antonio Scandurra
93b889a93b Merge remote-tracking branch 'origin/main' into semantic-search-watch-worktrees 2023-09-07 15:07:46 +02:00
Antonio Scandurra
3ad1befb11 Remove unneeded logging
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-07 15:07:21 +02:00
Joseph T. Lyons
39e13b6675 Allow call events to be logged without a room id 2023-09-06 22:53:05 -04:00
Nathan Sobo
a8d5d93757 Max out corner radii to half the smaller dimension of the parent box 2023-09-06 17:21:05 -06:00
Nathan Sobo
99ad60460a Add support for fetching/rendering images 2023-09-06 17:13:43 -06:00
Max Brunsfeld
d03a89ca19
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
Max Brunsfeld
58f58a629b Tolerate channel buffer operations being re-sent 2023-09-06 14:58:25 -07:00
Max Brunsfeld
b75e69d31b Check that channel notes text converges in randomized test 2023-09-06 14:25:07 -07:00
Nathan Sobo
6d4dd0e7a4 Checkpoint 2023-09-06 15:22:35 -06:00
Max Brunsfeld
e779adfe46 Add basic randomized integration test for channel notes 2023-09-06 14:09:36 -07:00
Max Brunsfeld
66c3879306 Extract randomized test infrastructure for use in other tests 2023-09-06 14:08:43 -07:00
Nathan Sobo
46451f2a8b Render borders in gpui2 divs 2023-09-06 14:31:44 -06:00
Nathan Sobo
5a778fbde6 Checkpoint 2023-09-06 14:16:15 -06:00
Conrad Irwin
f22d53eef9 Make test more deterministic
Otherwise these pass only when --features=neovim is set
2023-09-06 14:14:49 -06:00
Conrad Irwin
20f98e4d17 vim . to replay
Co-Authored-By: maxbrunsfeld@gmail.com
2023-09-06 13:49:55 -06:00
Nate Butler
0d1fb7f29e WIP 2023-09-06 15:44:14 -04:00
KCaverly
265d02a583 update request timeout for open ai embeddings 2023-09-06 15:09:46 -04:00
KCaverly
17237f748c update token_count for OpenAIEmbeddings to accomodate for truncation 2023-09-06 15:09:15 -04:00
Nate Butler
5337d9605a Add size rounded prefixes
Co-Authored-By: Nathan Sobo <1789+nathansobo@users.noreply.github.com>
2023-09-06 14:18:29 -04:00
Joseph T. Lyons
f4237ace40 collab 0.20.0 2023-09-06 13:33:39 -04:00
Joseph T. Lyons
15609b4803 v0.104.x dev 2023-09-06 12:53:50 -04:00
Nathan Sobo
707427d9f5 Select caret based on expanded boolean 2023-09-06 10:24:22 -06:00
Nathan Sobo
a2e91e45d9
Use preview server when not on stable (#2909)
This PR updates our client code to connect to preview whenever we're not
on stable. This will make it more likely that we'll be able to
collaborate on a dev build, but obviously won't work if there's a
protocol change on main that hasn't made its way to preview yet.
2023-09-06 10:09:08 -06:00
Julia
8d672f5d4c Remove NodeRuntime static & add fake implementation for tests 2023-09-06 11:18:55 -04:00
Antonio Scandurra
ce62173534 Rename Document to Span 2023-09-06 17:03:08 +02:00
Antonio Scandurra
de0f53b39f Ensure SemanticIndex::search waits for indexing to complete 2023-09-06 11:40:59 +02:00
Antonio Scandurra
c802680084 Clip ranges returned by SemanticIndex::search
The files may have changed since the last time they were parsed, so the
ranges returned by `SemanticIndex::search` may be out of bounds.
2023-09-06 09:41:51 +02:00
Nathan Sobo
de77e56dc6 Checkpoint 2023-09-05 18:53:25 -06:00
Nate Butler
a3039ad95b Add list items for scroll testing 2023-09-05 18:52:05 -04:00
Nathan Sobo
85aedf9bed WIP: Icons not yet rendering 2023-09-05 16:40:52 -06:00
Nate Butler
6cb9cf70b7 Mark placeholder SVGs 2023-09-05 17:32:59 -04:00
Nate Butler
7f85780c78 Add fraction sizes for tailwind lengths 2023-09-05 17:27:00 -04:00
Nathan Sobo
5a9c76e080 Fix hoverable elements moving on hover 2023-09-05 15:17:09 -06:00
Nate Butler
477f4ddbbd Continue collab_panel 2023-09-05 17:13:33 -04:00
Joseph T. Lyons
653d4976cd Add operation for opening channel notes in channel based calls 2023-09-05 17:13:09 -04:00
Nate Butler
0695e8d3b9 Work on sample collab_panel story in the storybook
Co-Authored-By: Nathan Sobo <1789+nathansobo@users.noreply.github.com>
2023-09-05 15:19:44 -04:00
Nathan Sobo
e08c0fc4ce Checkpoint 2023-09-05 12:50:07 -06:00
Max Brunsfeld
ec5ff20b4c Implement clearing stale channel buffer participants on server restart
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-05 11:34:24 -07:00
Nathan Sobo
9ec7569e09 Checkpoint 2023-09-05 12:16:21 -06:00
Kyle Caverly
49af2874bb
Eager background indexing (#2928)
This PR ships a series of optimizations for the semantic search engine.
Mostly focused on removing invalid states, optimizing requests to
OpenAI, and reducing token usage.

Release Notes (Preview-Only):

- Added eager incremental indexing in the background on a debounce.
- Added a local embeddings cache for reducing redundant calls to OpenAI.
- Moved to an Embeddings Queue model which ensures optimal batch sizes
at the token level, and atomic file & document writes.
- Adjusted OpenAI Embedding API requests to use provided backoff delays
during Rate Limiting.
- Removed flush races between parsing files step and embedding queue
steps.
- Moved truncation to parsing step reducing the probability that OpenAI
encounters bad data.
2023-09-05 13:15:54 -04:00
Nathan Sobo
0307cb8a88 Start sketching a collab panel in storybook
Co-Authored-By: Nate Butler <nate@zed.dev>
2023-09-05 10:02:36 -06:00
Conrad Irwin
c2c04616b4
vim S (#2929)
Release Notes:
- vim: Add `S` to substitute line ([#1897](https://github.com/zed-industries/community/issues/1897)).
2023-09-05 09:39:08 -06:00
Conrad Irwin
27143e2fb4
Split ContextMenu actions (#2931)
This should have no user-visible impact.

For vim `.` to repeat it's important that actions are replayable.
Currently editor::MoveDown *sometimes* moves the cursor down, and
*sometimes* selects the next completion.

For replay we need to be able to separate the two.
2023-09-05 09:38:08 -06:00
Antonio Scandurra
95b72a73ad Re-index project when a worktree is registered
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 17:17:58 +02:00
Antonio Scandurra
3c70b127bd Simplify SemanticIndex::index_project
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:54:48 +02:00
Antonio Scandurra
6b1dc63fc0 Retrieve embeddings based on pending files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:16:12 +02:00
Antonio Scandurra
7b5a41dda2 Move retrieval of embeddings from the db into reindex_changed_files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:09:24 +02:00
Antonio Scandurra
d4cff68475 🎨 2023-09-05 15:52:36 +02:00
Kirill Bulatov
42976b6014
Add LSP logs clear button (#2913)
LSP logs tend to accumulate and hinder performance (e.g. search is
slower over 20 MB of json files).
Add a way to clear them.

Release Notes:

- N/A
2023-09-05 12:11:35 +03:00
Conrad Irwin
56db21d54b Split ContextMenu actions
This should have no user-visible impact.

For vim `.` to repeat it's important that actions are replayable.
Currently editor::MoveDown *sometimes* moves the cursor down, and
*sometimes* selects the next completion.

For replay we need to be able to separate the two.
2023-09-02 21:04:19 -06:00
Conrad Irwin
55dd0b176c Use consistent naming 2023-09-02 19:52:18 -06:00
Conrad Irwin
3a7b551e33 Fix tests with no neovim 2023-09-02 19:43:05 -06:00
Max Brunsfeld
6827ddf97d Start work on refreshing channel buffer collaborators on server restart 2023-09-01 17:51:00 -07:00
Max Brunsfeld
e6babce556 Broadcast new peer ids for rejoined channel collaborators 2023-09-01 17:23:55 -07:00
Max Brunsfeld
d7e4cb4ab1 executor: timers must be used 2023-09-01 16:52:41 -07:00
Max Brunsfeld
d370c72fbf Start work on rejoining channel buffers 2023-09-01 16:52:12 -07:00
KCaverly
8dbc0fe033 update pragma settings for improved database performance 2023-09-01 17:07:20 -04:00
Conrad Irwin
af12977d17 vim: Add S to substitute line
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin
aa7b65bbaf Merge branch 'main' into vim-softwrap-word 2023-09-01 12:23:56 -06:00
Conrad Irwin
6d7949654b Fix accidental visual selection on scroll
As part of this fix partial page distance calculations to more closely
match vim.
2023-09-01 11:14:27 -06:00
KCaverly
54235f4fb1 updated embeddings background delay to 5 minutes
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:04:09 -04:00
KCaverly
e86964eb5d optimize insert file in vector database
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:01:37 -04:00
Nathan Sobo
2fa9c037c8 Merge remote-tracking branch 'origin' into storybook 2023-09-01 10:08:48 -06:00
Nathan Sobo
6275c560e7 Fix warnings for a clean build 2023-09-01 10:08:41 -06:00
KCaverly
524533cfb2 flush embeddings queue when no files are parsed for 250 milliseconds
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-01 11:24:08 -04:00
KCaverly
c4db914f0a move embeddings queue to use single hashmap for all changed paths
Co-authored-by: Antonio <me@as-cii.com>
2023-09-01 08:59:25 -04:00
Antonio Scandurra
d868ec920f Avoid duplicate entries in inline assistant's prompt history 2023-09-01 09:15:29 +02:00
Max Brunsfeld
1e60454643 Renumber protobuf fields, bump protocol version 2023-08-31 16:31:26 -07:00
Max Brunsfeld
03f0365d4d Remove local timestamps from CRDT operations
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
KCaverly
afa59abbcd WIP: work towards wiring up a embeddings_for_digest hashmap that is stored for all indexed files 2023-08-31 16:42:39 -04:00
Max Brunsfeld
eecd4e39cc Propagate Cancel action if there is no pending inline assist 2023-08-31 11:09:36 -07:00