#text-input #infinite #thread #user-input #input-output #command #loops

app holup

这实际上只是一个无限循环。如果你感兴趣,请查看readme文件 :D

2个不稳定版本

0.2.0 2024年1月11日
0.1.1 2023年12月6日

#4 in #infinite

MIT 许可证

5MB

Holup

...这就是这个程序所做的全部。

是的,它实际上只是通过无限休眠来“挂起”线程。

如果你真的在寻找这个,我会非常惊讶,但让我详细解释一下为什么我最初决定创建这个。

你有没有执行过某个命令,然后立即开始输入下一个命令,而没有意识到第一个命令还没有完成?

next-command

如果你执行了一个需要stdin的命令,但你没有将其管道输入到命令中,你也会进入这种(我称之为)"stdin状态"。

cat

在这种状态下,你可以正常地输入内容。即使是像ctrl+w删除单词和ctrl+u删除到行首这样的操作都可行,这使得在那里输入实际上变得有些合理。

据我所知,其他shell emacs-like快捷键(如按单词移动)可能也可以工作,但我是vim用户,所以我不太清楚。

这似乎是一种很酷的状态,它结合了查看你输入的文本和合理地输入文本的能力。

如果我们移除shell提示符会怎样?

just-text

啊哈!这更具体地表明,这是一个结合了输入输出的状态。我想知道我们如何使它变得有用。

fullscreen

等等...如果我们创建一个热键来启动任何实际上什么也不做的程序并挂起线程,我们现在就有了一个方便的方法来输入文本并看到它出现在我们的屏幕上。

nvim

这就是“无限循环程序”存在的原因。

假设你屏幕上有一些你需要保留的信息,但你知道出于某种原因这些信息很快就会消失。

也许你在其中一个标签页上有信息,但想在另一个标签页/窗口/虚拟桌面上交叉引用这些信息。对于这种类型的任务,尤其是如果这些信息只是零散的信息,而且可能位于不同的位置,分割标签页/窗口通常会是一种过度反应!

如果你想看到这个“功能”的实际应用,我在我做的这个流的下半部分广泛地使用了它: https://youtube.com/live/PY7KAG3Qdb4

我一直在省略的一个有用功能:你可以通过参数指定初始文本。每个参数之间都通过空格连接。

使用这些参数,你可以让stdin会话以一些文本开始。请注意,你不能像自己输入那样删除它。

安装

cargo install holup

cargo-binstallcargo-quickinstall 也受支持。是的,我也觉得这很有趣。

卸载

cargo uninstall holup

无运行时依赖