带有蜻蜓的模态命令

我正在使用Dragonfly2,我想创建一个语法,例如vim,是模态的。我希望能够使用命令启用和禁用语法。

例如,如果我说link,我有一个操作在屏幕上显示带有 2 个字母标签的可能链接列表,因此我希望语法启用仅接受 2 个字母单词的模式。特别是,在说之后link,我不希望语法接受任何正常的命令,比如另一个link.

这可能吗?


猛跑小猪
浏览 88回答 1
1回答

萧十郎

啊哈!我刚刚在别人的语法中发现了这个:class PythonEnabler(CompoundRule):    spec = "Enable Python"                  # Spoken command to enable the Python grammar.    def _process_recognition(self, node, extras):   # Callback when command is spoken.        pythonBootstrap.disable()        pythonGrammar.enable()        print "Python grammar enabled"class PythonDisabler(CompoundRule):    spec = "switch language"                  # spoken command to disable the Python grammar.    def _process_recognition(self, node, extras):   # Callback when command is spoken.        pythonGrammar.disable()        pythonBootstrap.enable()        print "Python grammar disabled"pythonBootstrap = Grammar("python bootstrap")                pythonBootstrap.add_rule(PythonEnabler())pythonBootstrap.load()pythonGrammar = Grammar("python grammar")pythonGrammar.add_rule(PythonTestRule())pythonGrammar.add_rule(PythonCommentsSyntax())pythonGrammar.add_rule(PythonControlStructures())pythonGrammar.add_rule(PythonDisabler())所以基本上,你可以简单地使用some_grammar.disable()or some_grammar.enable!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python