CommandLineUtils
Power Args
CommandLineUtils | Power Args | |
---|---|---|
9 | 1 | |
2,171 | 561 | |
- | - | |
5.3 | 4.5 | |
about 1 month ago | 8 months ago | |
C# | HTML | |
Apache License 2.0 | 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.
CommandLineUtils
-
Enforcing command line arguments with CommandLineUtils?
The library doesn't support that format, here you can see that MultipleValues means for example "-o value1 -o value2" Options Support options with multiple values · Issue #311 · natemcmaster/CommandLineUtils · GitHub
-
How do I run a single .class file in C#?
You could roll your own with some command-line argument processing. You could write that yourself and use reflection, or for an example from a library I've used, example.
- Best way to build a console app with command line parser and dependency injection?
- Parsing the command line in the .NET 6 new console format?
- What's your favorite command line arg parser?
-
Writing tests for CLI tool
I want to test how my tools generated files and folders in the destination with different arguments passed to the program. However, in my old code, I put all the logic of working with arguments in the static int main( string[] args) function. I could not use Interface and Dependency injection to mock the CLI tools because CommandLineUtils does not have an interface library. Luckily, I found this guidance from the owner of CommandLineUtils, and he advised that "Split the command-line argument parser and application execution into separate class structures" to test various options programmatically. It is a great suggestion, and I rewrote my program by adding class CommandLineOptions and adding logic to class Generator to make it works with CommandLineOptions. I can kill two birds with one stone by this change: code refactoring and writing better tests. Another problem I had was my folder structure. Before, I put the project's sln file, .git file , and src files in the root of the folder. However, when I added a new test project for Shinny-SSG, I had it outside my git folder, and it would be impossible to commit the change and put it in my remote repository. To resolve this, I had to change my folder structure to this:
- Help with quite weird idea
- C# equivalent to Pythons cmd module?
-
Automatic .NET Versioning Tool
Thanks to https://github.com/natemcmaster/CommandLineUtils for supplying a lot of the command structures. If you're interested in creating your own dotnet tool, this is highly recommended.
Power Args
-
Command line parser with mutual exclusion capability?
PowerArgs has some attributes that specify what arguments can't be combined with other arguments or when arguments are required based on the presence of other arguments. You can even use boolean expressions in specifying those condition.
What are some alternatives?
Command Line Parser - The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
spectre.console - A .NET library that makes it easier to create beautiful console applications.
Gui.cs - Cross Platform Terminal UI toolkit for .NET
Appccelerate - Command Line Parser - A simple command line parser with fluent definition API.
Fluent Command Line Parser - A simple, strongly typed .NET C# command line parser library using a fluent easy to use interface
JustCli - Just a quick way to create your own command line tool
Console Framework - Cross-platform toolkit for easy development of TUI applications.
Colorful.Console - Style your .NET console output!
EntryPoint - Composable CLI Argument Parser for all modern .Net platforms.