Skip to main content

kitchen_shell/
lib.rs

1//! The frame the neuro-kitchen apps share. An app registers what it can do; the shell draws it
2//! the same way everywhere.
3//!
4//! - [`command`]: one list of commands ([`command::CommandSpec`] in a [`command::Registry`]) that
5//!   becomes the menus, the search, the key bindings and an agent's tools.
6//! - [`scripts`]: the Scripts workspace: Python and Rust scripts that become commands and
7//!   pipeline nodes.
8//! - [`search`]: the search over the registry (Ctrl+K).
9//! - [`frame`]: the frame ([`frame::Shell`]): title bar, workspaces, menu row, status bar with
10//!   jobs and meters, Settings, search.
11//! - [`jobs`]: what runs in the background, with progress and cancel.
12//! - [`changes`]: the Changes panel: watched project files as diffs against a baseline, an
13//!   agent's proposed change reviewed hunk by hunk.
14//! - [`container`]: the view container: a dock of views, "Add view or container", arrangements,
15//!   the buttons in a view's tab.
16//!
17//! `cargo run -p kitchen-shell --example shell-gallery` shows each piece.
18
19#![warn(missing_docs)]
20
21// GPUI's derive macros name `gpui`; through the kit, that is gpui-kit
22extern crate gpui_kit as gpui;
23
24pub mod changes;
25pub mod command;
26pub mod container;
27pub mod frame;
28pub mod jobs;
29pub mod scripts;
30pub mod search;
31
32pub use changes::{Baseline, ChangesEvent, ChangesPanel};
33pub use command::{CommandSpec, MenuItem, MenuProvider, MenuSpec, Registry, RunCommand};
34pub use container::{AddViewDialog, Arrangement, DialogEvent, ViewOption};
35pub use frame::{RemoteSpec, SettingsSection, Shell, ShellEvent, ShellSpec, StatusItems, WorkspaceSpec, frame_rounded, resize_edge};
36pub use scripts::{NodeSpec, Port, Script, ScriptMeta, ScriptsEvent, ScriptsWorkspace};
37pub use search::{Search, SearchEvent};