summaryrefslogtreecommitdiff
path: root/lib/coderay/scanners/html.rb
diff options
context:
space:
mode:
authorKornelius Kalnbach <murphy@rubychan.de>2013-03-10 22:46:27 +0100
committerKornelius Kalnbach <murphy@rubychan.de>2013-03-10 22:46:27 +0100
commit7d2c3e59d1691bcde16fc3e51d92797bfc9a2442 (patch)
tree89f349d803d5327f12d728fbd994c6503541f713 /lib/coderay/scanners/html.rb
parentec39f80865cac97a49a6fec138dedc22e5971bad (diff)
parentfc16be24d48f8a729ac987149f98f19725943e0d (diff)
downloadcoderay-7d2c3e59d1691bcde16fc3e51d92797bfc9a2442.tar.gz
Merge branch 'master' into go-scanner
Diffstat (limited to 'lib/coderay/scanners/html.rb')
-rw-r--r--lib/coderay/scanners/html.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/coderay/scanners/html.rb b/lib/coderay/scanners/html.rb
index 733dd6f..3ba3b79 100644
--- a/lib/coderay/scanners/html.rb
+++ b/lib/coderay/scanners/html.rb
@@ -69,6 +69,7 @@ module Scanners
def setup
@state = :initial
@plain_string_content = nil
+ @in_tag = nil
end
def scan_java_script encoder, code
@@ -83,7 +84,8 @@ module Scanners
def scan_tokens encoder, options
state = options[:state] || @state
plain_string_content = @plain_string_content
- in_tag = in_attribute = nil
+ in_tag = @in_tag
+ in_attribute = nil
encoder.begin_group :string if state == :attribute_value_string
@@ -99,7 +101,7 @@ module Scanners
when :initial
if match = scan(/<!--(?:.*?-->|.*)/m)
encoder.text_token match, :comment
- elsif match = scan(/<!DOCTYPE(?:.*?>|.*)/m)
+ elsif match = scan(/<!(\w+)(?:.*?>|.*)|\]>/m)
encoder.text_token match, :doctype
elsif match = scan(/<\?xml(?:.*?\?>|.*)/m)
encoder.text_token match, :preprocessor
@@ -237,6 +239,7 @@ module Scanners
if options[:keep_state]
@state = state
@plain_string_content = plain_string_content
+ @in_tag = in_tag
end
encoder.end_group :string if state == :attribute_value_string