assistant_slash_commands.rs

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