thoth_cli/
lib.rs

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