prettier-plugin-solidity
Version:
A Prettier Plugin for automatically formatting your Solidity code.
17 lines • 827 B
JavaScript
// https://prettier.io/docs/en/plugins.html#parsers
import { SourceUnit as SlangSourceUnit } from '@nomicfoundation/slang/ast';
import { clearOffsets } from './slang-utils/metadata.js';
import { createParser } from './slang-utils/create-parser.js';
import { SourceUnit } from './slang-nodes/SourceUnit.js';
export default function parse(text, options) {
const [parser, parseOutput] = createParser(text, options);
if (parseOutput.isValid()) {
// We update the compiler version by the inferred one.
options.compiler = parser.languageVersion;
const parsed = new SourceUnit(new SlangSourceUnit(parseOutput.tree.asNonterminalNode()), options);
clearOffsets();
return parsed;
}
throw new Error(parseOutput.errors()[0].message);
}
//# sourceMappingURL=slangSolidityParser.js.map