UNPKG

cspell-grammar

Version:
40 lines 1.29 kB
import { promises as fs } from 'node:fs'; import * as path from 'node:path'; import { parser as parserTypeScript } from './parsers/typescript/index.js'; const parsers = { '.ts': parserTypeScript, }; /** * Run simple parser * @param args -- command line arguments * @returns Promise */ export async function run(args) { // early out if there are not enough arguments if (args.length < 3) { console.log('usage...'); return; } const filename = args.slice(2).find((p) => !p.startsWith('-')); if (!filename) { console.log('filename missing'); return; } const ext = path.extname(filename); const parser = parsers[ext]; if (!parser) { console.log(`No parser for ${path.basename(filename)}`); return; } console.log(`File: ${path.basename(filename)} Parser: ${parser.name}`); const content = await fs.readFile(filename, 'utf8'); const result = parser.parse(content, filename); for (const pt of result.parsedTexts) { emit(pt); } } function emit(pt) { const t = pt.text.replaceAll('\t', '↦').replaceAll(/\r?\n/g, '↩︎').replaceAll('\r', '⇠'); console.log(`${pt.range[0]}-${pt.range[1]}\t${t}\t${pt.scope?.toString() || ''}`); } //# sourceMappingURL=app.js.map