Mercurial > public > mercurial-scm > hg
diff rust/rhg/src/commands/root.rs @ 46592:80840b651721
rhg: Group values passed to every sub-command into a struct
The set of which values this is is evidently not stable yet,
so this will make changes easier. Also it is growing, and the function
signatures are getting out hand.
Differential Revision: https://phab.mercurial-scm.org/D10003
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 15 Feb 2021 20:05:32 +0100 |
parents | d8730ff51d5a |
children | 5ce2aa7c2ad5 |
line wrap: on
line diff
--- a/rust/rhg/src/commands/root.rs Fri Feb 12 16:54:30 2021 +0100 +++ b/rust/rhg/src/commands/root.rs Mon Feb 15 20:05:32 2021 +0100 @@ -1,11 +1,7 @@ use crate::error::CommandError; -use crate::ui::Ui; -use clap::ArgMatches; use format_bytes::format_bytes; -use hg::config::Config; use hg::repo::Repo; use hg::utils::files::get_bytes_from_path; -use std::path::Path; pub const HELP_TEXT: &str = " Print the root directory of the current repository. @@ -17,14 +13,11 @@ clap::SubCommand::with_name("root").about(HELP_TEXT) } -pub fn run( - ui: &Ui, - config: &Config, - repo_path: Option<&Path>, - _args: &ArgMatches, -) -> Result<(), CommandError> { - let repo = Repo::find(config, repo_path)?; +pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> { + let repo = Repo::find(invocation.non_repo_config, invocation.repo_path)?; let bytes = get_bytes_from_path(repo.working_directory_path()); - ui.write_stdout(&format_bytes!(b"{}\n", bytes.as_slice()))?; + invocation + .ui + .write_stdout(&format_bytes!(b"{}\n", bytes.as_slice()))?; Ok(()) }