summaryrefslogtreecommitdiff
path: root/lib/coderay/scanners/sass.rb
diff options
context:
space:
mode:
authorKornelius Kalnbach <murphy@rubychan.de>2013-06-09 19:31:10 +0200
committerKornelius Kalnbach <murphy@rubychan.de>2013-06-09 19:31:10 +0200
commit5bea8e3041de85266c3596627224ced102f195e0 (patch)
tree1e5bfbb8fdbb9cb7f8c9031d924dad57bd74d360 /lib/coderay/scanners/sass.rb
parent8563acc7e29e3d5bf5281aedbc0b7088abe44877 (diff)
downloadcoderay-5bea8e3041de85266c3596627224ced102f195e0.tar.gz
don't nest :string recursively in :sass_inline
Diffstat (limited to 'lib/coderay/scanners/sass.rb')
-rw-r--r--lib/coderay/scanners/sass.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/coderay/scanners/sass.rb b/lib/coderay/scanners/sass.rb
index 17514c0..0eb2caa 100644
--- a/lib/coderay/scanners/sass.rb
+++ b/lib/coderay/scanners/sass.rb
@@ -139,7 +139,14 @@ module Scanners
encoder.begin_group :string
string_delimiter = match
encoder.text_token match, :delimiter
- states.push :string
+ if states.include? :sass_inline
+ content = scan_until(/(?=#{string_delimiter}|\}|\z)/)
+ encoder.text_token content, :content unless content.empty?
+ encoder.text_token string_delimiter, :delimiter if scan(/#{string_delimiter}/)
+ encoder.end_group :string
+ else
+ states.push :string
+ end
elsif match = scan(/#{SASS_FUNCTION}/o)
encoder.text_token match, :predefined