我使用tclreadline来处理我的项目中的完成,这是用C / C ++和TCL编写的。 我不得不修改一些配置来处理Readline 6.2,但我设法了。
我有3个问题:
我在TCL解释器中定义了其他命令,例如get_ports
和get_modules
。
如果我输入get_por
,它会正确执行get_ports
,但历史记录显示get_por
。
如果我输入get_por -of_objects [get_mod]
,它会正确执行get_ports -of_objects [get_modules]
,但历史记录显示get_por -of_objects [get_mod]
。因此,在将命令添加到历史记录之前,不会扩展该命令。我该如何管理?
如果我输入get_por -of [get_mod]
,我就不会在-of
中展开-of_objects
,因为我在命令中检查了-of_objects
并且它没有&#39} ;出现。如何管理INSERT-COMPLETIONS
readline模式?或者,任何类型的INSERT-ALL-COMPLETIONS
?
如果我键入get_por -of
TAB ,tclreadline会发出ScriptCompleter
错误,该错误表明get_por
不是命令。它应首先完成命令,然后完成选项,该选项在proc complete(get_ports)
中定义。