UNPKG

fs-grep

Version:

Contents of the file grep

47 lines (34 loc) 1.21 kB
'use strict'; 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); } });