This commit is contained in:
Artur Adib 2013-08-25 16:16:11 -04:00
parent a348cc1257
commit 305dff0df2
2 changed files with 29 additions and 24 deletions

View File

@ -202,30 +202,7 @@ exports.test = wrap('test', _test);
//@ Returns a string containing the given file, or a concatenated string
//@ containing the files if more than one file is given (a new line character is
//@ introduced between each file). Wildcard `*` accepted.
function _cat(options, files) {
var cat = '';
if (!files)
error('no paths given');
if (typeof files === 'string')
files = [].slice.call(arguments, 1);
// if it's array leave it as it is
files = expand(files);
files.forEach(function(file) {
if (!fs.existsSync(file))
error('no such file or directory: ' + file);
cat += fs.readFileSync(file, 'utf8') + '\n';
});
if (cat[cat.length-1] === '\n')
cat = cat.substring(0, cat.length-1);
return ShellString(cat);
}
var _cat = require('./src/cat');
exports.cat = wrap('cat', _cat);
//@

28
src/cat.js Normal file
View File

@ -0,0 +1,28 @@
var common = require('./common');
var fs = require('fs');
function _cat(options, files) {
var cat = '';
if (!files)
common.error('no paths given');
if (typeof files === 'string')
files = [].slice.call(arguments, 1);
// if it's array leave it as it is
files = common.expand(files);
files.forEach(function(file) {
if (!fs.existsSync(file))
common.error('no such file or directory: ' + file);
cat += fs.readFileSync(file, 'utf8') + '\n';
});
if (cat[cat.length-1] === '\n')
cat = cat.substring(0, cat.length-1);
return common.ShellString(cat);
}
module.exports = _cat;