Kysect.TerminalUserInterface
0.1.2
Prefix Reserved
See the version list below for details.
dotnet add package Kysect.TerminalUserInterface --version 0.1.2
NuGet\Install-Package Kysect.TerminalUserInterface -Version 0.1.2
<PackageReference Include="Kysect.TerminalUserInterface" Version="0.1.2" />
paket add Kysect.TerminalUserInterface --version 0.1.2
#r "nuget: Kysect.TerminalUserInterface, 0.1.2"
// Install Kysect.TerminalUserInterface as a Cake Addin #addin nuget:?package=Kysect.TerminalUserInterface&version=0.1.2 // Install Kysect.TerminalUserInterface as a Cake Tool #tool nuget:?package=Kysect.TerminalUserInterface&version=0.1.2
Terminal User Interface
Kysect.TUI - это библиотека для упрощения разработки консольных приложений с интерактивным консольным интерфейсом на основе библиотеки SpectreConsole.
How to use - Navigation
Шаг 1. Описать команды, которые пользователь может выполнять. Команды должны реализовывать интерфейс ITuiCommand:
public class FirstCommand : ITuiCommand
{
public string Name => "First command";
public void Execute()
{
AnsiConsole.WriteLine(Name);
}
}
Шаг 2. Сгруппировать команды - создать меню и пункты под меню, которые будут содержать команды. Например, если есть много команд, то их можно сгруппировать:
Root menu (menu)
Feature 1 menu (submenu)
Command 1 (command)
Command 2 (command)
Return to previous menu (navigation command)
Feature 2 menu
Command 3 (command)
Command 4 (command)
Feature 2 extra command submenu (menu)
Command 5 (command)
Return to previous menu (navigation command)
Return to previous menu (navigation command)
Exit (navigation command)
Для реализации такого меню нужно описать меню (навигационные команды добавляются автоматически):
public class Feature1Menu : ITuiMenu
{
public string Name => "First menu";
public IReadOnlyCollection<ITuiCommand> GetMenuItems()
{
return new[] { new Command1(), new Command2() };
}
}
И описать структуру меню:
builder
.WithSubMenu<Feature1Menu>()
.WithSubMenu<Feature2Menu>(b => b
.WithSubMenu<Feature2ExtraMenu>());
По итогам при запуске будет отображаться такое меню:
Такая инициализация создаст такое меню:
> Go to First menu
Go to Second menu
Exit
Взаимодействие с меню происходит по средствам перемещением курсора стрелками и выбором пробелом.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Kysect.CommonLib (>= 0.1.9)
- Kysect.CommonLib.DependencyInjection (>= 0.1.9)
- Kysect.Editorconfig (>= 1.1.4)
- Spectre.Console (>= 0.47.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.