prettier-plugin-solidity
Version:
A Prettier Plugin for automatically formatting your Solidity code.
24 lines (20 loc) • 727 B
text/typescript
import { doc } from 'prettier';
import type { Doc } from 'prettier';
import type { PrintSeparatedOptions } from './types.d.ts';
const { group, hardline, indent, softline } = doc.builders;
// This function will add an indentation to the `item` and separate it from the
// rest of the `doc` in most cases by a `softline`.
export function printSeparatedItem(
item: Doc,
{
firstSeparator = softline,
lastSeparator = firstSeparator,
grouped = firstSeparator !== hardline
}: PrintSeparatedOptions = {}
): doc.builders.Group | [doc.builders.Indent, Doc] {
const document: [doc.builders.Indent, Doc] = [
indent([firstSeparator, item]),
lastSeparator
];
return grouped ? group(document) : document;
}