homepage.js/react/resume/src/emulator/commands/cat.js

32 lines
974 B
JavaScript
Raw Normal View History

2023-03-15 07:13:14 +01:00
import { Terminal } from 'xterm';
const fs = require('../fs');
2023-03-15 07:13:14 +01:00
/**
*
* @param { string[] } argv
* @param { Terminal } terminal
*/
module.exports = (argv, terminal) => {
2023-03-15 07:13:14 +01:00
if (argv.indexOf('--help') != -1) {
2023-03-15 07:23:33 +01:00
terminal.writeln(`Usage: ${argv[0]} [files] [-n]`);
2023-03-15 15:38:46 +01:00
terminal.writeln(' -n --number show lines numbers');
terminal.writeln(' --help show this help');
terminal.writeln('Read files into stdout');
2023-03-15 07:13:14 +01:00
return;
}
const numbers = (argv.indexOf('-n') != -1) || (argv.indexOf('--number') != -1);
let files = argv.filter(x => { return !x.startsWith('-') });
files.shift();
files.forEach(file => {
const lines = fs.readFileSync(file).toString().split('\n');
2023-03-15 15:38:46 +01:00
if (numbers) {
lines.forEach((line, i) => {
terminal.write('\033[35m' + i + ' |\033[0m ');
})
} else {
2023-03-16 05:25:41 +01:00
terminal.write(lines.join('\n'));
2023-03-15 15:38:46 +01:00
}
2023-03-15 07:13:14 +01:00
})
}