
This PR adds resizable columns to the keymap editor and the ability to double-click on a resizable column to set a column back to its default size. The table uses a column's width to calculate what position it should be laid out at. So `column[i]` x position is calculated by the summation of `column[..i]`. When resizing `column[i]`, `column[i+1]`’s size is adjusted to keep all columns’ relative positions the same. If `column[i+1]` is at its minimum size, we keep seeking to the right to find a column with space left to take. An improvement to resizing behavior and double-clicking could be made by checking both column ranges `0..i-1` and `i+1..COLS`, since only one range of columns is checked for resize capacity. Release Notes: - N/A --------- Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Remco Smits <djsmits12@gmail.com>
47 lines
1 KiB
TOML
47 lines
1 KiB
TOML
[package]
|
|
name = "settings_ui"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/settings_ui.rs"
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
collections.workspace = true
|
|
command_palette.workspace = true
|
|
command_palette_hooks.workspace = true
|
|
component.workspace = true
|
|
db.workspace = true
|
|
editor.workspace = true
|
|
feature_flags.workspace = true
|
|
fs.workspace = true
|
|
fuzzy.workspace = true
|
|
gpui.workspace = true
|
|
itertools.workspace = true
|
|
language.workspace = true
|
|
log.workspace = true
|
|
menu.workspace = true
|
|
notifications.workspace = true
|
|
paths.workspace = true
|
|
project.workspace = true
|
|
schemars.workspace = true
|
|
search.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
telemetry.workspace = true
|
|
tempfile.workspace = true
|
|
theme.workspace = true
|
|
tree-sitter-json.workspace = true
|
|
tree-sitter-rust.workspace = true
|
|
ui.workspace = true
|
|
ui_input.workspace = true
|
|
util.workspace = true
|
|
workspace-hack.workspace = true
|
|
workspace.workspace = true
|