zed/crates
Thorsten Ball ddca6a3fb7
Debounce refresh of inlay hints on buffer edits (#8282)
I think this makes it less chaotic to edit text when the inlay hints are
on.

It's for cases where you're editing to the right side of an inlay hint.
Example:

```rust
for name in names.iter().map(|item| item.len()) {
    println!("{:?}", name);
}
```

We display a `usize` inlay hint right next to `name`.

But as soon as you remove that `.` in `names.iter` your cursor jumps
around because the inlay hint has been removed.

With this change we now have a 700ms debounce before we update the inlay
hints.

VS Code seems to have an even longer debounce, I think somewhere around
~1s.

Release Notes:

- Added debouncing to make it easier to edit text when inlay hints are
enabled and to save rendering of inlay hints when scrolling. Both
debounce durations can be configured with `{"inlay_hints":
{"edit_debounce_ms": 700}}` (default) and `{"inlay_hints":
{"scroll_debounce_ms": 50}}`. Set a value to `0` to turn off the
debouncing.


### Before


https://github.com/zed-industries/zed/assets/1185253/3afbe548-dcfb-45a3-ab9f-cce14c04a148



### After



https://github.com/zed-industries/zed/assets/1185253/7ea90e42-bca6-4f6c-995e-83324669ab43

---------

Co-authored-by: Kirill <kirill@zed.dev>
2024-02-27 11:18:13 +01:00
..
activity_indicator Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
ai Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
assets chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
assistant Add telemetry events backend for collab (#8220) 2024-02-23 11:13:28 -05:00
audio Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
auto_update Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
breadcrumbs Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
call channel projects (#8456) 2024-02-26 22:15:11 -07:00
channel channel projects (#8456) 2024-02-26 22:15:11 -07:00
cli Respect user preferences when formatting timestamp (#7994) 2024-02-23 19:18:06 -07:00
client channel projects (#8456) 2024-02-26 22:15:11 -07:00
clock Add SystemClock (#8239) 2024-02-22 22:28:08 -05:00
collab Debounce refresh of inlay hints on buffer edits (#8282) 2024-02-27 11:18:13 +01:00
collab_ui channel projects (#8456) 2024-02-26 22:15:11 -07:00
collections gpui: Add Global marker trait (#7095) 2024-01-30 14:08:20 -05:00
color Hoist itertools dependency to workspace level (#8417) 2024-02-25 20:37:52 -05:00
command_palette Add command_palette_hooks crate (#8398) 2024-02-25 13:21:20 -05:00
command_palette_hooks Add command_palette_hooks crate (#8398) 2024-02-25 13:21:20 -05:00
copilot Add command_palette_hooks crate (#8398) 2024-02-25 13:21:20 -05:00
copilot_ui Add cancel button on GitHub Copilot actions (#7850) 2024-02-16 10:45:55 -05:00
db Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
diagnostics chore: Extract languages from zed crate (#8270) 2024-02-23 15:56:08 +01:00
editor Debounce refresh of inlay hints on buffer edits (#8282) 2024-02-27 11:18:13 +01:00
extension Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
extensions_ui Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
feature_flags Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
feedback Rename ZedHttpClient for clarity (#8320) 2024-02-24 00:07:24 -05:00
file_finder Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
fs Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
fsevent Translate notify::Event to fsevent::Event on linux (#7545) 2024-02-08 08:35:37 -08:00
fuzzy chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
git Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
go_to_line Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
gpui Mention possible run options in the task modal placeholder (#8449) 2024-02-27 00:04:56 +02:00
gpui_macros Switch LSP prompts to use a non-blocking toast (#8312) 2024-02-23 15:18:32 -08:00
install_cli Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
journal Hoist chrono dependency to workspace level (#8414) 2024-02-25 18:52:59 -05:00
language Debounce refresh of inlay hints on buffer edits (#8282) 2024-02-27 11:18:13 +01:00
language_selector Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
language_tools Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
languages Add language server for Terraform (#7657) 2024-02-26 17:08:49 -08:00
live_kit_client Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
live_kit_server Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
lsp Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330) 2024-02-25 00:41:28 +02:00
markdown_preview Support rendering strikethrough text in markdown (#8287) 2024-02-26 21:04:48 +02:00
media Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
menu chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
multi_buffer Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
node_runtime Hoist languages crate's dependencies to the workspace level (#8394) 2024-02-25 12:02:59 -05:00
notifications channel projects (#8456) 2024-02-26 22:15:11 -07:00
outline Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
picker Allow using context in the placeholder_text method 2024-02-25 00:08:57 +02:00
prettier Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
project project: enable missing project_core/test-support feature when test-support is enabled (#8471) 2024-02-27 10:07:40 +01:00
project_core Extract project_core out of project (#8438) 2024-02-26 22:09:22 +01:00
project_panel Add support of auto folded directories (#7674) 2024-02-26 10:01:59 -08:00
project_symbols Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
quick_action_bar Hide Inline Assist button if assistant.button is disabled (#7932) 2024-02-18 08:14:08 +02:00
recent_projects Mention possible run options in the task modal placeholder (#8449) 2024-02-27 00:04:56 +02:00
refineable Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
release_channel chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rich_text Support rendering strikethrough text in markdown (#8287) 2024-02-26 21:04:48 +02:00
rope Add documentation to many core editor types (#7919) 2024-02-17 09:03:05 -07:00
rpc channel projects (#8456) 2024-02-26 22:15:11 -07:00
search Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
semantic_index Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
settings Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330) 2024-02-25 00:41:28 +02:00
snippet Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
sqlez Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
sqlez_macros Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
story chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
storybook Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
sum_tree Add documentation to many core editor types (#7919) 2024-02-17 09:03:05 -07:00
task Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
tasks_ui Mention possible run options in the task modal placeholder (#8449) 2024-02-27 00:04:56 +02:00
telemetry_events Add telemetry events backend for collab (#8220) 2024-02-23 11:13:28 -05:00
terminal Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
terminal_view Hoist itertools dependency to workspace level (#8417) 2024-02-25 20:37:52 -05:00
text Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
theme Hoist itertools dependency to workspace level (#8417) 2024-02-25 20:37:52 -05:00
theme_importer theme_importer: Add --output flag for outputting the theme to a file (#7486) 2024-02-07 16:23:36 -05:00
theme_selector Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
time_format Fix unused warning in time_format 2024-02-24 00:04:00 -08:00
ui Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
util Rename ZedHttpClient for clarity (#8320) 2024-02-24 00:07:24 -05:00
vcs_menu Allow using context in the placeholder_text method 2024-02-25 00:08:57 +02:00
vim vim: Keep multi-cursor on escape (#8464) 2024-02-26 22:54:02 -07:00
welcome Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330) 2024-02-25 00:41:28 +02:00
workspace Add :tabonly and :only vim commands (#8337) 2024-02-26 22:15:50 -07:00
zed Fall back to stdout if log file is inaccessible (#8415) 2024-02-27 09:48:19 +02:00
zed_actions chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00