move nixlang impls to their own directory tree

This commit is contained in:
Qyriad 2026-02-03 16:19:33 +01:00
parent a06790a2af
commit fe8d00b2c2
9 changed files with 136 additions and 75 deletions

View file

@ -56,10 +56,15 @@ pub struct AppendCmd {
pub value: Arc<str>,
}
#[derive(Debug, Clone, PartialEq, clap::Parser)]
pub struct DeltaCmd {}
#[derive(Debug, Clone, PartialEq, clap::Subcommand)]
#[command(flatten_help = true)]
pub enum Subcommand {
Append(AppendCmd),
// TODO: rename
Delta(DeltaCmd),
}
#[derive(Debug, Clone, PartialEq, clap::Parser)]
@ -70,6 +75,7 @@ pub struct Args {
#[arg(long, global(true), default_value = "auto")]
pub color: ColorChoice,
// FIXME: default to /etc/configuration.nix, or something?
#[arg(long, global(true), default_value = "./configuration.nix")]
pub file: Arc<OsStr>,

View file

@ -34,7 +34,7 @@ pub(crate) mod prelude {
use prelude::*;
pub mod args;
pub use args::{AppendCmd, Args};
pub use args::{AppendCmd, Args, DeltaCmd};
mod color;
pub use color::{_CLI_ENABLE_COLOR, SHOULD_COLOR};
pub mod line;
@ -49,6 +49,11 @@ use crate::source::SourceFile;
pub const ASCII_WHITESPACE: &[char] = &['\t', '\n', '\x0C', '\r', ' '];
#[tracing::instrument(level = "debug")]
pub fn do_delta(args: Arc<Args>, delta_args: DeltaCmd) -> Result<(), BoxDynError> {
todo!();
}
#[tracing::instrument(level = "debug")]
pub fn do_append(args: Arc<Args>, append_args: AppendCmd) -> Result<(), BoxDynError> {
let filepath = Path::new(&args.file);

View file

@ -26,10 +26,13 @@ fn main_wrapped() -> Result<(), Box<dyn StdError + Send + Sync + 'static>> {
tracing::debug!("Parsed command-line arguments: {args:?}");
use dynix::args::Subcommand::*;
match &args.subcommand {
Append(append_args) => dynix::do_append(args.clone(), append_args.clone())?,
};
{
use dynix::args::Subcommand::*;
match &args.subcommand {
Append(append_args) => dynix::do_append(args.clone(), append_args.clone())?,
Delta(delta_args) => dynix::do_delta(args.clone(), delta_args.clone())?,
};
}
Ok(())
}