Mercurial > public > mercurial-scm > hg
diff rust/rhg/src/commands/files.rs @ 45438:ed95ccc94333
rhg: pass `ui` to `Command` `run`
Allow implementation of `From<clap::ArgMatches> for Command`
Differential Revision: https://phab.mercurial-scm.org/D8954
author | Antoine Cezar <antoine.cezar@octobus.net> |
---|---|
date | Tue, 04 Aug 2020 16:11:23 +0200 |
parents | 1b3197047f5c |
children | 72b7d58d6e35 |
line wrap: on
line diff
--- a/rust/rhg/src/commands/files.rs Mon Aug 03 11:55:59 2020 +0200 +++ b/rust/rhg/src/commands/files.rs Tue Aug 04 16:11:23 2020 +0200 @@ -11,18 +11,16 @@ Returns 0 on success. "; -pub struct FilesCommand<'a> { - ui: &'a Ui, -} +pub struct FilesCommand {} -impl<'a> FilesCommand<'a> { - pub fn new(ui: &'a Ui) -> Self { - FilesCommand { ui } +impl FilesCommand { + pub fn new() -> Self { + FilesCommand {} } } -impl<'a> Command<'a> for FilesCommand<'a> { - fn run(&self) -> Result<(), CommandError> { +impl Command for FilesCommand { + fn run(&self, ui: &Ui) -> Result<(), CommandError> { let operation_builder = ListTrackedFiles::new()?; let operation = operation_builder.load().map_err(|err| { CommandErrorKind::Abort(Some( @@ -47,7 +45,7 @@ .expect("cwd was already checked within the repository"); let rooted_cwd = HgPathBuf::from(get_bytes_from_path(rooted_cwd)); - let mut stdout = self.ui.stdout_buffer(); + let mut stdout = ui.stdout_buffer(); for file in files { stdout.write_all(relativize_path(file, &rooted_cwd).as_ref())?;