如何将一个实现bash类似的选项卡完成?
-
20-09-2019 - |
题
我试图确定如何将系统打印的字符标准输入 - “输入”,也就是说,它是如何打印,如果用户点击被认为是输入字符,用户可以删除和
我碰巧使用C,但如果溶液是依赖于语言的我会非常惊讶。
感谢您的见解! :d
其他提示
作为INY说,bash使用的readline为它的输入。源可 rel="noreferrer">,并有一个叫做完整的文件。角
要回答你的问题,我不认为他们实际上是输出到标准输入。 Readline库包含了某种缓冲的用户正在编辑行的内容,并完成打印到这一点。当用户按下回车,缓冲区的内容发送给任何程序想要读取一行,并在bash的情况下,沿传递到标准输入。 (的Readline不这样做。 - 其中使用输入行可以简单地存储该值成用于以后使用的字符串的其他程序)
它使用readline库来处理输入和readline提供历史和完成。
要实际执行完成时,需要访问键盘输入的处理。完成必须能够修改由它使用的缓冲区。之后,它只是着眼于当前的输入和检查完井什么发现。实际完成逻辑可以以多种方式工作。
下面是经由readline的实现标签完成一个C片段:
不隶属于 StackOverflow