UNPKG

tolkfmt-test-dev

Version:

Code formatter for the Tolk programming language

25 lines 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.format = void 0; const parser_1 = require("./parser"); const render_1 = require("./render"); const comments_1 = require("./comments"); const node_1 = require("./print/node"); const format = async (code, opts) => { const { maxWidth = 100, parser = await createAndInitTolkParser(), range, sortImports = false, } = opts ?? {}; const cst = parser.parse(code); const rootNode = cst?.rootNode; if (!rootNode) return code; const ctx = { comments: (0, comments_1.bindComments)(rootNode), range, sortImports }; const doc = (0, node_1.printNode)(rootNode, ctx); if (!doc) return code; return (0, render_1.render)(doc, maxWidth); }; exports.format = format; async function createAndInitTolkParser() { await (0, parser_1.initParser)(`${__dirname}/../wasm/tree-sitter.wasm`, `${__dirname}/../wasm/tree-sitter-tolk.wasm`); return (0, parser_1.createTolkParser)(); } //# sourceMappingURL=index.js.map