summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes.textile6
-rw-r--r--lib/coderay/scanners/yaml.rb6
2 files changed, 8 insertions, 4 deletions
diff --git a/Changes.textile b/Changes.textile
index 35f9d3d..ad1bd59 100644
--- a/Changes.textile
+++ b/Changes.textile
@@ -183,6 +183,12 @@ h3. @Scanners::SQL@
See "#221":http://redmine.rubychan.de/issues/221.
* *FIXED*: Closes open string groups.
+h3. @Scanners::YAML@
+
+* *FIXED*: Allow spaces before colon in mappings.
+
+ See "#231":http://redmine.rubychan.de/issues/231.
+
h3. *NEW*: @Styles::Alpha@
A style that uses transparent HSLA colors as defined in CSS 3.
diff --git a/lib/coderay/scanners/yaml.rb b/lib/coderay/scanners/yaml.rb
index 3c3928f..514838d 100644
--- a/lib/coderay/scanners/yaml.rb
+++ b/lib/coderay/scanners/yaml.rb
@@ -75,20 +75,18 @@ module Scanners
when match = scan(/[,{}\[\]]/)
encoder.text_token match, :operator
next
- when state == :initial && match = scan(/[\w.() ]*\S(?=: |:$)/)
+ when state == :initial && match = scan(/[\w.() ]*\S(?= *:(?: |$))/)
encoder.text_token match, :key
key_indent = column(pos - match.size - 1)
- # encoder.text_token key_indent.inspect, :debug
state = :colon
next
- when match = scan(/(?:"[^"\n]*"|'[^'\n]*')(?=: |:$)/)
+ when match = scan(/(?:"[^"\n]*"|'[^'\n]*')(?= *:(?: |$))/)
encoder.begin_group :key
encoder.text_token match[0,1], :delimiter
encoder.text_token match[1..-2], :content
encoder.text_token match[-1,1], :delimiter
encoder.end_group :key
key_indent = column(pos - match.size - 1)
- # encoder.text_token key_indent.inspect, :debug
state = :colon
next
when match = scan(/(![\w\/]+)(:([\w:]+))?/)