Commit 210ca1105bb94b93f0f29e9755077b952b2ba445
- Date: Mon Mar 31 20:46:02 +0000 2008
- Committer: Johan Sørensen (johan@johansorensen.com)
- Author: Johan Sørensen (johan@johansorensen.com)
- Commit SHA1: 210ca1105bb94b93f0f29e9755077b952b2ba445
- Tree SHA1: 677e1d99de051283ad8c69a8f9e7d8f3e5d2ad47
Deal gracefully with a rarely-occuring syntax-highligtning error
Commit diff
| |   |
| 21 | 21 | |
| 22 | 22 | def render_highlighted(text, filename, theme = "idle") |
| 23 | 23 | syntax_name = Uv.syntax_names_for_data(filename, text).first #TODO: render a choice select box if > 1 |
| 24 | | highlighted = Uv.parse(text, "xhtml", syntax_name, false, theme) |
| 24 | begin |
| 25 | highlighted = Uv.parse(text, "xhtml", syntax_name, false, theme) |
| 26 | rescue => e |
| 27 | if e.to_s =~ /Oniguruma Error/ |
| 28 | highlighted = text |
| 29 | else |
| 30 | raise e |
| 31 | end |
| 32 | end |
| 25 | 33 | line_numbers_for(highlighted, theme) |
| 26 | 34 | end |
| 27 | 35 | |
| toggle raw diff |
--- a/app/helpers/blobs_helper.rb
+++ b/app/helpers/blobs_helper.rb
@@ -21,7 +21,15 @@ module BlobsHelper
def render_highlighted(text, filename, theme = "idle")
syntax_name = Uv.syntax_names_for_data(filename, text).first #TODO: render a choice select box if > 1
- highlighted = Uv.parse(text, "xhtml", syntax_name, false, theme)
+ begin
+ highlighted = Uv.parse(text, "xhtml", syntax_name, false, theme)
+ rescue => e
+ if e.to_s =~ /Oniguruma Error/
+ highlighted = text
+ else
+ raise e
+ end
+ end
line_numbers_for(highlighted, theme)
end
|