--- a/rust/rhg/src/commands/config.rs Fri Feb 12 16:54:30 2021 +0100
+++ b/rust/rhg/src/commands/config.rs Mon Feb 15 20:05:32 2021 +0100
@@ -1,13 +1,9 @@
use crate::error::CommandError;
-use crate::ui::Ui;
use clap::Arg;
-use clap::ArgMatches;
use format_bytes::format_bytes;
-use hg::config::Config;
use hg::errors::HgError;
use hg::repo::Repo;
use hg::utils::SliceExt;
-use std::path::Path;
pub const HELP_TEXT: &str = "
With one argument of the form section.name, print just the value of that config item.
@@ -25,20 +21,16 @@
.about(HELP_TEXT)
}
-pub fn run(
- ui: &Ui,
- config: &Config,
- repo_path: Option<&Path>,
- args: &ArgMatches,
-) -> Result<(), CommandError> {
- let opt_repo = Repo::find_optional(config, repo_path)?;
+pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> {
+ let opt_repo =
+ Repo::find_optional(invocation.non_repo_config, invocation.repo_path)?;
let config = if let Some(repo) = &opt_repo {
repo.config()
} else {
- config
+ invocation.non_repo_config
};
-
- let (section, name) = args
+ let (section, name) = invocation
+ .subcommand_args
.value_of("name")
.expect("missing required CLI argument")
.as_bytes()
@@ -47,6 +39,6 @@
let value = config.get(section, name).unwrap_or(b"");
- ui.write_stdout(&format_bytes!(b"{}\n", value))?;
+ invocation.ui.write_stdout(&format_bytes!(b"{}\n", value))?;
Ok(())
}