diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-02-02 18:14:33 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-02-02 18:25:39 +0100 |
commit | 34b8b4c52e4afa8b854e6c3d37780ce5faf74c05 (patch) | |
tree | 31079c091c83c7d02d1e9a4f7a9a34eb9db7f91e /pkgs/by-name/ri/river-mk-keymap/src/main.rs | |
parent | feat(lib): Init `baseLib` (diff) | |
download | nixos-config-34b8b4c52e4afa8b854e6c3d37780ce5faf74c05.zip |
refactor(modules/river): Migrate to `by-name`
This includes a near rewrite `river-mk-keymap` (previously, `river_init_lesser`.)
Diffstat (limited to '')
-rw-r--r-- | pkgs/by-name/ri/river-mk-keymap/src/main.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/by-name/ri/river-mk-keymap/src/main.rs b/pkgs/by-name/ri/river-mk-keymap/src/main.rs new file mode 100644 index 00000000..5cb99f74 --- /dev/null +++ b/pkgs/by-name/ri/river-mk-keymap/src/main.rs @@ -0,0 +1,34 @@ +use std::fs; + +use anyhow::Context; +use clap::Parser; + +mod cli; +pub mod key_map; + +use crate::{cli::Args, key_map::KeyMap}; + +fn main() -> Result<(), anyhow::Error> { + let args = Args::parse(); + let keymap_file = fs::read_to_string(&args.path) + .with_context(|| format!("Failed to open keymap file at: '{}'.", args.path.display()))?; + + let keymap: KeyMap = keymap_file + .parse() + .with_context(|| format!("Failed to parse keymap file at: {}", args.path.display()))?; + + // println!("{keymap}"); + // println!("Commands:"); + for mut command in keymap.to_commands() { + // println!("Executing {command:?}"); + let status = command + .status() + .with_context(|| format!("Failed to run command: '{command:?}'"))?; + + if !status.success() { + eprintln!("Command ('{command:?}') returned with non zero exit code: {status}"); + } + } + + Ok(()) +} |