in src/parser/cssParser.ts [363:395]
public _needsSemicolonAfter(node: nodes.Node): boolean {
switch (node.type) {
case nodes.NodeType.Keyframe:
case nodes.NodeType.ViewPort:
case nodes.NodeType.Media:
case nodes.NodeType.Ruleset:
case nodes.NodeType.Namespace:
case nodes.NodeType.If:
case nodes.NodeType.For:
case nodes.NodeType.Each:
case nodes.NodeType.While:
case nodes.NodeType.MixinDeclaration:
case nodes.NodeType.FunctionDeclaration:
case nodes.NodeType.MixinContentDeclaration:
return false;
case nodes.NodeType.ExtendsReference:
case nodes.NodeType.MixinContentReference:
case nodes.NodeType.ReturnStatement:
case nodes.NodeType.MediaQuery:
case nodes.NodeType.Debug:
case nodes.NodeType.Import:
case nodes.NodeType.AtApplyRule:
case nodes.NodeType.CustomPropertyDeclaration:
return true;
case nodes.NodeType.VariableDeclaration:
return (<nodes.VariableDeclaration>node).needsSemicolon;
case nodes.NodeType.MixinReference:
return !(<nodes.MixinReference>node).getContent();
case nodes.NodeType.Declaration:
return !(<nodes.Declaration>node).getNestedProperties();
}
return false;
}