summaryrefslogtreecommitdiff
path: root/lib/coderay/scanner.rb
diff options
context:
space:
mode:
authormurphy <murphy@rubychan.de>2011-05-21 03:37:50 +0000
committermurphy <murphy@rubychan.de>2011-05-21 03:37:50 +0000
commit32ee1838a598a9a9c196acb2a78ab7062a63aaaa (patch)
treea5dc9de04fc5a7955b81de6ff05b172f421d19ae /lib/coderay/scanner.rb
parent10cd06d76d284d613c7a59a72522d50de090fba3 (diff)
downloadcoderay-32ee1838a598a9a9c196acb2a78ab7062a63aaaa.tar.gz
new method Scanner#scan_rest (upported from 0.9.8), and Scanner::ScanError is now a StandardError
Diffstat (limited to 'lib/coderay/scanner.rb')
-rw-r--r--lib/coderay/scanner.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/coderay/scanner.rb b/lib/coderay/scanner.rb
index 8f8ca77..00dce7d 100644
--- a/lib/coderay/scanner.rb
+++ b/lib/coderay/scanner.rb
@@ -52,7 +52,7 @@ module CodeRay
plugin_host Scanners
# Raised if a Scanner fails while scanning
- ScanError = Class.new Exception
+ ScanError = Class.new StandardError
# The default options for all scanner classes.
#
@@ -282,8 +282,8 @@ surrounding code:
EOE
File.basename(caller[0]),
msg,
- tokens.size,
- tokens.last(10).map { |t| t.inspect }.join("\n"),
+ tokens.respond_to?(:size) ? tokens.size : 0,
+ tokens.respond_to?(:last) ? tokens.last(10).map { |t| t.inspect }.join("\n") : '',
line, column, pos,
matched, state, bol?, eos?,
string[pos - ambit, ambit],
@@ -291,6 +291,14 @@ surrounding code:
]
end
+ # Shorthand for scan_until(/\z/).
+ # This method also avoids a JRuby 1.9 mode bug.
+ def scan_rest
+ rest = self.rest
+ terminate
+ rest
+ end
+
end
end