Mercurial > hg
changeset 48340:d71b9902e2de
rhg: Colored output is not supported
Fallback if it is requested explicitly.
The default is documented as use color "whenever it seems possible".
rhg proceeds without color in that case.
Differential Revision: https://phab.mercurial-scm.org/D11762
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Tue, 09 Nov 2021 19:28:13 +0100 |
parents | a2e278b5e265 |
children | 51f26c8088b2 |
files | rust/rhg/src/main.rs tests/test-status-color.t |
diffstat | 2 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/rhg/src/main.rs Tue Nov 09 19:09:57 2021 +0100 +++ b/rust/rhg/src/main.rs Tue Nov 09 19:28:13 2021 +0100 @@ -28,7 +28,7 @@ repo: Result<&Repo, &NoRepoInCwdError>, config: &Config, ) -> Result<(), CommandError> { - check_unsupported(config)?; + check_unsupported(config, ui)?; let app = App::new("rhg") .global_setting(AppSettings::AllowInvalidUtf8) @@ -617,7 +617,10 @@ } } -fn check_unsupported(config: &Config) -> Result<(), CommandError> { +fn check_unsupported( + config: &Config, + ui: &ui::Ui, +) -> Result<(), CommandError> { check_extensions(config)?; if std::env::var_os("HG_PENDING").is_some() { @@ -634,5 +637,11 @@ Err(CommandError::unsupported("[decode] config"))? } + if let Some(color) = config.get(b"ui", b"color") { + if (color == b"always" || color == b"debug") && !ui.plain() { + Err(CommandError::unsupported("colored output"))? + } + } + Ok(()) }