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:
parent
2411cf0bad
commit
eeacd205ea
1 changed files with 20 additions and 17 deletions
|
@ -244,26 +244,29 @@ END
|
|||
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
|
||||
begin
|
||||
input = @options[:input]
|
||||
output = @options[:output]
|
||||
|
||||
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)
|
||||
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}"
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue