c# – 是否存在类似于GNU readline的.Net库?

前端之家收集整理的这篇文章主要介绍了c# – 是否存在类似于GNU readline的.Net库?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在考虑在C#中编写一个控制台应用程序,我希望将历史,完成和命令行编辑功能纳入GNU readline(但不一定非常广泛!)

是否有.net的现有库提供此类功能?我想一个选择是使用互操作服务来调用GNU readline.但是有原生选择吗?

解决方法

您可能想要查看Miguel de Icaza的 getline.cs(博客文章中的链接已损坏,现在可以找到代码 here).根据您实际需要的readline的功能,它可能足以满足您的需要.

好的是,它全部包含在一个(因此getline.cs)文件和许可的MIT X11中.

使用它非常简单.

如果你想尝试,只需下载文件并编译它:

C:\> csc.exe /d:DEMO getline.cs 
C:\> getline.exe
shell>

#ifdef DEMO部分还显示了基本的REPL:

var le = new LineEditor("whatever");
string s;

while ((s = le.Edit("my prompt> ","")) != null)
{
    // User input from command line / prompt now in "s".
}

猜你在找的C#相关文章