function formatLines (...lines) {
  return [...indentEach(0, lines)].join('\n') + '\n';
}

function *indentEach (indent, lines) {
  for (const line of lines) {
    if (Array.isArray(line)) {
      yield * indentEach(indent + 1, line);
    } else {
      const padding = '    '.repeat(indent);
      yield * line.split('\n').map(subline => subline === '' ? '' : padding + subline);
    }
  }
}

module.exports = formatLines;
