ddd7ab1
Do not convert lsp::Location of hint labels before resolve
Kirill Bulatov created
ddd7ab1
Do not convert lsp::Location of hint labels before resolve
Kirill Bulatov created
d6ffb68
Fix bugs in autoscroll with 'fit' strategy (#2893)
This fixes a bug where text moved up and down by one pixel in the buffer search query editor, while typing. Release notes: * Fixed a bug where editors didn't auto-scroll when typing if all cursors could not fit within the viewport.
Max Brunsfeld created
2495d65
Un serialize project search (#2857)
This is the first batch of improvements to current project search. There are few things we can do better still, but I want to get this out in next Preview. Most of the slowness at this point seems to stem from updating UI too often. Release Notes: - Improved project search by making it report results sooner. --------- Co-authored-by: Julia Risley <julia@zed.dev>
Piotr Osiewicz and Julia Risley created
a3b2c03
Fix bugs in autoscroll with 'fit' strategy
* Scroll to the newest cursor if all cursors can't fit in the viewport. * Refuse to layout an editor less tall than one line height. Co-authored-by: Nathan <nathan@zed.dev>
Max Brunsfeld and Nathan created
6fdf101
Update database and RPC to provide configured feature flags
Mikayla created
dee1a43
A few more fixes for wrapped line motions
Conrad Irwin created
20aa2a4
vim: Fix relative line motion
Before this change up and down were in display co-ordinates, after this
change they are in fold coordinates (which matches the vim behaviour).
To make this work without causing usabliity problems, a bunch of extra
keyboard shortcuts now work:
- vim: `z {o,c}` to open,close a fold
- vim: `z f` to fold current visual selection
- vim: `g {j,k,up,down}` to move up/down a display line
- vim: `g {0,^,$,home,end}` to get to start/end of a display line
Fixes: zed-industries/community#1562
Conrad Irwin created
0280d5d
vim change for wrapped lines
Conrad Irwin created
104f5ae
relative line numbers (#2887)
- Add relative_line_mode - vim change for wrapped lines Release Notes: - Add a `relative_line_numbers` setting ([#988](https://github.com/zed-industries/community/issues/998)).
Conrad Irwin created
c1fd648
Add setting to automatically enable virtual environment (#2882)
This isn't ready to go - I'm opening a PR to ask for some advice. When activating a python virtual environment, the typical command used is `source path_to_venv/bin/activate`. The problem is, the activatate script isn't portable to all shells, so some additional scripts are bundled in the env, for example, `activate.fish`. We don't have a good way of knowing what shell we are in, in order to know what script to run. Julia gave the alternative of simply activating the virtual environment while in the zsh context, before the user's custom shell is launched, which I think does work, but because we activate the virtual environment before we launch the custom shell, the shell isn't really aware that we are in the virtual environment and it fails to display the information in the prompt that is typically shown after activating. Is there a clean way for us to know for a fact what shell is being ran, so we know what script to run? Check out the code comments below for more context. --- https://github.com/zed-industries/zed/assets/19867440/ddb76aaa-152b-4c93-a513-3cd580b7c40f I've used Zed to write Python scripts, but working on an actual project has really magnified where Python dev is falling short. A huge quality-of-life thing we can do is provide a setting to automaticaly search for and activate virtual environments when found, when terminals are created. Manually starting these up in every terminal instance is such a drag. A few quirks: - We don't have a way of knowing if the prompt is ready before we try run the command, which means we see the text inserted at the top of the terminal and on the prompt - I dont think this should be a blocker though. - If a user has multiple python projects with mutliple virtual environments, we only detect and activate the first one, since can't really make any assumptions about which one to activate. I dont think this should be a blocker either, as I think most users will have a single project open in Zed. Release Notes: - Added a `detect_venv` setting for the terminal. When configured, the Zed terminal will automatically activate Python virtual environments on terminal creation.
Joseph T. Lyons created
507a5db
WIP
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
Joseph T. Lyons and Mikayla Maki created
bde67b2
Fix merge-conflict
Conrad Irwin created
1c945a7
Fix zed-industries/community#1950 (#2892)
Release Notes: - vim: fix goal preservation of visual block selections ([#1950](https://github.com/zed-industries/community/issues/1950)).
Conrad Irwin created
f18cdcb
Fix relative line numbers in vim visual mode
In visual mode when your selection ends with a newline we show the cursor at the end of the previous line (not the start of the current line). We had only been accounting for this if the cursor was on-screen.
Conrad Irwin created
8d5dc26
Fix relative line numbers when newest cursor offscreen
Conrad Irwin created
790aa5d
Add relative_line_mode
Co-Authored-By: joseph@zed.dev
Conrad Irwin and joseph@zed.dev created
1f3e009
Fix zed-industries/community#1950
Conrad Irwin created
f798be6
Fix rust 1.72 warnings about shadowed glob re-exports
Max Brunsfeld created
404f767
Format let-else statements
Max Brunsfeld created
732af20
Upgrade to rust 1.72
Max Brunsfeld created
7c5200e
More styling
Antonio Scandurra created
c4966ff
Remove warning
Antonio Scandurra created
75a6a94
Add placeholder text for inline assistant prompts
Antonio Scandurra created
44c340b
Properly invalidate the hint cache
Kirill Bulatov created
b101a7e
Cancel last inline assist when escaping from the editor
Antonio Scandurra created
fdbf468
Ensure the inline assistant works with gpt-3.5
Antonio Scandurra created
205e101
Query certain editor ranges for inlays with a delay (#2891)
Part of https://linear.app/zed-industries/issue/Z-2750/investigate-performance-of-collaborating-on-large-files-with-inlay Fixes https://linear.app/zed-industries/issue/Z-2824/inlay-hints-affect-code-layout-in-multibuffer We query hints for visible part of the screen, and two parts above and below the visible range, of the same range (if applicable, we can be on the edge of the document). When rapidly typing, we do not care about the invisible range updates, yet still query a lot of them + rust-analyzer sends /refresh hint requests shortly after every modification too, forcing us to re-query. Instead querying both visible and invisible ranges altogether, wait for visible range query first and wait add a `400ms` delay afterwards before querying the invisible ranges. This allows any /refresh requests or rapid typing to avoid 2 extra requests, cancelling them before they start. Visible part of the screen is still queried after every change, without any debouncing. Release Notes: - Delay certain inlay hint requests to reduce general LSP server load
Kirill Bulatov created
2b95f05
Fix the tests
Kirill Bulatov created
c10c3e2
Only invalidate when doing first, visible range query
Kirill Bulatov created
a63e157
Defer querying inlay hints for invisible editor ranges
This way, only the visible part gets frequently queried on typing (and hint /refresh requests that follow), with queries for invisible ranges cancelled eagerly.
Kirill Bulatov created
b50762c
Handle inlay hints resolve, support dynamic hints (#2890)
Resolves inlay hints on hover, shows hint label parts' tooltips, allows cmd+click to navigate to the hints' parts with locations, correspondingly highlight the hints. Release Notes: - Support dynamic inlay hints
Kirill Bulatov created
0a18aa6
Use stricter inlay range checks to avoid stuck highlights
Often, hint ranges are separated by a single '<` char as in `Option<Vec<u32>>`. When moving the caret from left to right, avoid inclusive ranges to faster update the matching hint underline.
Kirill Bulatov created
27c90f1
Merge remote-tracking branch 'origin/main' into ai-refactoring
Antonio Scandurra created
0444b5a
:lipstick:
Antonio Scandurra created
8ed280a
Rebase fixes
Kirill Bulatov created
e44516c
Add hover tests
Kirill Bulatov created
f19c659
Add link_go_to_definition test for inlays
Kirill Bulatov created
abd2d01
Properly binary search cached inlay hints
Kirill Bulatov created
3c55c93
Be more lenient with hint resolution, always return some hint
Kirill Bulatov created
852427e
Use inlay highlights in randomized tests
Kirill Bulatov created
7cd60d6
Simplify and restore client resolve capabilities
Kirill Bulatov created
dcf570b
Fix resolve status conversion
Kirill Bulatov created
bcaff0a
Propagate inlay background highlights to data storage
Kirill Bulatov created
4b78678
Prepare background highlights for inlay highlights
Kirill Bulatov created
12ffbe5
Unify text and inlay highlights
Kirill Bulatov created
420f8b7
Prepare for inlay and text highlight unification
Kirill Bulatov created
4cc9f2f
Highlight inlay hint parts on cmd-hover
Co-Authored-By: Antonio <antonio@zed.dev>
Kirill Bulatov and Antonio created
f8874a7
Attempt to highlight inlays
Kirill Bulatov created
6c5761d
Pass inlay highlight information
Kirill Bulatov created
477fc86
Properly resolve inlay label parts' locations and buffers
Kirill Bulatov created