.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / cross-spawn / lib / util / readShebang.js
1 'use strict';
2
3 const fs = require('fs');
4 const shebangCommand = require('shebang-command');
5
6 function readShebang(command) {
7     // Read the first 150 bytes from the file
8     const size = 150;
9     const buffer = Buffer.alloc(size);
10
11     let fd;
12
13     try {
14         fd = fs.openSync(command, 'r');
15         fs.readSync(fd, buffer, 0, size, 0);
16         fs.closeSync(fd);
17     } catch (e) { /* Empty */ }
18
19     // Attempt to extract shebang (null is returned if not a shebang)
20     return shebangCommand(buffer.toString());
21 }
22
23 module.exports = readShebang;