wip
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env python3
|
||||
'''One-shot sweep: replace custom ui helpers with gpui-kit tokens.'''
|
||||
|
||||
import pathlib
|
||||
|
||||
CRATES = pathlib.Path('crates')
|
||||
|
||||
REPLACEMENTS = [
|
||||
# Text ladder -> gpui text classes (Caption2 before Caption)
|
||||
('.text_style(TextStyle::Headline)', '.text_sm().font_semibold()'),
|
||||
('.text_style(TextStyle::Body)', '.text_sm()'),
|
||||
('.text_style(TextStyle::Caption2)', '.text_xs().font_medium()'),
|
||||
('.text_style(TextStyle::Caption)', '.text_xs()'),
|
||||
('.text_style(TextStyle::Callout)', '.text_xs()'),
|
||||
('.text_style(TextStyle::Subheadline)', '.text_xs()'),
|
||||
# Radius ladder -> theme tokens
|
||||
('px(ui::bubble_radius())', 'cx.theme().radius_lg'),
|
||||
('px(ui::surface_radius())', 'cx.theme().radius_lg'),
|
||||
('px(ui::panel_radius())', 'cx.theme().radius_lg'),
|
||||
('px(ui::control_radius())', 'cx.theme().radius'),
|
||||
('px(ui::button_radius())', 'cx.theme().radius'),
|
||||
('px(bubble_radius())', 'cx.theme().radius_lg'),
|
||||
('px(surface_radius())', 'cx.theme().radius_lg'),
|
||||
('px(panel_radius())', 'cx.theme().radius_lg'),
|
||||
('px(control_radius())', 'cx.theme().radius'),
|
||||
('px(button_radius())', 'cx.theme().radius'),
|
||||
# Spacing -> Tailwind gap
|
||||
('gap(px(ui::SPACE))', 'gap_2()'),
|
||||
# Custom divider -> kit Separator
|
||||
('divider(cx)', 'Separator::horizontal()'),
|
||||
# Avatar import swap
|
||||
('use gpui_kit::component::avatar::Avatar;', 'use ui::Avatar;'),
|
||||
# Import lines that are now unused (whole line, with newline)
|
||||
('use ui::{TextStyle, Typeset as _, bubble_radius, control_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _, button_radius, control_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _, button_radius, panel_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _, control_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _, button_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _, surface_radius};\n', ''),
|
||||
('use ui::{TextStyle, Typeset as _};\n', ''),
|
||||
('use ui::divider;\n', ''),
|
||||
('use ui::button_radius;\n', ''),
|
||||
]
|
||||
|
||||
|
||||
def main() -> None:
|
||||
changed = []
|
||||
for path in CRATES.rglob('*.rs'):
|
||||
if str(path).startswith('crates/ui/'):
|
||||
continue
|
||||
text = path.read_text()
|
||||
original = text
|
||||
for old, new in REPLACEMENTS:
|
||||
text = text.replace(old, new)
|
||||
if text != original:
|
||||
path.write_text(text)
|
||||
changed.append(str(path))
|
||||
print('\n'.join(changed))
|
||||
print(f'{len(changed)} files changed')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user