treat shebang outside of parsing (#137)

* treat shebang outside of parsing

* use less costly indexOf and reuse format function

* avoid reprinting new line and potential double space at start

* move options back to format function
master
Jamie Webb 2017-01-13 17:57:27 +00:00 committed by James Long
parent fb9c1e8098
commit ecb26b3432
1 changed files with 8 additions and 1 deletions

View File

@ -33,6 +33,13 @@ if (!filenames.length && !stdin) {
process.exit(1);
}
function formatWithShebang(input) {
const index = input.indexOf("\n");
const shebang = input.slice(0, index + 1);
const programInput = input.slice(index + 1);
return shebang + format(programInput);
}
function format(input) {
return jscodefmt.format(input, {
printWidth: argv["print-width"],
@ -70,7 +77,7 @@ if (stdin) {
let output;
try {
output = format(input);
output = input.startsWith("#!") ? formatWithShebang(input) : format(input);
} catch (e) {
process.exitCode = 2;
console.error(e);