经过今天的努力, ido 0.3发布了,终于基本功能我认为已经全部完成了。主要增加了:
-
search 命令,可以在indexes中搜索是否存在某个包。这个包名可以是部分字符串,ido会自动配匹。这个命令要求在indexes中有一个index.txt文件,这个文件存放着这个仓库下的所有可用的packages的名字,一个名字一行。对于以 '_' 开头的包名,ido会自动忽略。
-
createindex 命令。手工生成index.txt并不麻烦,但ido也提供了一createindex来自动生成index.txt。格式为
ido createindex directory
, 这里目录是包的仓库目录。只能是本地的目录,因此如果你的仓库放在网上,需要先在本地生成。 -
call 命令。使用install 命令很方便,同时可以添加多个包。但是有时我们需要增加一些自定义的命令行参数,使用install就不行了。这不支持自定义命令行参数。因此可以使用call命令,但是使用它需要对脚本的写法有特殊要求,比如:
option_list = ( make_option('-t', '--test', dest='test', help='Test.'), ) def call(args, options): print (args) print (options.test)
首先是定义一个option_list,它符合optparse的格式,因此make_options是直接可用的。然后是定义一个call函数,需要接收args, options两个参数。因此你就可以在命令中传入指定的参数了,如,上面的脚本保存为 call_test
: ido call call_test -t a abc
这样,args就为 ['abc']
, options.test 为 'a'. 为了让install的脚本和call的脚本格式兼容,可以考虑全部放在call()函数下。option_list可以没有。
- info 命令。因为option_list是定义在脚本中的,所以不方便查看它都有都些参数,所以可以使用info来查看, 如
ido info call_test