thoth_cli/
lib.rs

1pub mod cli;
2pub mod clipboard;
3pub mod config;
4pub mod formatter;
5pub mod markdown_renderer;
6pub mod scrollable_textarea;
7pub mod theme;
8pub mod title_popup;
9pub mod title_select_popup;
10pub mod ui;
11pub mod ui_handler;
12pub mod utils;
13
14pub use clipboard::ClipboardTrait;
15pub use clipboard::EditorClipboard;
16pub use config::{ThemeMode, ThothConfig};
17use dirs::home_dir;
18pub use formatter::{format_json, format_markdown};
19pub use markdown_renderer::MarkdownRenderer;
20pub use scrollable_textarea::ScrollableTextArea;
21use std::path::PathBuf;
22pub use theme::{ThemeColors, DARK_MODE_COLORS, LIGHT_MODE_COLORS};
23pub use title_popup::TitlePopup;
24pub use title_select_popup::TitleSelectPopup;
25pub use utils::{load_textareas, save_textareas};
26
27pub fn get_save_file_path() -> PathBuf {
28    home_dir().unwrap_or_default().join("thoth_notes.md")
29}
30pub fn get_save_backup_file_path() -> PathBuf {
31    home_dir().unwrap_or_default().join("thoth_notes_backup.md")
32}
33pub fn get_clipboard_backup_file_path() -> PathBuf {
34    home_dir().unwrap_or_default().join("thoth_clipboard.txt")
35}
36
37// The ORANGE constant is kept for backward compatibility
38pub const ORANGE: ratatui::style::Color = ratatui::style::Color::Rgb(255, 165, 0);
39pub const DAEMONIZE_ARG: &str = "__thoth_copy_daemonize";
40pub const MIN_TEXTAREA_HEIGHT: usize = 3;
41pub const BORDER_PADDING_SIZE: usize = 2;