class Haml::Exec::Sass

def process_result

and runs the Sass compiler appropriately.
Processes the options set by the command-line arguments,
def process_result
  if @options[:interactive]
    require 'sass'
    require 'sass/repl'
    ::Sass::Repl.new(@options).run
    return
  end
  super
  input = @options[:input]
  output = @options[:output]
  tree =
    if input.is_a?(File) && !@options[:check_syntax]
      ::Sass::Files.tree_for(input.path, @options[:for_engine])
    else
      # We don't need to do any special handling of @options[:check_syntax] here,
      # because the Sass syntax checking happens alongside evaluation
      # and evaluation doesn't actually evaluate any code anyway.
      ::Sass::Engine.new(input.read(), @options[:for_engine]).to_tree
    end
  input.close() if input.is_a?(File)
  output.write(tree.render)
  output.close() if output.is_a? File
rescue ::Sass::SyntaxError => e
  raise e if @options[:trace]
  raise "Syntax error on line #{get_line e}: #{e.message}"
end