From dfce7b62f7e126a0891f81abc0bda20cfb7a58b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Rosen=C3=B6gger?= <123haynes@gmail.com> Date: Wed, 20 May 2015 15:46:40 +0200 Subject: workaround for buggy lexers if something goes wrong, fall back to the plaintext lexer --- CHANGELOG | 1 + app/helpers/blob_helper.rb | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index fdb37bcc3ab..3c8b839c217 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ v 7.12.0 (unreleased) - Allow to configure location of the `.gitlab_shell_secret` file. (Jakub Jirutka) v 7.11.0 (unreleased) + - Fall back to Plaintext when Syntaxhighlighting doesn't work. Fixes some buggy lexers (Hannes Rosenögger) - Fix broken view when viewing history of a file that includes a path that used to be another file (Stan Hu) - Don't show duplicate deploy keys - Fix commit time being displayed in the wrong timezone in some cases (Hannes Rosenögger) diff --git a/app/helpers/blob_helper.rb b/app/helpers/blob_helper.rb index 885ac5f85b8..9fe5f82f02f 100644 --- a/app/helpers/blob_helper.rb +++ b/app/helpers/blob_helper.rb @@ -9,11 +9,13 @@ module BlobHelper begin lexer = Rugments::Lexer.guess(filename: blob_name, source: blob_content) - rescue Rugments::Lexer::AmbiguousGuess + result = formatter.format(lexer.lex(blob_content)).html_safe + rescue lexer = Rugments::Lexers::PlainText + result = formatter.format(lexer.lex(blob_content)).html_safe end - formatter.format(lexer.lex(blob_content)).html_safe + result end def no_highlight_files -- cgit v1.2.1