]>
git.kianting.info Git - clo/blob - src/index.ts
9542e0ff962156c9bb06fadfe4a1234761605055
1 var fs
= require('fs');
2 var argv
: any = require('minimist')(process
.argv
.slice(2));
4 import * as parser from
"./parser.js";
9 clo: clo INPUT_FILE --output-js OUTPUT_JS_FILE
11 \ta little typesetter powered by TypeScript/Javascript.
14 INPUT_FILE\tan input .clo file
18 --output-js\tgenerated the output middle JS file
21 Report bugs to: clo@kianting.info
22 clo home page: <https://kianting.info/wiki/w/Project:Clo>
25 processArgv(argv
, helpDesc
);
28 * processing the passed `argv` (arguments)
31 function processArgv(argv
: any, helpDesc
: string){
32 let inputFile
: string[] = argv
['_'];
33 let outputJSFile
: string | true = argv
['output-js'];
35 let NoInputFile
: boolean = (inputFile
.length
== 0);
36 let NoOutputJSFile
: boolean = (outputJSFile
=== undefined || outputJSFile
== true);
37 let helpTriggered
: boolean = argv
['help'];
39 if (inputFile
.length
> 1){
40 console
.log("Sorry, the input file should be only one.");
44 if (helpTriggered
|| NoInputFile
|| NoOutputJSFile
){
45 console
.log(helpDesc
);
47 fs
.readFile(inputFile
[0], 'utf8', (err
: Error, inputText
: string) => {
50 let tree
= parser
.inputTextToTree(inputText
);
52 let output
= parser
.treeToJS(tree
);
54 fs
.writeFile(outputJSFile
, output
, (err
: Error) => {