A pure C# GNU Readline-like library for .NET/.NET Core, providing enhanced console input with history and auto-completion.
ReadLine is a pure C# library that provides GNU Readline-like functionality for .NET and .NET Core applications. It enhances console input by offering features such as command history navigation, tab auto-completion, and rich editing shortcuts, serving as a drop-in replacement for the built-in `Console.ReadLine()`. This solves the problem of building interactive command-line tools with a more user-friendly and efficient input experience across different platforms.
.NET developers building command-line applications, tools, or interactive shells that require enhanced terminal input capabilities, such as those creating DevOps scripts, development utilities, or custom CLI interfaces.
Developers choose ReadLine because it brings Unix shell-like editing features to the .NET ecosystem without external dependencies, is cross-platform, and easy to integrate. Its pure C# implementation ensures compatibility and simplicity, offering a significant upgrade over basic console input methods.
A Pure C# GNU-Readline like library for .NET/.NET Core
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Targets .NET Standard 1.3, ensuring it runs on .NET Core, .NET Framework, and other .NET implementations, as highlighted in the README's cross-platform support claim.
Directly replaces `Console.ReadLine()` with enhanced functionality, allowing minimal code changes for integration, as described in the usage examples.
Includes numerous editing shortcuts like Ctrl+A for beginning of line and Ctrl+K for cutting text, mimicking Unix shell efficiency, detailed in the shortcut guide.
Via the `IAutoCompleteHandler` interface, developers can implement context-aware suggestions, as demonstrated in the git command example in the README.
The README admits in the Contributing section that better command parity is needed, indicating missing advanced features compared to the original GNU Readline.
History is persisted only for the application session and not saved to disk by default, limiting tools that require persistent command recall across runs.
Auto-completion requires developers to implement the `IAutoCompleteHandler` interface from scratch, with no built-in helpers for common cases like file path completion.