0

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

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

My Vault/cd-tests> cd \\"kl
\"kl/

看来 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) 逐字显示我传递的内容?

谢谢!

4

1 回答 1

0

原来这是因为 start_position 参数不好。它看起来像是额外的引用,但这只是因为在这种情况下它重复了第一个字符。

于 2021-09-07T17:45:51.363 回答