问题标签 [prompt-toolkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
31 浏览

terminal - 我需要解决我的 xonsh Shell 管道问题

Xonsh shell 管道问题

从 1-2 个月前开始,我就遇到了 Xonsh 这个奇怪的可能与管道相关的问题。不知何故,当它打开其他 shell、脚本和其他东西时,它弄乱了管道套接字。这导致无法将任何输入发送到更多、更少等程序。通过 Bash 的基本终端输入:s 读取命令和东西可以工作,但没有管道。

我不完全确定如何用语言更清楚地表达问题,这就是为什么我认为我会提供一些我创建的日志历史记录。我比较了通过三种不同的路径运行相同的简单脚本:

1:我常用的 Arch Linux Xonsh 环境(脚本中的管道失败)。2:在上述环境中进行 Bash(同样的工作) 3:我的一个运行 Xonsh 的 Debian 服务器(也可以)

我还注意到,在错误的环境中,结尾 less 在它应该接收输出的程序之前打开。无论如何,这里是日志,可以这么说 - 文件处理从启动 1 行脚本通过 less 管道 jq 输出:

我会很感激任何帮助。目前这是一个严重的不便。

0 投票
0 回答
42 浏览

python - 使用 Prompt-toolkit 的自定义 Pygments Lexer 引发错误

我一直在尝试使用以下示例使用提示工具包:

但它总是会引发这个错误:

起初我认为我不应该调用我创建的自定义词法分析器类。但是如果我不初始化我的自定义类,程序什么也不做,并且 RAM 使用率立即开始上升。由于这种行为,我的电脑已经崩溃了 2 次。

这是我启动并终止程序进程后发生的情况:

系统监视器图像

0 投票
1 回答
157 浏览

python - Python prompt_toolkit 中的自定义词法分析器

虽然prompt_toolkit文档表明“也可以通过实现Lexer抽象基类来创建自定义词法分析器” (1),但它并没有真正解释如何。我找不到任何教程或真正完整的代码示例来说明它是如何工作的。有没有人有任何建议或例子?我正在寻找从特定于应用程序的 SQL 派生词创建词法分析器。

0 投票
1 回答
190 浏览

python - python-prompt-toolkit:使容器可滚动

我正在尝试使用 ScrollablePane 使容器可滚动。但我无法使用鼠标或键盘滚动

0 投票
1 回答
98 浏览

python-3.x - python propmpt-toolkit 简单输入着色

我正在尝试为将在终端中运行的某些数据库条目编写控制台应用程序。在考虑了几个 CLI 库之后,我选择了最接近我需要的 prompt-toolkit(cli 框架过于集中于命令行工具)。Prompt-toolkit 文档规模适中,但在许多情况下无法记录简单的用例并快速跳转到高级主题。

考虑以下代码:

运行时显示:

输入一些数据 >用户类型在此处输入

您可能会注意到提示是“粗体”的(几乎没有记录使用 HTML 进行着色提示,但我认为它可以正常工作)。我没有弄清楚的是用户输入部分的着色 - 换句话说,我想以某种简单的方式(某种颜色或效果使用户输入突出)为“用户类型输入”着色,而不使用一些词法分析器方法(已广泛记录)因为我输入的不是某种代码,而是一些简单的数据。

提到可以为此使用 style= 参数,但是当我尝试输入“格式字符串”时出现错误(代码如下所示):

根据https://python-prompt-toolkit.readthedocs.io/en/stable/pages/advanced_topics/styling.html#styling这应该是可接受的输入样式(据我所知)。

任何提示在哪里看?

0 投票
1 回答
30 浏览

python - prompt_toolkit 和额外的反斜杠转义

我正在开发一个 CPython 项目,该项目使用提示工具包来完成分层密码存储中几乎 POSIXy 文件夹的选项卡。

我发现如果我传入\"klas Completion(text=n, display=n + '/', start_position=-len(name))text=n那么我会得到输出:

看来 display= 正在做我想要的,但第一个参数 (text=n) 不是。也就是说,我想看cd \"kl——不是cd \\"kl

prompt_toolkit 是否在某处为文本添加了额外的引用层?第二个 \ 的这种前置似乎完全发生在其他地方 - 就像可能在提示工具包中一样。如果是这样,有没有办法关闭它?

我正在 macOS 11.5.1 上开发——但这也需要在 Windows 和 Linux 上运行。我正在使用 prompt-toolkit==3.0.20,尽管 ISTR 我在旧版本(2.xx)上遇到了类似的问题。我目前正在使用 CPython 3.9(来自自制软件),但这需要在 3.6+ 上运行。

我用谷歌搜索了很多,我查看了 REPL 中有关 prompt_toolkit.completion.Completion 的帮助,并且我研究了 prompt_toolkit 源代码和文档,但我没有找到任何看起来与这种翻倍相关的东西反斜杠。

如何让 Completion(text=n) 逐字显示我传递的内容?

谢谢!

0 投票
0 回答
66 浏览

python - 在嵌套完成 python-prompt-ttoolkit 中使用自定义分隔符

我正在使用 python-prompt-toolkit 进行自动补全,它对于单次补全工作非常好。但我需要使用嵌套补全。考虑文档中的以下示例:

虽然它确实有效,但它仅在我使用空格作为分隔符(即,在单词之间保留空格)来分隔单词时才有效,例如 。但是show version我想使用'\\' or '/'(取决于操作系统)作为分隔符,所以它会像show/ip/interface/brief(类似壳路径完成如何工作)。我知道你可以做到这一点,但我不知道怎么做?非常感谢您的帮助。

0 投票
0 回答
96 浏览

python - 从命令行运行 ipython - ModuleNotFoundError: No module named 'prompt_toolkit.formatted_text'

我正在尝试从命令行运行 iPython 并得到错误:

因此,我阅读了一些建议安装特定版本的 prompt-toolkit 和 ipython 的帖子,但我得到了以下错误:

但我仍然ModuleNotFoundError从上面得到。

有人可以帮助我吗?提前致谢!

0 投票
0 回答
26 浏览

python - 按下回车时提示工具包接受

我正在为我的 CLI 使用提示工具包。我面临的问题是当有多个选项时,如果用户按下“输入”,它会执行命令。我想要“输入”的不同行为。当用户按下“enter”时,它应该选择该选项,如果用户再次按下“enter”,那么它应该执行我添加了以下代码的命令

但它的作用类似于“tab”,意思是如果选项是“a ab abc”并且用户选择“a”并按“enter”它仍然显示三个选项,我希望它只选择“a”。请让我知道我做错了什么

0 投票
1 回答
101 浏览

python - mypy 不兼容类型列表有类型列表

我正在使用带有代码的提示工具包 python 库:

当我运行 mypy 0.931 时,我得到:

我不确定问题是否出在我的代码上,因为返回值类似于['eggs', 'bacon']which is a list[str]。mypy 的这个错误也很奇怪,因为我认为我不应该在这里使用协变。关于可能是什么问题的任何提示?