fs-grep
Version:
Contents of the file grep
47 lines (34 loc) • 1.21 kB
JavaScript
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
require('colors');
var _package = require('../package');
var _package2 = _interopRequireDefault(_package);
var _ = require('../');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// 配置参数
/**
* @file fs-grep cli
* @author xiaowu
* @email fe.xiaowu@gmail.com
*/
var option = {};
// 设置命令行工具
_commander2.default.version(_package2.default.version).arguments('<pattern> [files]').option('--color', '高亮搜索词').action(function (pattern, files) {
option.pattern = pattern;
option.files = files || './**/*';
}).parse(process.argv);
if (!option.pattern) {
console.error('请使用 -h 查看帮助'.red);
process.exit(1);
}
var read = (0, _.exec)(option.pattern, option.files);
read.on('line', function (path, index, content) {
if (_commander2.default.color) {
console.log(path + ':' + index + ' => ', content.replace(new RegExp(option.pattern, 'g'), function ($0) {
return $0.red;
}));
} else {
console.log(path + ':' + index + ' => ' + content);
}
});
;