GitHub地址:https://github.com/adamsanderson/qwandry
qwandry 能快速定位到我们需要找到 库文件, 项目 的工具。
Ruby中实现快速定位的方法有好多种,我知道的有三个:
1
|
cd `bundle show active_record` |
通过tag方法(tag 定位更精确,可以定位到方法级别)
或者通过 qwandry
安装
1
|
gem install qwandry |
使用
1
2
3
4
5
6
7
|
qw matrix # opens ruby's matrix class in your editor qw rails # will ask you which version of rails you want to open qw activerec 3.1 # will find the gem activerecord 3.1 and open it You can also use Qwandry with other common languages: qw -r python numpy # opens python's numpy library qw -r perl URI # open perl's URI library qw -r node express # open express if it is installed for node |
指定编辑器打开
1
|
EDITOR=subl qw activerecord 3.2.14 |
如何自定义?
touch ~/.qwandry/init.rb
然后copy如下内容到文件中
register 'projects' do add 'your project path' end default :ruby, :gem, :projects
解释
register 方法是 将指定的目录打包
add 将目录加入到搜索中
default 是设置默认的搜索范围
实现的基本原理
通过配置 config 将很多目录打包成 Package, 然后将 Package 打包成 Repository(仓库)
初始化一个Launcher(有Editor等)
根据输入的名称找到对应的Repository中的package(实际上是一个目录地址)
执行系统命令: editor(vim) path