1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00

[Sass] Give a reasonable error message when something goes wrong loading Sass.

This commit is contained in:
Nathan Weizenbaum 2009-12-24 11:30:27 -08:00
parent 2411cf0bad
commit eeacd205ea

View file

@ -244,26 +244,29 @@ END
end end
super super
input = @options[:input]
output = @options[:output]
tree = begin
if input.is_a?(File) && !@options[:check_syntax] input = @options[:input]
::Sass::Files.tree_for(input.path, @options[:for_engine]) output = @options[:output]
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) 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
output.write(tree.render) input.close() if input.is_a?(File)
output.close() if output.is_a? File
rescue ::Sass::SyntaxError => e output.write(tree.render)
raise e if @options[:trace] output.close() if output.is_a? File
raise "Syntax error on line #{get_line e}: #{e.message}" rescue ::Sass::SyntaxError => e
raise e if @options[:trace]
raise "Syntax error on line #{get_line e}: #{e.message}"
end
end end
end end