reactive_graph_tooling/
bin_tooling.rs

1use crate::shared::completions::handle_completions;
2use crate::shared::info::handle_info_command;
3#[cfg(target_os = "linux")]
4use crate::shared::manpages::handle_man_pages;
5use crate::shared::markdown_help::handle_markdown_help;
6use crate::tooling::args::ToolingAndSharedArguments;
7use crate::tooling::tooling;
8use anyhow::Result;
9use clap::Parser;
10use std::alloc::System;
11
12pub mod shared;
13pub mod tooling;
14
15#[global_allocator]
16static ALLOCATOR: System = System;
17
18fn main() -> Result<()> {
19    let args = ToolingAndSharedArguments::parse();
20
21    handle_markdown_help::<ToolingAndSharedArguments>(&args.shared.markdown_help);
22
23    #[cfg(target_os = "linux")]
24    handle_man_pages::<ToolingAndSharedArguments>(&args.shared.man_pages);
25
26    handle_completions::<ToolingAndSharedArguments>(&args.shared.completions);
27
28    handle_info_command(&args.shared.info);
29
30    tooling(args.tooling)
31}