pub mod app;
pub mod cli;
pub mod model;
pub mod process;
pub mod runtime;
pub mod signal;
pub mod tree;
pub mod ui;
#[cfg(all(feature = "debug_tui", debug_assertions))]
mod debug_tui;
use crate::runtime::run_interactive;
use anyhow::Result;
pub fn run(filter: Option<String>, regex_mode: bool, user_only: bool) -> Result<()> {
let compiled_filter = process::compile_filter(filter.clone(), regex_mode)?;
run_interactive(filter, compiled_filter, user_only)
}
#[cfg(all(feature = "debug_tui", debug_assertions))]
#[doc(hidden)]
pub fn run_debug_tui() -> Result<()> {
debug_tui::run()
}
#[cfg(test)]
mod tests {
use super::run;
#[test]
fn run_returns_error_for_invalid_regex_before_terminal_setup() {
let result = run(Some("(".to_string()), true, false);
assert!(result.is_err());
}
#[cfg(all(feature = "debug_tui", debug_assertions))]
#[test]
fn run_debug_tui_symbol_is_available_when_feature_is_enabled() {
let debug_runner: fn() -> anyhow::Result<()> = super::run_debug_tui;
let _ = debug_runner;
}
}