pub mod content;
pub mod markdown;
pub mod search;
pub mod view;
#[cfg(test)]
mod tests;
pub use content::{HelpContent, HelpSection, HelpTopic};
pub use markdown::MarkdownRenderer;
pub use search::{HelpSearchEngine, SearchResult};
pub use view::{HelpView, HelpViewState};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum HelpContext {
WorkflowList,
Viewer,
Editor,
ExecutionMonitor,
Generator,
General,
}
impl HelpContext {
pub fn topics(&self) -> Vec<&'static str> {
match self {
HelpContext::WorkflowList => vec![
"navigating_workflows",
"creating_workflows",
"keyboard_shortcuts_list",
],
HelpContext::Viewer => vec![
"viewing_workflows",
"navigation",
"keyboard_shortcuts_viewer",
],
HelpContext::Editor => vec![
"editing_workflows",
"yaml_syntax",
"validation",
"keyboard_shortcuts_editor",
],
HelpContext::ExecutionMonitor => vec![
"monitoring_execution",
"task_status",
"keyboard_shortcuts_monitor",
],
HelpContext::Generator => vec![
"generating_workflows",
"natural_language",
"keyboard_shortcuts_generator",
],
HelpContext::General => {
vec!["overview", "getting_started", "keyboard_shortcuts_global"]
}
}
}
pub fn title(&self) -> &'static str {
match self {
HelpContext::WorkflowList => "Workflow List Help",
HelpContext::Viewer => "Workflow Viewer Help",
HelpContext::Editor => "Workflow Editor Help",
HelpContext::ExecutionMonitor => "Execution Monitor Help",
HelpContext::Generator => "AI Generator Help",
HelpContext::General => "General Help",
}
}
}