Skip to main content

todo_tree/printer/
options.rs

1use std::path::PathBuf;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4pub enum OutputFormat {
5    Tree,
6    Flat,
7    Json,
8}
9
10#[derive(Debug, Clone)]
11pub struct PrintOptions {
12    pub format: OutputFormat,
13    pub colored: bool,
14    pub show_line_numbers: bool,
15    pub full_paths: bool,
16    pub clickable_links: bool,
17    pub base_path: Option<PathBuf>,
18    pub show_summary: bool,
19    pub group_by_tag: bool,
20}
21
22impl Default for PrintOptions {
23    fn default() -> Self {
24        Self {
25            format: OutputFormat::Tree,
26            colored: true,
27            show_line_numbers: true,
28            full_paths: false,
29            clickable_links: true,
30            base_path: None,
31            show_summary: true,
32            group_by_tag: false,
33        }
34    }
35}