editor: Add horizontal scrollbar (#19495)
 Closes #4427 Release Notes: - Added a horizontal scrollbar to the editor panel - Added `axis` option to `scrollbar` in the Zed configuration, which can forcefully disable either the horizontal or vertical scrollbar - Added `horizontal_scroll_margin` equivalent to `vertical_scroll_margin` in the Zed configuration Rough Edges: This feature seems mostly stable from my testing. I've been using a development build for about a week with no issues. Any feedback would be appreciated. There are a few things to note as well: 1. Scrolling to the lower right occasionally causes scrollbar clipping on my end, but it isn't consistent and it isn't major. Some more testing would definitely be a good idea. [FIXED] 2. Documentation may need to be modified 3. I added an `AxisPair` type to the `editor` crate to manage values that have a horizontal and vertical variant. I'm not sure if that's the optimal way to do it, but I didn't see a good alternative. The `Point` type would technically work, but it may cause confusion. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
This commit is contained in:
parent
6fa5a17586
commit
ed3e647ed7
6 changed files with 696 additions and 203 deletions
|
@ -254,7 +254,14 @@
|
|||
// Whether to show selected symbol occurrences in the scrollbar.
|
||||
"selected_symbol": true,
|
||||
// Whether to show diagnostic indicators in the scrollbar.
|
||||
"diagnostics": true
|
||||
"diagnostics": true,
|
||||
/// Forcefully enable or disable the scrollbar for each axis
|
||||
"axes": {
|
||||
/// When false, forcefully disables the horizontal scrollbar. Otherwise, obey other settings.
|
||||
"horizontal": true,
|
||||
/// When false, forcefully disables the vertical scrollbar. Otherwise, obey other settings.
|
||||
"vertical": true
|
||||
}
|
||||
},
|
||||
// Enable middle-click paste on Linux.
|
||||
"middle_click_paste": true,
|
||||
|
@ -304,6 +311,8 @@
|
|||
"vertical_scroll_margin": 3,
|
||||
// Whether to scroll when clicking near the edge of the visible text area.
|
||||
"autoscroll_on_clicks": false,
|
||||
// The number of characters to keep on either side when scrolling with the mouse
|
||||
"horizontal_scroll_margin": 5,
|
||||
// Scroll sensitivity multiplier. This multiplier is applied
|
||||
// to both the horizontal and vertical delta values while scrolling.
|
||||
"scroll_sensitivity": 1.0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue