mirror of
https://github.com/docusealco/docuseal.git
synced 2026-06-23 04:10:11 +00:00
16 lines
484 B
Ruby
16 lines
484 B
Ruby
# frozen_string_literal: true
|
|
|
|
module HighlightCode
|
|
module_function
|
|
|
|
def call(code, lexer, theme: 'base16.light')
|
|
require 'rouge/themes/base16' unless Rouge::Theme.registry[theme]
|
|
|
|
formatter = Rouge::Formatters::HTMLInline.new(theme)
|
|
lexer = Rouge::Lexers.const_get(lexer.to_sym).new
|
|
formatted_code = formatter.format(lexer.lex(code))
|
|
formatted_code = formatted_code.gsub('background-color: #181818', '') if theme == 'base16.dark'
|
|
formatted_code
|
|
end
|
|
end
|