Sha256: fade6eb3fb99ab5c93b274eb32965749ea97677f011c216029adf8c86edf5318
Contents?: true
Size: 579 Bytes
Versions: 2
Compression:
Stored size: 579 Bytes
Contents
require 'rouge' module CabbageDoc class Highlighter attr_accessor :formatter, :lexers def initialize(options = {}) self.formatter = Rouge::Formatters::HTMLLegacy.new({ css_class: 'highlight' }.merge(options)) self.lexers = {} end def format(text, type = 'txt') formatter.format(find_lexer(text, type).lex(text)) end private def find_lexer(text, type) self.lexers[type.to_sym] ||= Rouge::Lexer.guess(source: text, filename: "highlight.#{type}").new end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cabbage_doc-0.1.4 | lib/cabbage_doc/highlighter.rb |
cabbage_doc-0.1.3 | lib/cabbage_doc/highlighter.rb |