function addIsSpaceSensitive(ast
/*, options */
) {
  return ast.map(function (node) {
    if (!node.children) {
      return node;
    }

    if (node.children.length === 0) {
      return node.clone({
        isDanglingSpaceSensitive: isDanglingSpaceSensitiveNode$1(node)
      });
    }

    return node.clone({
      children: node.children.map(function (child) {
        return Object.assign({}, child, {
          isLeadingSpaceSensitive: isLeadingSpaceSensitiveNode$1(child),
          isTrailingSpaceSensitive: isTrailingSpaceSensitiveNode$1(child)
        });
      }).map(function (child, index, children) {
        return Object.assign({}, child, {
          isLeadingSpaceSensitive: index === 0 ? child.isLeadingSpaceSensitive : children[index - 1].isTrailingSpaceSensitive && child.isLeadingSpaceSensitive,
          isTrailingSpaceSensitive: index === children.length - 1 ? child.isTrailingSpaceSensitive : children[index + 1].isLeadingSpaceSensitive && child.isTrailingSpaceSensitive
        });
      })
    });
  });
}
- add `isLeadingSpaceSensitive` field
- add `isTrailingSpaceSensitive` field
- add `isDanglingSpaceSensitive` field for parent nodes