diff options
Diffstat (limited to 'pkgs/by-name/ts/tskm/src/main.rs')
-rw-r--r-- | pkgs/by-name/ts/tskm/src/main.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/by-name/ts/tskm/src/main.rs b/pkgs/by-name/ts/tskm/src/main.rs new file mode 100644 index 00000000..e6113111 --- /dev/null +++ b/pkgs/by-name/ts/tskm/src/main.rs @@ -0,0 +1,51 @@ +// nixos-config - My current NixOS configuration +// +// Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +// SPDX-License-Identifier: GPL-3.0-or-later +// +// This file is part of my nixos-config. +// +// You should have received a copy of the License along with this program. +// If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. + +use anyhow::Result; +use clap::{CommandFactory, Parser}; + +use crate::{ + cli::{CliArgs, Command}, + interface::{input, neorg, open, project}, + state::State, +}; + +pub mod browser; +pub mod cli; +pub mod interface; +pub mod rofi; +pub mod state; +pub mod task; + +fn main() -> Result<(), anyhow::Error> { + clap_complete::CompleteEnv::with_factory(CliArgs::command).complete(); + + let args = CliArgs::parse(); + + stderrlog::new() + .module(module_path!()) + .quiet(args.quiet) + .show_module_names(true) + .color(stderrlog::ColorChoice::Auto) + .verbosity(usize::from(args.verbosity)) + .init() + .expect("Let's just hope that this does not panic"); + + let mut state = State::new_rw()?; + + match args.command { + Command::Inputs { command } => input::handle(command, &mut state)?, + Command::Neorg { command } => neorg::handle(command, &mut state)?, + Command::Open { command } => open::handle(command, &mut state)?, + Command::Projects { command } => project::handle(command)?, + } + + Ok(()) +} |