ZIm/crates
smit cc97f4131b
editor: Fix horizontal scroll when soft wrap is active (#24735)
Closes #22252

This PR fixes the bug introduced in
https://github.com/zed-industries/zed/pull/19495 by:

Problem:

The vertical scrollbar is currently rendered absolutely on top of the
editor. When calculating soft wrap, the editor uses its width to decide
how many words fit on a line. This causes words to overlap with the
vertical scrollbar because it doesn't account for the scrollbar's width.
To fix the overlap, extra overflow is added to the scrollbar, which
solves the issue but creates unnecessary scrolling in soft wrap mode.

Fix:

The editor width is adjusted to account for the scrollbar's width. This
makes sure the correct number of words fit on a line and prevents
overlapping with the scrollbar in soft wrap mode.

Since the scrollbar width is now accounted for in the editor's width,
there's no need to add extra overflow, unless there’s no soft wrap. In
that case, when text overflows the editor’s width, we still need to add
extra overscroll to match the scrollbar width. Without this, long lines
will overlap with the scrollbar.

Release Notes:

- Fixed issue where horizontal scrollbar would scroll few characters
width when soft wrap is active.
2025-02-12 22:52:22 +05:30
..
activity_indicator Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
anthropic Solve 50+ cargo doc warnings (#24071) 2025-02-01 06:19:29 +00:00
assets Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant edit predictions: Cache settings across renders (#24581) 2025-02-10 20:57:25 +00:00
assistant2 edit predictions: Cache settings across renders (#24581) 2025-02-10 20:57:25 +00:00
assistant_context_editor Fix hover tooltips appearing after related element is pressed (#24540) 2025-02-10 00:16:12 +00:00
assistant_settings Solve 50+ cargo doc warnings (#24071) 2025-02-01 06:19:29 +00:00
assistant_slash_command Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant_slash_commands windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
assistant_tool Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant_tools Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
audio Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
auto_update Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
auto_update_ui auto_update_ui: Show update notification across workspaces (#23458) 2025-02-06 08:05:41 +00:00
breadcrumbs Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
buffer_diff Touch up stale hunks fix (#24669) 2025-02-11 17:47:41 +00:00
call Use different commit author for collab project clients (#24058) 2025-01-31 23:25:58 +00:00
channel Rename model based variable names to entity (#24198) 2025-02-04 10:24:35 -08:00
cli Add build SHA to panic reports and zed --version (on nightly/dev) (#24258) 2025-02-06 02:09:24 -07:00
client Replace rustls-native-certs with rustls-platform-verifier (#24656) 2025-02-12 07:32:17 -08:00
clock chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
collab collab: Update user email and name when signing in (#24694) 2025-02-11 22:02:11 +00:00
collab_ui ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
collections chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
command_palette vim: :set support (#24209) 2025-02-11 04:55:40 +00:00
command_palette_hooks vim: :set support (#24209) 2025-02-11 04:55:40 +00:00
component ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
component_preview ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
context_server Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
context_server_settings Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
copilot Include prediction ID on edit prediction accepted/discarded events (#24480) 2025-02-07 22:06:37 +00:00
db Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
deepseek Add DeepSeek support (#23551) 2025-01-27 13:40:59 -05:00
diagnostics lsp: Send DidOpen notifications when changing selections in multi buffer (#22958) 2025-02-07 12:33:35 +01:00
docs_preprocessor Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
editor editor: Fix horizontal scroll when soft wrap is active (#24735) 2025-02-12 22:52:22 +05:30
evals Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
extension theme: Implement icon theme reloading (#24449) 2025-02-07 11:30:53 -05:00
extension_api chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
extension_cli extension_cli: Include the list of what an extension provides in the generated manifest (#24295) 2025-02-05 18:17:19 +00:00
extension_host Update tree-sitter to 0.24 (#24492) 2025-02-10 10:52:27 -08:00
extensions_ui extensions_ui: Add general structure for filtering extensions by what they provide (#24325) 2025-02-06 00:09:37 +00:00
feature_flags inline_completion_button: Put "Eager Preview Mode" menu entry behind a feature flag (#24734) 2025-02-12 16:23:23 +00:00
feedback edit predictions: Cache settings across renders (#24581) 2025-02-10 20:57:25 +00:00
file_finder collab: Fix project sharing between Windows and Unix (#23680) 2025-02-10 16:12:01 -08:00
file_icons file_icons: Resolve icon properly for exact file name match (#24396) 2025-02-06 17:14:39 -06:00
fs git: Compute and synchronize diffs from HEAD (#23626) 2025-02-04 15:29:10 -05:00
fsevent Deflake fs::test_event_stream_simple (#24013) 2025-01-30 23:53:36 -07:00
fuzzy windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
git collab: Fix project sharing between Windows and Unix (#23680) 2025-02-10 16:12:01 -08:00
git_hosting_providers Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
git_ui Fix project diff focus (#24691) 2025-02-11 16:40:40 -08:00
go_to_line Project Diff 2 (#23891) 2025-02-03 13:18:50 -07:00
google_ai google_ai: Add support for Gemini 2.0 models (#24448) 2025-02-07 11:18:18 -05:00
gpui Add more view tracking (#24683) 2025-02-11 19:18:54 +00:00
gpui_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
gpui_tokio Make the gpui_tokio crate generic over the context it spawns (#23995) 2025-01-31 02:00:55 +00:00
html_to_markdown Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
http_client Replace rustls-native-certs with rustls-platform-verifier (#24656) 2025-02-12 07:32:17 -08:00
image_viewer ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
indexed_docs Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
inline_completion edit predictions: Show user if current project is open source (#24587) 2025-02-10 22:28:56 -03:00
inline_completion_button inline_completion_button: Put "Eager Preview Mode" menu entry behind a feature flag (#24734) 2025-02-12 16:23:23 +00:00
install_cli Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
journal Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
language Polish edit predictions (#24732) 2025-02-12 15:56:31 +00:00
language_extension Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
language_model google_ai: Add support for Gemini 2.0 models (#24448) 2025-02-07 11:18:18 -05:00
language_model_selector Fix hover tooltips appearing after related element is pressed (#24540) 2025-02-10 00:16:12 +00:00
language_models Sort Cargo.tomls (#24417) 2025-02-07 02:14:57 +00:00
language_selector Refactor to use SharedString in more places (#23813) 2025-01-28 19:04:21 -05:00
language_tools edit predictions: Cache settings across renders (#24581) 2025-02-10 20:57:25 +00:00
languages Correctly handle [[ autoclosing in Markdown (#24662) 2025-02-11 13:06:45 -05:00
livekit_client Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
livekit_client_macos Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
livekit_server chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
lmstudio lmstudio: Support missing quantization in model metadata (#24054) 2025-01-31 22:28:11 +00:00
lsp Fix #24081 - lsp diagnostic code type conversion (#24347) 2025-02-05 21:23:46 -06:00
markdown markdown: Use parsed text (#24388) 2025-02-06 18:37:50 -08:00
markdown_preview Migrate more events to telemetry::event! macro (#24102) 2025-02-03 16:38:45 +00:00
media chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
menu chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
migrator migrator: Do some cleanup (#24687) 2025-02-11 20:46:21 +00:00
multi_buffer Require alt-tab for AcceptEditPrediction when tab inserting whitespace is desired (#24705) 2025-02-12 01:14:09 +00:00
node_runtime Pass extra CA certs to node process if env var exists (#23662) 2025-01-30 08:56:02 -08:00
notifications Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
ollama Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
open_ai open_ai: Include o3-mini in Model::from_id (#24261) 2025-02-05 16:45:38 -05:00
outline Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
outline_panel Fix outline panel issues in a multi-worktree set-up (#24538) 2025-02-09 21:29:29 +00:00
panel git_ui: Update git panel commit editor, start on quick commit 2025-02-10 15:52:09 +00:00
paths Settings/keymap backup path next to files + update notification messages (#24517) 2025-02-09 16:51:37 -07:00
picker Migrate keymap and settings + edit predictions rename (#23834) 2025-02-07 21:17:07 +05:30
prettier windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
project project: Activate buffer_diff/test-support in test-support (#24739) 2025-02-12 16:51:47 +00:00
project_panel ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
project_symbols windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
prompt_library edit predictions: Cache settings across renders (#24581) 2025-02-10 20:57:25 +00:00
proto collab: Fix project sharing between Windows and Unix (#23680) 2025-02-10 16:12:01 -08:00
recent_projects windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
refineable windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
release_channel Solve 50+ cargo doc warnings (#24071) 2025-02-01 06:19:29 +00:00
remote Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
remote_server Add staged status information to diff hunks (#24475) 2025-02-10 21:43:25 -05:00
repl ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
reqwest_client Replace rustls-native-certs with rustls-platform-verifier (#24656) 2025-02-12 07:32:17 -08:00
rich_text Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
rope git: Compute and synchronize diffs from HEAD (#23626) 2025-02-04 15:29:10 -05:00
rpc extensions_ui: Add general structure for filtering extensions by what they provide (#24325) 2025-02-06 00:09:37 +00:00
schema_generator Add schema_generator for generating JSON schemas (#23991) 2025-01-31 01:22:10 +00:00
search Migrate keymap and settings + edit predictions rename (#23834) 2025-02-07 21:17:07 +05:30
semantic_index Update tree-sitter to 0.24 (#24492) 2025-02-10 10:52:27 -08:00
semantic_version chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
session Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
settings migrator: In-memory migration and improved UX (#24621) 2025-02-12 06:47:08 +05:30
settings_ui Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
snippet Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
snippet_provider snippets: Fix snippets not updating while containing comments (#23755) 2025-01-28 10:37:48 +01:00
snippets_ui Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
sqlez Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
sqlez_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
story Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
storybook ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
streaming_diff chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
sum_tree Split conflicts into their own section (#24324) 2025-02-05 18:34:14 -07:00
supermaven Include prediction ID on edit prediction accepted/discarded events (#24480) 2025-02-07 22:06:37 +00:00
supermaven_api Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
tab_switcher Migrate keymap and settings + edit predictions rename (#23834) 2025-02-07 21:17:07 +05:30
task Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
tasks_ui windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
telemetry chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
telemetry_events Add build SHA to panic reports and zed --version (on nightly/dev) (#24258) 2025-02-06 02:09:24 -07:00
terminal Solve 50+ cargo doc warnings (#24071) 2025-02-01 06:19:29 +00:00
terminal_view Fix hover tooltips appearing after related element is pressed (#24540) 2025-02-10 00:16:12 +00:00
text Fix unnecessarily large edits emitted from multi buffer on diff recalculation (#23753) 2025-01-27 18:11:15 -08:00
theme file_icons: Use separate keys for C#, Cue, GitLab YAML, Luau, and Solidity (#24711) 2025-02-12 14:25:01 +00:00
theme_extension theme: Implement icon theme reloading (#24449) 2025-02-07 11:30:53 -05:00
theme_importer Add schema_generator for generating JSON schemas (#23991) 2025-01-31 01:22:10 +00:00
theme_selector theme: Add support for setting light/dark icon themes (#24702) 2025-02-11 23:45:37 +00:00
time_format chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
title_bar Fix hover tooltips appearing after related element is pressed (#24540) 2025-02-10 00:16:12 +00:00
toolchain_selector Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
ui edit predictions: Improve copywriting (#24689) 2025-02-11 21:43:48 -03:00
ui_input Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
ui_macros component: Add component and component_preview crates to power UI components (#24456) 2025-02-09 13:25:03 -05:00
util Fix adding new git repos to a project (#24471) 2025-02-07 20:08:09 +00:00
util_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
vim vim: Prevent around word operations from selecting indentation (#24635) 2025-02-11 11:35:59 -07:00
vim_mode_setting Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
welcome ui: Update Label component (#24653) 2025-02-11 20:16:59 +00:00
workspace theme: Add support for setting light/dark icon themes (#24702) 2025-02-11 23:45:37 +00:00
worktree collab: Fix project sharing between Windows and Unix (#23680) 2025-02-10 16:12:01 -08:00
zed edit predictions: Update migration banner text and rename chore (#24713) 2025-02-12 19:28:29 +05:30
zed_actions Add branch to git panel (#24485) 2025-02-08 03:27:58 +00:00
zeta Polish edit predictions (#24732) 2025-02-12 15:56:31 +00:00