【问题标题】:context sensitive completion lists for python readlinepython readline的上下文相关完成列表
【发布时间】:2013-12-10 11:36:33
【问题描述】:

我向用户询问 cypher 字符串并使用 readline 选项卡自动完成来提供选项,但我想根据密码语句的哪位使用几个不同的选项列表。

简化的密码字符串如下所示:

(node_name:LABEL1:LABEL2 {key1: value1, key2: value2})

我想要一个标签完成列表,以及每个不同属性键的值列表字典,例如:

{key1: [option1, option2, option3], key2: [foo, bar, baz]}

有没有办法让换行符(或其他类似库)知道它在密码字符串中的位置,以便它仅在标签位置时显示标签列表中的选项,并且仅在适当的键列表中显示选项用户正在编写属性。

编辑: This 页面提供了一个使用带有 readline 的常规语法的示例。它似乎回答了我的问题,所以我将其标记为已回答。

【问题讨论】:

    标签: python readline


    【解决方案1】:

    查看 Python 标准库中的 rlcompleter 模块。我最近自己使用了这种技术。请参阅(示例):https://bitbucket.org/prologic/mio-lang/src/tip/mio/state.py#cl-30

    【讨论】:

    • 我想我可能有点太菜鸟了,无法效仿你的榜样,但还是谢谢你。
    • 我的例子(mio-lang 的完成者)直接基于 Python 的 rlcompelter 模块在 std.库。
    【解决方案2】:

    This 页面解释了使用带有 readline 的常规语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      相关资源
      最近更新 更多