Typin.Core
3.0.4
See the version list below for details.
dotnet add package Typin.Core --version 3.0.4
NuGet\Install-Package Typin.Core -Version 3.0.4
<PackageReference Include="Typin.Core" Version="3.0.4" />
paket add Typin.Core --version 3.0.4
#r "nuget: Typin.Core, 3.0.4"
// Install Typin.Core as a Cake Addin #addin nuget:?package=Typin.Core&version=3.0.4 // Install Typin.Core as a Cake Tool #tool nuget:?package=Typin.Core&version=3.0.4
See wiki for detailed instructions and documentation. See CHANGELOG.md for a complete list of changes. Visit Typin repo for examples and source code. Visit TypinExamples website for interactive examples. See also a Typin library.
Typin, pronounced as "Type in", is a simple to use, yet powerful framework for building both interactive command line applications and command line tools (Type in == Type interactively). Typin is not just a parser but a complete application framework. Its main goal is to provide an enjoyable, similar to ASP.NET Core, development experience when building command line applications.
Typin is build based on the source code of CliFx, but it wants to be a ASP.NET Core for CLI like Cocona but faster. It has many additional features compared to CliFx:
- Interactive mode with auto-completion, parameter escaping with
"
, and support for user-defined shortcuts, - Middleware pipeline,
- Custom directives that can be used as either flags (
IDirective
) or dynamic pipeline extensions (IPipelinedDirective
), - IOptionFallbackProvider for custom fallback providers instead of only environment variable fallback,
- Build-in DI support with
Microsoft.Extensions.DependencyInjection
that is used accross entire framework, - Build-in options support with
Microsoft.Extensions.Options
, - Ability to modify exception handling with one or more exception handlers,
- Ability to execute commands from other commands or services with
ICliCommandExecutor
(NOT RECOMMENDED, except for custom CLI mode classes), - DI injectable
ICliContext
with lots of useful data, - Manual property in
CommandAttribute
that can be used to provide a long, extended description of a command, - Custom help writer.
- Custom modes support and application lifetime management.
- Startup message color personalization through a callback method.
- Console IO wrapper classes (
StandardStreamReader
andStandardStreamWriter
) and IO interfaces. - Logging with
Microsoft.Extensions.Logging
. - Optional option and parameter names by automatically generated kebab case name.
- Better char parsing: support for the following escape sequences: '\0', '\a', '\b', '\f', '\n', '\r', '\t', '\v', '\\', and Unicode escape e.g. \u006A).
- Native support for parsing
Half
type in .NET 5 targeted applications. - Validation can be easily added with FluentValidation and a middleware.
- Console input/output targeted extensions through
IStandardInput
,IStandardOuput
,IStandardError
,IStandardOutputAndError
,IStandardRedirectableConsoleStream
,StandardStreamReader
,StandardStreamWriter
.
Overall, Typin is a framework that is much more flexible and rich with both features and metadata about defined commands etc.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. 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 is compatible. |
.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
- Microsoft.Extensions.DependencyInjection (>= 3.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection (>= 3.0.0)
-
net5.0
- Microsoft.Extensions.DependencyInjection (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Typin.Core:
Package | Downloads |
---|---|
Typin
Declarative framework for interactive CLI applications |
GitHub repositories
This package is not used by any popular GitHub repositories.