Commit Graph
12056 Commits
Author SHA1 Message Date
Joseph T. Lyons f4e40b3411 Ignore .idea directory
I'm testing RustRover
2023-09-15 11:17:02 -04:00
Antonio Scandurra c9863d6475 Don't dismiss inline assistant when an error occurs (#2971)
Release Notes:

- Fixed a bug that was preventing errors from being shown in the inline
assistant when it was still deployed. (preview-only)
2023-09-15 12:36:50 +02: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
KCaverly 796bdd3da7 update searching in modified buffers to accomodate for excluded paths 2023-09-14 19:42:06 -04: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
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
Kyle Caverly 9b901df256 small fix to rate status update (#2967)
Small fix to update code for rate limiting status.

Release Notes (Preview only)
- Fixed update to only stop updating status, when the rate limit is
reset to None
2023-09-14 15:43:30 -04: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 BulatovandAntonio Scandurra 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 ScandurraandKyle Caverly 6a271617b4 Make path optional when parsing file
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-14 17:09:08 +02:00
Joseph T. Lyons 24698b61fd Fix toggle replace tooltip (#2964)
Release Notes:

- N/A
2023-09-13 20:24:05 -04:00
Joseph T. Lyons 15bdff1c5b Fix toggle replace tooltip 2023-09-13 20:19:14 -04:00
Max Brunsfeld 18c899a0a8 Remove dead code for old admin pages 2023-09-13 15:02:59 -07:00
Max Brunsfeld 4ea6d12fe2 Document that PostgREST needs to be installed for running locally 2023-09-13 13:46:17 -07:00
Max BrunsfeldandMikayla dddd37f8a6 Run postgrest as part of foreman
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 12:32:15 -07:00
Max BrunsfeldandMikayla 3910efe3ab Use PostgREST instead of pgAdmin
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 11:47:20 -07: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
Joseph T. Lyons a6cb5f99f3 v0.105.x dev 2023-09-13 12:22:33 -04:00
Antonio Scandurra 5697a87f4a Fix indentation issues when generating or transforming code with inline assistant (#2961)
This pull request extracts a separate `Codegen` struct that models the
interaction with OpenAI and takes care of diffing, auto-indenting and
reporting regions to highlight.

As part of this refactoring, we're now relying less on the AI model to
indent code. The new logic lets tree-sitter decide how the first line
should be indented. Then, for every subsequent line reported by ChatGPT,
it calculates an indent delta relative to the first reported line and
applies it to the indent level chosen by tree-sitter.

Release Notes:

- Improved auto-indentation when using the inline assistant.
2023-09-13 12:45:44 +02: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 BrunsfeldandMikayla 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 BrunsfeldandMikayla 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
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
Piotr OsiewiczandMax 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
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