[package]
edition = "2021"
rust-version = "1.92.0"
name = "quadraui"
version = "0.6.0"
build = "build.rs"
exclude = [
"tests/",
"benches/",
"docs/ARCHITECTURE.md",
"docs/BACKEND.md",
"docs/IME_INPUT_PROPOSAL.md",
"docs/LESSONS.md",
"docs/NATIVE_GUI_LESSONS.md",
"docs/PRIMITIVE_RULES.md",
"docs/ROWS_PROVIDER_PROPOSAL.md",
"docs/SESSION_HISTORY.md",
"docs/SMELL_AUDIT_2026-07.md",
"docs/TESTING.md",
"docs/UI_CRATE_DESIGN.md",
"docs/WEB_BACKEND_PROPOSAL.md",
"docs/audits/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform Rust UI toolkit: write one AppLogic and run it unmodified on TUI, GTK4 (Linux), macOS, and Windows backends"
documentation = "https://docs.rs/quadraui"
readme = "README.md"
keywords = [
"gui",
"tui",
"cross-platform",
"widgets",
"framework",
]
categories = [
"gui",
"command-line-interface",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/JDonaghy/quadraui"
[package.metadata.docs.rs]
features = [
"tui",
"gtk",
"win",
"terminal",
"macos",
"layout",
"a11y",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
a11y = ["dep:accesskit"]
gtk = [
"dep:gtk4",
"dep:pangocairo",
"dep:fontconfig-sys",
"dep:arboard",
"arboard/image-data",
"dep:trash",
"dep:keyring",
"dep:objc2",
"dep:objc2-app-kit",
"dep:core-text",
"dep:core-foundation",
]
layout = ["dep:taffy"]
macos = [
"dep:objc2",
"dep:objc2-app-kit",
"dep:objc2-foundation",
"dep:core-graphics",
"dep:core-text",
"dep:core-foundation",
"dep:foreign-types",
"dep:arboard",
"arboard/image-data",
"dep:dispatch2",
"dep:trash",
"dep:keyring",
]
terminal = [
"dep:portable-pty",
"dep:vt100",
]
tui = [
"dep:ratatui",
"dep:arboard",
"dep:trash",
"dep:keyring",
"dep:libc",
]
win = [
"dep:windows",
"dep:windows-numerics",
"dep:trash",
"dep:keyring",
]
[lib]
name = "quadraui"
path = "src/lib.rs"
[[example]]
name = "gtk_activity_nav"
path = "examples/gtk_activity_nav.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_activity_style"
path = "examples/gtk_activity_style.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_ai_transcript"
path = "examples/gtk_ai_transcript.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_app"
path = "examples/gtk_app.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_appshell_demo"
path = "examples/gtk_appshell_demo.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_board"
path = "examples/gtk_board.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_bottom_panel"
path = "examples/gtk_bottom_panel.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_canvas"
path = "examples/gtk_canvas.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_canvas_shapes"
path = "examples/gtk_canvas_shapes.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_caret_shape"
path = "examples/gtk_caret_shape.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_chart"
path = "examples/gtk_chart.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_chat"
path = "examples/gtk_chat.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_command_line_selection"
path = "examples/gtk_command_line_selection.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_context_menu_style"
path = "examples/gtk_context_menu_style.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_controls"
path = "examples/gtk_controls.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_data_table"
path = "examples/gtk_data_table.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_demo"
path = "examples/gtk_demo.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_dialog_table"
path = "examples/gtk_dialog_table.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_diff_view"
path = "examples/gtk_diff_view.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_editor_font"
path = "examples/gtk_editor_font.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_embedded"
path = "examples/gtk_embedded.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_file_dialog"
path = "examples/gtk_file_dialog.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_file_picker"
path = "examples/gtk_file_picker.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_float"
path = "examples/gtk_float.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_focus_ring"
path = "examples/gtk_focus_ring.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_folder_picker"
path = "examples/gtk_folder_picker.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_form_all_fields"
path = "examples/gtk_form_all_fields.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_form_groups"
path = "examples/gtk_form_groups.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_form_scroll"
path = "examples/gtk_form_scroll.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_frame_demo"
path = "examples/gtk_frame_demo.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_full_chrome_demo"
path = "examples/gtk_full_chrome_demo.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_help_layer"
path = "examples/gtk_help_layer.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_hit_map_recover"
path = "examples/gtk_hit_map_recover.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_hscroll"
path = "examples/gtk_hscroll.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_image"
path = "examples/gtk_image.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_indicators"
path = "examples/gtk_indicators.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_markdown"
path = "examples/gtk_markdown.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_menu_bar"
path = "examples/gtk_menu_bar.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_message_dialog"
path = "examples/gtk_message_dialog.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_message_dialog_app"
path = "examples/gtk_message_dialog_app.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_minimap"
path = "examples/gtk_minimap.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_modal_occlusion"
path = "examples/gtk_modal_occlusion.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_multi_tree"
path = "examples/gtk_multi_tree.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_panel"
path = "examples/gtk_panel.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_pipeline"
path = "examples/gtk_pipeline.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_platform_services"
path = "examples/gtk_platform_services.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_scroll_view"
path = "examples/gtk_scroll_view.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_search_panel"
path = "examples/gtk_search_panel.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_shell"
path = "examples/gtk_shell.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_shell_menu"
path = "examples/gtk_shell_menu.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_sidebar_panel"
path = "examples/gtk_sidebar_panel.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_sidebar_panel_body"
path = "examples/gtk_sidebar_panel_body.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_sidebar_reveal"
path = "examples/gtk_sidebar_reveal.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_sidebar_search"
path = "examples/gtk_sidebar_search.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_split"
path = "examples/gtk_split.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_split_tree"
path = "examples/gtk_split_tree.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_status_bar_priority_demo"
path = "examples/gtk_status_bar_priority_demo.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_submenu"
path = "examples/gtk_submenu.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_tab_chrome"
path = "examples/gtk_tab_chrome.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_tab_icons"
path = "examples/gtk_tab_icons.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_tabgroup"
path = "examples/gtk_tabgroup.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_terminal"
path = "examples/gtk_terminal.rs"
required-features = [
"gtk",
"terminal",
]
[[example]]
name = "gtk_text_display_wrap"
path = "examples/gtk_text_display_wrap.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_text_input"
path = "examples/gtk_text_input.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_toast"
path = "examples/gtk_toast.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_toast_actions"
path = "examples/gtk_toast_actions.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_toolbar"
path = "examples/gtk_toolbar.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_tooltip"
path = "examples/gtk_tooltip.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_window_control"
path = "examples/gtk_window_control.rs"
required-features = ["gtk"]
[[example]]
name = "gtk_workspace"
path = "examples/gtk_workspace.rs"
required-features = ["gtk"]
[[example]]
name = "hello"
path = "examples/hello.rs"
required-features = ["tui"]
[[example]]
name = "macos_app"
path = "examples/macos_app.rs"
required-features = ["macos"]
[[example]]
name = "macos_appshell_demo"
path = "examples/macos_appshell_demo.rs"
required-features = ["macos"]
[[example]]
name = "macos_chart"
path = "examples/macos_chart.rs"
required-features = ["macos"]
[[example]]
name = "macos_context_menu_style"
path = "examples/macos_context_menu_style.rs"
required-features = ["macos"]
[[example]]
name = "macos_data_table"
path = "examples/macos_data_table.rs"
required-features = ["macos"]
[[example]]
name = "macos_demo"
path = "examples/macos_demo.rs"
required-features = ["macos"]
[[example]]
name = "macos_embedded"
path = "examples/macos_embedded.rs"
required-features = ["macos"]
[[example]]
name = "macos_form_groups"
path = "examples/macos_form_groups.rs"
required-features = ["macos"]
[[example]]
name = "macos_hscroll"
path = "examples/macos_hscroll.rs"
required-features = ["macos"]
[[example]]
name = "macos_indicators"
path = "examples/macos_indicators.rs"
required-features = ["macos"]
[[example]]
name = "macos_menu_bar"
path = "examples/macos_menu_bar.rs"
required-features = ["macos"]
[[example]]
name = "macos_multi_tree"
path = "examples/macos_multi_tree.rs"
required-features = ["macos"]
[[example]]
name = "macos_native_menu"
path = "examples/macos_native_menu.rs"
required-features = ["macos"]
[[example]]
name = "macos_panel"
path = "examples/macos_panel.rs"
required-features = ["macos"]
[[example]]
name = "macos_right_click_demo"
path = "examples/macos_right_click_demo.rs"
required-features = ["macos"]
[[example]]
name = "macos_search_panel"
path = "examples/macos_search_panel.rs"
required-features = ["macos"]
[[example]]
name = "macos_sidebar_search"
path = "examples/macos_sidebar_search.rs"
required-features = ["macos"]
[[example]]
name = "macos_split"
path = "examples/macos_split.rs"
required-features = ["macos"]
[[example]]
name = "macos_tab_icons"
path = "examples/macos_tab_icons.rs"
required-features = ["macos"]
[[example]]
name = "macos_toast"
path = "examples/macos_toast.rs"
required-features = ["macos"]
[[example]]
name = "msv_multi_tree"
path = "examples/msv_multi_tree.rs"
required-features = ["tui"]
[[example]]
name = "msv_sc_panel"
path = "examples/msv_sc_panel.rs"
required-features = ["tui"]
[[example]]
name = "tui_activity_nav"
path = "examples/tui_activity_nav.rs"
required-features = ["tui"]
[[example]]
name = "tui_activity_style"
path = "examples/tui_activity_style.rs"
required-features = ["tui"]
[[example]]
name = "tui_ai_transcript"
path = "examples/tui_ai_transcript.rs"
required-features = ["tui"]
[[example]]
name = "tui_app"
path = "examples/tui_app.rs"
required-features = ["tui"]
[[example]]
name = "tui_appshell_demo"
path = "examples/tui_appshell_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_board"
path = "examples/tui_board.rs"
required-features = ["tui"]
[[example]]
name = "tui_bottom_panel"
path = "examples/tui_bottom_panel.rs"
required-features = ["tui"]
[[example]]
name = "tui_canvas"
path = "examples/tui_canvas.rs"
required-features = ["tui"]
[[example]]
name = "tui_canvas_shapes"
path = "examples/tui_canvas_shapes.rs"
required-features = ["tui"]
[[example]]
name = "tui_caret_shape"
path = "examples/tui_caret_shape.rs"
required-features = ["tui"]
[[example]]
name = "tui_chart"
path = "examples/tui_chart.rs"
required-features = ["tui"]
[[example]]
name = "tui_chat"
path = "examples/tui_chat.rs"
required-features = ["tui"]
[[example]]
name = "tui_clipboard"
path = "examples/tui_clipboard.rs"
required-features = ["tui"]
[[example]]
name = "tui_command_line_selection"
path = "examples/tui_command_line_selection.rs"
required-features = ["tui"]
[[example]]
name = "tui_context_menu_style"
path = "examples/tui_context_menu_style.rs"
required-features = ["tui"]
[[example]]
name = "tui_controls"
path = "examples/tui_controls.rs"
required-features = ["tui"]
[[example]]
name = "tui_data_table"
path = "examples/tui_data_table.rs"
required-features = ["tui"]
[[example]]
name = "tui_demo"
path = "examples/tui_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_dialog_table"
path = "examples/tui_dialog_table.rs"
required-features = ["tui"]
[[example]]
name = "tui_diff_view"
path = "examples/tui_diff_view.rs"
required-features = ["tui"]
[[example]]
name = "tui_embedded"
path = "examples/tui_embedded.rs"
required-features = ["tui"]
[[example]]
name = "tui_file_dialog"
path = "examples/tui_file_dialog.rs"
required-features = ["tui"]
[[example]]
name = "tui_file_picker"
path = "examples/tui_file_picker.rs"
required-features = ["tui"]
[[example]]
name = "tui_find_replace"
path = "examples/tui_find_replace.rs"
required-features = ["tui"]
[[example]]
name = "tui_float"
path = "examples/tui_float.rs"
required-features = ["tui"]
[[example]]
name = "tui_focus_ring"
path = "examples/tui_focus_ring.rs"
required-features = ["tui"]
[[example]]
name = "tui_folder_picker"
path = "examples/tui_folder_picker.rs"
required-features = ["tui"]
[[example]]
name = "tui_form_all_fields"
path = "examples/tui_form_all_fields.rs"
required-features = ["tui"]
[[example]]
name = "tui_form_date_picker"
path = "examples/tui_form_date_picker.rs"
required-features = ["tui"]
[[example]]
name = "tui_form_groups"
path = "examples/tui_form_groups.rs"
required-features = ["tui"]
[[example]]
name = "tui_form_scroll"
path = "examples/tui_form_scroll.rs"
required-features = ["tui"]
[[example]]
name = "tui_frame_demo"
path = "examples/tui_frame_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_full_chrome_demo"
path = "examples/tui_full_chrome_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_help_layer"
path = "examples/tui_help_layer.rs"
required-features = ["tui"]
[[example]]
name = "tui_hit_map_recover"
path = "examples/tui_hit_map_recover.rs"
required-features = ["tui"]
[[example]]
name = "tui_hscroll"
path = "examples/tui_hscroll.rs"
required-features = ["tui"]
[[example]]
name = "tui_image"
path = "examples/tui_image.rs"
required-features = ["tui"]
[[example]]
name = "tui_indicators"
path = "examples/tui_indicators.rs"
required-features = ["tui"]
[[example]]
name = "tui_markdown"
path = "examples/tui_markdown.rs"
required-features = ["tui"]
[[example]]
name = "tui_markdown_wrap"
path = "examples/tui_markdown_wrap.rs"
required-features = ["tui"]
[[example]]
name = "tui_menu_bar"
path = "examples/tui_menu_bar.rs"
required-features = ["tui"]
[[example]]
name = "tui_message_dialog"
path = "examples/tui_message_dialog.rs"
required-features = ["tui"]
[[example]]
name = "tui_message_dialog_app"
path = "examples/tui_message_dialog_app.rs"
required-features = ["tui"]
[[example]]
name = "tui_message_list"
path = "examples/tui_message_list.rs"
required-features = ["tui"]
[[example]]
name = "tui_minimap"
path = "examples/tui_minimap.rs"
required-features = ["tui"]
[[example]]
name = "tui_modal_occlusion"
path = "examples/tui_modal_occlusion.rs"
required-features = ["tui"]
[[example]]
name = "tui_no_mouse"
path = "examples/tui_no_mouse.rs"
required-features = ["tui"]
[[example]]
name = "tui_palette_dual_mode"
path = "examples/tui_palette_dual_mode.rs"
required-features = ["tui"]
[[example]]
name = "tui_panel"
path = "examples/tui_panel.rs"
required-features = ["tui"]
[[example]]
name = "tui_pipeline"
path = "examples/tui_pipeline.rs"
required-features = ["tui"]
[[example]]
name = "tui_search_panel"
path = "examples/tui_search_panel.rs"
required-features = ["tui"]
[[example]]
name = "tui_selection"
path = "examples/tui_selection.rs"
required-features = ["tui"]
[[example]]
name = "tui_shell"
path = "examples/tui_shell.rs"
required-features = ["tui"]
[[example]]
name = "tui_shell_menu"
path = "examples/tui_shell_menu.rs"
required-features = ["tui"]
[[example]]
name = "tui_sidebar_panel"
path = "examples/tui_sidebar_panel.rs"
required-features = ["tui"]
[[example]]
name = "tui_sidebar_panel_body"
path = "examples/tui_sidebar_panel_body.rs"
required-features = ["tui"]
[[example]]
name = "tui_sidebar_reveal"
path = "examples/tui_sidebar_reveal.rs"
required-features = ["tui"]
[[example]]
name = "tui_sidebar_search"
path = "examples/tui_sidebar_search.rs"
required-features = ["tui"]
[[example]]
name = "tui_split"
path = "examples/tui_split.rs"
required-features = ["tui"]
[[example]]
name = "tui_split_tree"
path = "examples/tui_split_tree.rs"
required-features = ["tui"]
[[example]]
name = "tui_status_bar_priority_demo"
path = "examples/tui_status_bar_priority_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_submenu"
path = "examples/tui_submenu.rs"
required-features = ["tui"]
[[example]]
name = "tui_tab_chrome"
path = "examples/tui_tab_chrome.rs"
required-features = ["tui"]
[[example]]
name = "tui_tab_icons"
path = "examples/tui_tab_icons.rs"
required-features = ["tui"]
[[example]]
name = "tui_tabgroup"
path = "examples/tui_tabgroup.rs"
required-features = ["tui"]
[[example]]
name = "tui_terminal"
path = "examples/tui_terminal.rs"
required-features = [
"tui",
"terminal",
]
[[example]]
name = "tui_text_display_wrap"
path = "examples/tui_text_display_wrap.rs"
required-features = ["tui"]
[[example]]
name = "tui_text_input"
path = "examples/tui_text_input.rs"
required-features = ["tui"]
[[example]]
name = "tui_toast"
path = "examples/tui_toast.rs"
required-features = ["tui"]
[[example]]
name = "tui_toast_actions"
path = "examples/tui_toast_actions.rs"
required-features = ["tui"]
[[example]]
name = "tui_toolbar"
path = "examples/tui_toolbar.rs"
required-features = ["tui"]
[[example]]
name = "tui_tooltip"
path = "examples/tui_tooltip.rs"
required-features = ["tui"]
[[example]]
name = "tui_wide_tab_bar_demo"
path = "examples/tui_wide_tab_bar_demo.rs"
required-features = ["tui"]
[[example]]
name = "tui_window_control"
path = "examples/tui_window_control.rs"
required-features = ["tui"]
[[example]]
name = "tui_workspace"
path = "examples/tui_workspace.rs"
required-features = ["tui"]
[[example]]
name = "win_app"
path = "examples/win_app.rs"
required-features = ["win"]
[[example]]
name = "win_appshell_demo"
path = "examples/win_appshell_demo.rs"
required-features = ["win"]
[[example]]
name = "win_chart"
path = "examples/win_chart.rs"
required-features = ["win"]
[[example]]
name = "win_controls"
path = "examples/win_controls.rs"
required-features = ["win"]
[[example]]
name = "win_data_table"
path = "examples/win_data_table.rs"
required-features = ["win"]
[[example]]
name = "win_demo"
path = "examples/win_demo.rs"
required-features = ["win"]
[[example]]
name = "win_form_groups"
path = "examples/win_form_groups.rs"
required-features = ["win"]
[[example]]
name = "win_hscroll"
path = "examples/win_hscroll.rs"
required-features = ["win"]
[[example]]
name = "win_indicators"
path = "examples/win_indicators.rs"
required-features = ["win"]
[[example]]
name = "win_menu_bar"
path = "examples/win_menu_bar.rs"
required-features = ["win"]
[[example]]
name = "win_multi_tree"
path = "examples/win_multi_tree.rs"
required-features = ["win"]
[[example]]
name = "win_panel"
path = "examples/win_panel.rs"
required-features = ["win"]
[[example]]
name = "win_platform_services"
path = "examples/win_platform_services.rs"
required-features = ["win"]
[[example]]
name = "win_scroll_view"
path = "examples/win_scroll_view.rs"
required-features = ["win"]
[[example]]
name = "win_search_panel"
path = "examples/win_search_panel.rs"
required-features = ["win"]
[[example]]
name = "win_shell_menu"
path = "examples/win_shell_menu.rs"
required-features = ["win"]
[[example]]
name = "win_sidebar_search"
path = "examples/win_sidebar_search.rs"
required-features = ["win"]
[[example]]
name = "win_split"
path = "examples/win_split.rs"
required-features = ["win"]
[[example]]
name = "win_toast"
path = "examples/win_toast.rs"
required-features = ["win"]
[dependencies.accesskit]
version = "0.25"
optional = true
[dependencies.arboard]
version = "3"
optional = true
default-features = false
[dependencies.fontconfig-sys]
version = "6.0"
optional = true
package = "yeslogic-fontconfig-sys"
[dependencies.gtk4]
version = "0.11"
features = ["v4_10"]
optional = true
[dependencies.keyring]
version = "4"
optional = true
[dependencies.pangocairo]
version = "0.22"
optional = true
[dependencies.portable-pty]
version = "0.9"
optional = true
[dependencies.ratatui]
version = "0.30"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.taffy]
version = "0.14.0"
features = [
"taffy_tree",
"flexbox",
"grid",
"std",
"content_size",
]
optional = true
default-features = false
[dependencies.trash]
version = "5"
optional = true
[dependencies.unicode-width]
version = "0.2"
[dependencies.vt100]
version = "0.16"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
default-features = false
[dev-dependencies.crossterm]
version = "0.29"
[dev-dependencies.proc-macro2]
version = "1"
features = ["span-locations"]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.quote]
version = "1"
[dev-dependencies.syn]
version = "2"
features = [
"full",
"visit",
"extra-traits",
]
[dev-dependencies.tempfile]
version = "3"
[build-dependencies.pkg-config]
version = "0.3"
[target.'cfg(target_os = "macos")'.dependencies.core-foundation]
version = "0.9"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.core-graphics]
version = "0.23"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.core-text]
version = "20.1"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.dispatch2]
version = "0.3"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.foreign-types]
version = "0.5"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-app-kit]
version = "0.3"
features = [
"NSApplication",
"NSWindow",
"NSView",
"NSResponder",
"NSRunningApplication",
"NSGraphicsContext",
"NSGraphics",
"NSColor",
"NSEvent",
"NSAlert",
"NSButton",
"NSControl",
"NSCursor",
"NSCell",
"NSMenu",
"NSMenuItem",
"NSOpenPanel",
"NSPanel",
"NSSavePanel",
"NSDragging",
"NSPasteboard",
"NSPasteboardItem",
"NSAppearance",
"NSWorkspace",
"objc2-core-foundation",
"NSColorSpace",
"NSStatusBar",
"NSStatusItem",
"NSStatusBarButton",
"NSImage",
"NSScreen",
]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-foundation]
version = "0.3"
features = [
"NSArray",
"NSData",
"NSDate",
"NSGeometry",
"NSNotification",
"NSObject",
"NSObjCRuntime",
"NSProcessInfo",
"NSRunLoop",
"NSString",
"NSThread",
"NSTimer",
"NSURL",
]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Win32_Foundation",
"Win32_Graphics_Direct2D",
"Win32_Graphics_Direct2D_Common",
"Win32_Graphics_DirectWrite",
"Win32_Graphics_Dxgi_Common",
"Win32_Graphics_Gdi",
"Win32_Graphics_Imaging",
"Win32_System_LibraryLoader",
"Win32_UI_HiDpi",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_WindowsAndMessaging",
"Win32_System_Com",
"Win32_System_DataExchange",
"Win32_System_Memory",
"Win32_System_Ole",
"Win32_UI_Shell",
"Win32_UI_Shell_Common",
"Win32_UI_Controls",
"Win32_System_Threading",
"Win32_Security",
"Win32_System_Diagnostics",
"Win32_System_Diagnostics_Debug",
"UI_ViewManagement",
]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows-numerics]
version = "0.3"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true