1mod auto_command;
2mod cargo_workspace_command;
3mod context_server_command;
4mod default_command;
5mod delta_command;
6mod diagnostics_command;
7mod docs_command;
8mod fetch_command;
9mod file_command;
10mod now_command;
11mod project_command;
12mod prompt_command;
13mod search_command;
14mod selection_command;
15mod streaming_example_command;
16mod symbols_command;
17mod tab_command;
18mod terminal_command;
19
20use gpui::AppContext;
21use language::{CodeLabel, HighlightId};
22use ui::ActiveTheme as _;
23
24pub use crate::auto_command::*;
25pub use crate::cargo_workspace_command::*;
26pub use crate::context_server_command::*;
27pub use crate::default_command::*;
28pub use crate::delta_command::*;
29pub use crate::diagnostics_command::*;
30pub use crate::docs_command::*;
31pub use crate::fetch_command::*;
32pub use crate::file_command::*;
33pub use crate::now_command::*;
34pub use crate::project_command::*;
35pub use crate::prompt_command::*;
36pub use crate::search_command::*;
37pub use crate::selection_command::*;
38pub use crate::streaming_example_command::*;
39pub use crate::symbols_command::*;
40pub use crate::tab_command::*;
41pub use crate::terminal_command::*;
42
43pub fn create_label_for_command(
44 command_name: &str,
45 arguments: &[&str],
46 cx: &AppContext,
47) -> CodeLabel {
48 let mut label = CodeLabel::default();
49 label.push_str(command_name, None);
50 label.push_str(" ", None);
51 label.push_str(
52 &arguments.join(" "),
53 cx.theme().syntax().highlight_id("comment").map(HighlightId),
54 );
55 label.filter_range = 0..command_name.len();
56 label
57}