返回 CodeWhale
mod.rs
根目录 / crates / tui / src / commands / groups / project / mod.rs
1 //! Project command area: workspace bootstrap, LSP wiring, sharing, and goals.
2 //!
3 //! FEAT-021 Phase 6: every command registers through the portable contract
4 //! bridge (`ContextualCommand::from_contract`) with its exact capability set.
5 //! The transitional App shells are gone.
6
7 mod goal;
8 mod init;
9 mod lsp;
10 pub mod share;
11
12 use crate::commands::traits::{Command, CommandGroup, ContextualCommand};
13
14 pub struct ProjectCommands;
15
16 impl CommandGroup for ProjectCommands {
17 fn commands(&self) -> &'static [Box<dyn Command>] {
18 cached_command_list!(vec![
19 Box::new(
20 ContextualCommand::from_contract::<init::InitCmd>().expect("init registration"),
21 ),
22 Box::new(ContextualCommand::from_contract::<lsp::LspCmd>().expect("lsp registration"),),
23 Box::new(
24 ContextualCommand::from_contract::<share::ShareCmd>().expect("share registration"),
25 ),
26 Box::new(
27 ContextualCommand::from_contract::<goal::GoalCmd>().expect("goal registration"),
28 ),
29 ])
30 }
31 }
32
32 lines RUST