spectre.console/src/Spectre.Console/IReadOnlyCapabilities.cs
Patrik Svensson 3e2eea730b Add output abstraction and reorganize profile
* Moves ColorSystem from Profile to Capabilities
* Renames Tty to IsTerminal
* Adds IAnsiConsoleOutput to make output more flexible

Closes #343
Closes #359
Closes #369
2021-04-13 21:39:54 -04:00

57 lines
1.5 KiB
C#

using System;
namespace Spectre.Console
{
/// <summary>
/// Represents (read-only) console capabilities.
/// </summary>
public interface IReadOnlyCapabilities
{
/// <summary>
/// Gets the color system.
/// </summary>
ColorSystem ColorSystem { get; }
/// <summary>
/// Gets a value indicating whether or not
/// the console supports Ansi.
/// </summary>
bool Ansi { get; }
/// <summary>
/// Gets a value indicating whether or not
/// the console support links.
/// </summary>
bool Links { get; }
/// <summary>
/// Gets a value indicating whether or not
/// this is a legacy console (cmd.exe) on an OS
/// prior to Windows 10.
/// </summary>
/// <remarks>
/// Only relevant when running on Microsoft Windows.
/// </remarks>
bool Legacy { get; }
/// <summary>
/// Gets a value indicating whether or not
/// console output has been redirected.
/// </summary>
[Obsolete("Use Profile.Out.IsTerminal instead")]
bool IsTerminal { get; }
/// <summary>
/// Gets a value indicating whether
/// or not the console supports interaction.
/// </summary>
bool Interactive { get; }
/// <summary>
/// Gets a value indicating whether
/// or not the console supports Unicode.
/// </summary>
bool Unicode { get; }
}
}