debugrequirements.rs
31 lines
| 775 B
| application/rls-services+xml
|
RustLexer
Simon Sapin
|
r46535 | use crate::commands::Command; | ||
Simon Sapin
|
r46536 | use crate::error::CommandError; | ||
Simon Sapin
|
r46535 | use crate::ui::Ui; | ||
Simon Sapin
|
r46782 | use hg::repo::Repo; | ||
Simon Sapin
|
r46535 | |||
pub const HELP_TEXT: &str = " | ||||
Print the current repo requirements. | ||||
"; | ||||
pub struct DebugRequirementsCommand {} | ||||
impl DebugRequirementsCommand { | ||||
pub fn new() -> Self { | ||||
DebugRequirementsCommand {} | ||||
} | ||||
} | ||||
impl Command for DebugRequirementsCommand { | ||||
fn run(&self, ui: &Ui) -> Result<(), CommandError> { | ||||
Simon Sapin
|
r46782 | let repo = Repo::find()?; | ||
Simon Sapin
|
r46536 | let mut output = String::new(); | ||
Simon Sapin
|
r47190 | let mut requirements: Vec<_> = repo.requirements().iter().collect(); | ||
requirements.sort(); | ||||
for req in requirements { | ||||
output.push_str(req); | ||||
Simon Sapin
|
r46536 | output.push('\n'); | ||
} | ||||
ui.write_stdout(output.as_bytes())?; | ||||
Simon Sapin
|
r46535 | Ok(()) | ||
} | ||||
} | ||||