spectre.console
command-line-api
Our great sponsors
spectre.console | command-line-api | |
---|---|---|
24 | 22 | |
8,562 | 3,304 | |
3.8% | 1.5% | |
8.5 | 7.8 | |
3 days ago | 7 days ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
spectre.console
-
Harlequin: SQL IDE for Your Terminal
I like this one for .NET https://github.com/spectreconsole/spectre.console which I found in this list https://github.com/shadawck/awesome-cli-frameworks.
-
Gentle introduction for generics (C#)
The following code sample (a console project) uses Spectre.Console NuGet package to provide easy methods for gathering user input like first and last name of type string or perhaps birth date for a DateOnly property.
-
Dotnet.World.News(Wednesday, September, 20, 2023)
🔴 [spectre.console] A .NET library that makes it easier to create beautiful, cross platform, console applications.
-
spectre.console VS FluentConsole.Net - a user suggested alternative
2 projects | 3 Jun 2023
- How do you write something without having to use Console.SetCursorPosition or clearing the entire screen?
-
What your hidden nuget gems ?
https://github.com/spectreconsole/spectre.console for doing pretty Cli applications
-
What are you working on? (2023-02)
A friend and me have been working on an opinionated wrapper around the popular Spectre.Console. We call it SpectreCoff (Spectre.Console for F#).
-
SQL-Server: Computed columns with Ef Core
Spectre.Console for enhanced console writting.
-
EF Power Tools tutorial
Add the NuGet package Spectre.Console to the project
-
Console applications in C#
By using open source library like Spectre.Console creating useful console applications easy. Spectre.Console also makes it easy to create dotnet tools, see documentation and check out their GitHub repository.
command-line-api
-
DotMake Command-Line VS command-line-api - a user suggested alternative
2 projects | 13 Dec 2023
System.CommandLine is a very good parser but you need a lot of boilerplate code to get going and the API is hard to discover.
-
How to configure true dependency injection in System.CommandLine
using System.CommandLine.Invocation; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace System.CommandLine.Builder; internal static class DependencyInjectionMiddleware { public static CommandLineBuilder UseDependencyInjection(this CommandLineBuilder builder, Action configureServices) { return UseDependencyInjection(builder, (_, services) => configureServices(services)); } // This overload allows you to conditionally register services based on the command line invocation context // in order to improve startup time when you have a lot of services to register. public static CommandLineBuilder UseDependencyInjection(this CommandLineBuilder builder, Action configureServices) { return builder.AddMiddleware(async (context, next) => { // Register our services in the modern Microsoft dependency injection container var services = new ServiceCollection(); configureServices(context, services); var uniqueServiceTypes = new HashSet(services.Select(x => x.ServiceType)); services.TryAddSingleton(context.Console); await using var serviceProvider = services.BuildServiceProvider(); // System.CommandLine's service provider is a "fake" implementation that relies on a dictionary of factories, // but we can still make sure here that "true" dependency-injected services are available from "context.BindingContext". // https://github.com/dotnet/command-line-api/blob/2.0.0-beta4.22272.1/src/System.CommandLine/Invocation/ServiceProvider.cs context.BindingContext.AddService(_ => serviceProvider); foreach (var serviceType in uniqueServiceTypes) { context.BindingContext.AddService(serviceType, _ => serviceProvider.GetRequiredService(serviceType)); // Enable support for "context.BindingContext.GetServices<>()" as in the modern dependency injection var enumerableServiceType = typeof(IEnumerable<>).MakeGenericType(serviceType); context.BindingContext.AddService(enumerableServiceType, _ => serviceProvider.GetServices(serviceType)); } await next(context); }); } }
-
C# .NET Tools with System.CommandLine
command-line-api
-
Pro .NET Console Apps
I wouldn't go so far as to call it a dead duck. The project is being actively worked on. https://github.com/dotnet/command-line-api
-
Show HN: Replbuilder, quickly build a Python REPL CLI prompt
This looks really nice.
I've been spending a lot of time with python lately because of new project work, I had never really used python before. It's been really cool to keep finding stuff like this.
The equivalent of something like in the .net world (eg https://github.com/dotnet/command-line-api) and even powershell modules (https://learn.microsoft.com/en-us/powershell/module/microsof...) have a steeper learning curve and take significantly MORE work to set up for the end-user.
-
What is the best architecture for a Console app?
https://github.com/dotnet/command-line-api is a library that facilitates making commandline executables with nice arguments and options. It's a little complicated but if you're going to pack in a lot of functionality, you need something like this.
-
Thoughts on authoring cmdlets
if you're looking into command line utilities built in c#, you might want to check out System.CommandLine. You'll be able to build your comands in c#.
-
Fellow C# coders, I was randomly making a RANDOM script just for fun, when all of a sudden, an error popped up! For some reason, my program just can't detect a method called "Main" when it's right there! (Program does not contain a static "Main" method suitable for an entry point) Thank you!
What you're trying to do can be accomplished with something like System.CommandLine.DragonFruit. This basically lets you define a strongly typed Main method overload, and it handles converting the string[] for you
- Architecture pattern for Console Apps?
-
What's your favorite command line arg parser?
System.Commandline is my current favorite.
What are some alternatives?
Gui.cs - Cross Platform Terminal UI toolkit for .NET
Cocona - Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.
Command Line Parser - The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
ILRepack - Open-source alternative to ILMerge
Console Framework - Cross-platform toolkit for easy development of TUI applications.
ILMerge - ILMerge is a static linker for .NET Assemblies.
CliFx - Class-first framework for building command-line interfaces
CommandLineUtils - Command line parsing and utilities for .NET
propeller-vt100-terminal - ANSI / VT-100 Terminal emulator for Parallax Propeller microcontroller with VGA and USB support