Compare commits

...

2 Commits

Author SHA1 Message Date
b1ek a598fa9364
dynamic command name 2023-03-15 16:23:33 +10:00
b1ek 2528c0e356
add cmd list 2023-03-15 16:23:05 +10:00
3 changed files with 31 additions and 2 deletions

View File

@ -8,9 +8,10 @@ const fs = require('../fs');
*/ */
module.exports = (argv, terminal) => { module.exports = (argv, terminal) => {
if (argv.indexOf('--help') != -1) { if (argv.indexOf('--help') != -1) {
terminal.writeln('Usage: cat [file] [-n]'); terminal.writeln(`Usage: ${argv[0]} [files] [-n]`);
terminal.writeln(' -n --number: show lines numbers'); terminal.writeln(' -n --number: show lines numbers');
terminal.writeln(' --help: show this help'); terminal.writeln(' --help: show this help');
terminal.writeln('Reads file into stdout');
return; return;
} }
const numbers = (argv.indexOf('-n') != -1) || (argv.indexOf('--number') != -1); const numbers = (argv.indexOf('-n') != -1) || (argv.indexOf('--number') != -1);

View File

@ -0,0 +1,25 @@
import { Terminal } from 'xterm';
/**
*
* @param {string[]} argv
* @param {Terminal} terminal
*/
module.exports = (argv, terminal) => {
if (argv.indexOf('--help') != -1) {
terminal.writeln(`Usage: ${argv[0]} [--help]`);
terminal.writeln('Lists all available commands.');
return;
}
const cmds = Object.keys(require('../commands'));
let i = 0;
cmds.forEach(x => {
if (x == argv[0]) return;
if (i == 4) {
terminal.writeln('');
i = 0;
} else i++;
terminal.write('\033[1;32m' + x + '\033[0m ');
});
terminal.writeln('');
}

View File

@ -1,5 +1,8 @@
let cmds = { let cmds = {
'cat': require('./cat') 'cat': require('./cat'),
'cmds': require('./cmds'),
'cmdls': require('./cmds'),
'help': require('./cmds')
}; };
module.exports = cmds; module.exports = cmds;