def visit_mixin(node)
arg_to_sass = lambda do |arg|
sass = arg.to_sass(@options)
sass = "(#{sass})" if arg.is_a?(Sass::Script::Tree::ListLiteral) && arg.separator == :comma
sass
end
unless node.args.empty? && node.keywords.empty? && node.splat.nil?
args = node.args.map(&arg_to_sass)
keywords = Sass::Util.hash_to_a(node.keywords.as_stored).
map {|k, v| "$#{dasherize(k)}: #{arg_to_sass[v]}"}
if node.splat
splat = "#{arg_to_sass[node.splat]}..."
kwarg_splat = "#{arg_to_sass[node.kwarg_splat]}..." if node.kwarg_splat
end
arglist = "(#{[args, splat, keywords, kwarg_splat].flatten.compact.join(', ')})"
end
"#{tab_str}#{@format == :sass ? '+' : '@include '}" +
"#{dasherize(node.name)}#{arglist}#{node.has_children ? yield : semi}\n"
end