mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-28 06:02:49 +08:00

* Adding social card infrastructure * Upgrades doc project to .NET 6 * Adds Playwright * Changes the console to a web project for Playwright * Adds social card template * Added blog content * Parallelized social image processing * Updating CI to use .NET 6 for docs build
69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
Title: Live Display
|
|
Order: 0
|
|
Description: "*Spectre.Console* can update arbitrary widgets in-place."
|
|
Highlights:
|
|
- Update tables or graphs with new updates.
|
|
- Create a custom progress bar that extends the existing control.
|
|
---
|
|
|
|
Spectre.Console can update arbitrary widgets in-place.
|
|
|
|
<?# AsciiCast cast="live" /?>
|
|
|
|
|
|
<?# Alert ?>
|
|
The live display is not
|
|
thread safe, and using it together with other interactive components such as
|
|
prompts, status displays or other progress displays are not supported.
|
|
<?#/ Alert ?>
|
|
|
|
```csharp
|
|
var table = new Table().Centered();
|
|
|
|
AnsiConsole.Live(table)
|
|
.Start(ctx =>
|
|
{
|
|
table.AddColumn("Foo");
|
|
ctx.Refresh();
|
|
Thread.Sleep(1000);
|
|
|
|
table.AddColumn("Bar");
|
|
ctx.Refresh();
|
|
Thread.Sleep(1000);
|
|
});
|
|
```
|
|
|
|
## Asynchronous progress
|
|
|
|
If you prefer to use async/await, you can use `StartAsync` instead of `Start`.
|
|
|
|
```csharp
|
|
var table = new Table().Centered();
|
|
|
|
await AnsiConsole.Live(table)
|
|
.StartAsync(async ctx =>
|
|
{
|
|
table.AddColumn("Foo");
|
|
ctx.Refresh();
|
|
await Task.Delay(1000);
|
|
|
|
table.AddColumn("Bar");
|
|
ctx.Refresh();
|
|
await Task.Delay(1000);
|
|
});
|
|
```
|
|
|
|
## Configure
|
|
|
|
```csharp
|
|
var table = new Table().Centered();
|
|
|
|
AnsiConsole.Live(table)
|
|
.AutoClear(false) // Do not remove when done
|
|
.Overflow(VerticalOverflow.Ellipsis) // Show ellipsis when overflowing
|
|
.Cropping(VerticalOverflowCropping.Top) // Crop overflow at top
|
|
.Start(ctx =>
|
|
{
|
|
// Omitted
|
|
});
|
|
``` |