rust/rhg/src/main.rs
changeset 48744 3e2b4bb286e7
parent 48743 39c447e03dbc
child 48773 f19be290756a
equal deleted inserted replaced
48743:39c447e03dbc 48744:3e2b4bb286e7
    28     process_start_time: &blackbox::ProcessStartTime,
    28     process_start_time: &blackbox::ProcessStartTime,
    29     ui: &ui::Ui,
    29     ui: &ui::Ui,
    30     repo: Result<&Repo, &NoRepoInCwdError>,
    30     repo: Result<&Repo, &NoRepoInCwdError>,
    31     config: &Config,
    31     config: &Config,
    32 ) -> Result<(), CommandError> {
    32 ) -> Result<(), CommandError> {
    33     check_unsupported(config, repo, ui)?;
    33     check_unsupported(config, repo)?;
    34 
    34 
    35     let app = App::new("rhg")
    35     let app = App::new("rhg")
    36         .global_setting(AppSettings::AllowInvalidUtf8)
    36         .global_setting(AppSettings::AllowInvalidUtf8)
    37         .global_setting(AppSettings::DisableVersion)
    37         .global_setting(AppSettings::DisableVersion)
    38         .setting(AppSettings::SubcommandRequired)
    38         .setting(AppSettings::SubcommandRequired)
   677 }
   677 }
   678 
   678 
   679 fn check_unsupported(
   679 fn check_unsupported(
   680     config: &Config,
   680     config: &Config,
   681     repo: Result<&Repo, &NoRepoInCwdError>,
   681     repo: Result<&Repo, &NoRepoInCwdError>,
   682     ui: &ui::Ui,
       
   683 ) -> Result<(), CommandError> {
   682 ) -> Result<(), CommandError> {
   684     check_extensions(config)?;
   683     check_extensions(config)?;
   685 
   684 
   686     if std::env::var_os("HG_PENDING").is_some() {
   685     if std::env::var_os("HG_PENDING").is_some() {
   687         // TODO: only if the value is `== repo.working_directory`?
   686         // TODO: only if the value is `== repo.working_directory`?
   701 
   700 
   702     if config.has_non_empty_section(b"decode") {
   701     if config.has_non_empty_section(b"decode") {
   703         Err(CommandError::unsupported("[decode] config"))?
   702         Err(CommandError::unsupported("[decode] config"))?
   704     }
   703     }
   705 
   704 
   706     if let Some(color) = config.get(b"ui", b"color") {
       
   707         if (color == b"always" || color == b"debug")
       
   708             && !ui.plain(Some("color"))
       
   709         {
       
   710             Err(CommandError::unsupported("colored output"))?
       
   711         }
       
   712     }
       
   713 
       
   714     Ok(())
   705     Ok(())
   715 }
   706 }