]> source.dussan.org Git - redmine.git/commitdiff
Helper methods to find out if a given language is supported (#25503).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 6 Apr 2017 16:37:18 +0000 (16:37 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 6 Apr 2017 16:37:18 +0000 (16:37 +0000)
Patch by Jan Schulz-Hofen.

git-svn-id: http://svn.redmine.org/redmine/trunk@16501 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/syntax_highlighting.rb

index 7480ebd16cc05ab209eb2a2659be5f596ca62c3f..7f4334977d9a9aaf4074fa8e90cddc4ae52dfe9f 100644 (file)
@@ -40,6 +40,16 @@ module Redmine
       rescue
         ERB::Util.h(text)
       end
+
+      def language_supported?(language)
+        if highlighter.respond_to? :language_supported?
+          highlighter.language_supported? language
+        else
+          true
+        end
+      rescue
+        false
+      end
     end
 
     module CodeRay
@@ -58,6 +68,12 @@ module Redmine
         def highlight_by_language(text, language)
           ::CodeRay.scan(text, language).html(:wrap => :span)
         end
+
+        def language_supported?(language)
+          ::CodeRay::Scanners.list.include?(language.to_s.downcase.to_sym)
+        rescue
+          false
+        end
       end
     end
   end