我正在使用这个Guardfile来监视.cpp和.h文件,并在发生任何变化时触发make。只要所有文件都在Guardfile所在的目录中,就可以正常工作。
guard 'shell' do
watch(%r{^\w*\.(h|cpp)$}) do
`make test`
end
end
我想将Guardfile放在项目树的根目录中,并监视每个子目录中的.h和.cpp文件。是否可以通过更改正则表达式来实现,或者我是否必须在每个子目录中都有一个Guardfile?
(不确定为什么格式化没有正确完成)
答案 0 :(得分:3)
您必须安装以下两个宝石:
guard
guard-shell
在要查看文件的目录中创建 Guardfile
guard 'shell' do
watch(%r{^.+\.(h|hpp|cpp)$}) do
`make test`
end
end
重要的是,实际的shell命令(此处: make test )必须包含在``
中然后运行:> guard
答案 1 :(得分:2)
你应该能够通过正则表达式来解决这个问题。试试这个:
guard 'shell' do
watch(%r{^.+\.(h|cpp)$}) do
make test
end
end
这应匹配应用根目录下的任何目录中的文件扩展名.cpp或.h。如果您想专注于子目录,请尝试^dir/sub/.+\.(h|cpp)$