summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins/redcarpet.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins/redcarpet.rb b/vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins/redcarpet.rb
new file mode 100644
index 0000000..2558e1b
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/rouge-4.5.2/lib/rouge/plugins/redcarpet.rb
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*- #
+# frozen_string_literal: true
+
+# this file is not require'd from the root. To use this plugin, run:
+#
+# require 'rouge/plugins/redcarpet'
+
+module Rouge
+ module Plugins
+ module Redcarpet
+ def block_code(code, language)
+ lexer =
+ begin
+ Lexer.find_fancy(language, code)
+ rescue Guesser::Ambiguous => e
+ e.alternatives.first
+ end
+ lexer ||= Lexers::PlainText
+
+ # XXX HACK: Redcarpet strips hard tabs out of code blocks,
+ # so we assume you're not using leading spaces that aren't tabs,
+ # and just replace them here.
+ if lexer.tag == 'make'
+ code.gsub! %r/^ /, "\t"
+ end
+
+ formatter = rouge_formatter(lexer)
+ formatter.format(lexer.lex(code))
+ end
+
+ # override this method for custom formatting behavior
+ def rouge_formatter(lexer)
+ Formatters::HTMLLegacy.new(:css_class => "highlight #{lexer.tag}")
+ end
+ end
+ end
+end