Sha256: eb5e6051b6c4b3be9cb24c1ccfaf9e126a2f633f317f0022a46d0df7e264be29
Contents?: true
Size: 743 Bytes
Versions: 8
Compression:
Stored size: 743 Bytes
Contents
# frozen_string_literal: true require 'rouge' module Jazzy # This module helps highlight code module Highlighter SWIFT = 'swift' OBJC = 'objective_c' class Formatter < Rouge::Formatters::HTML def initialize(language) @language = language super() end def stream(tokens, &block) yield "<pre class=\"highlight #{@language}\"><code>" super yield "</code></pre>\n" end end def self.highlight_swift(source) highlight(source, SWIFT) end def self.highlight_objc(source) highlight(source, OBJC) end def self.highlight(source, language) source && Rouge.highlight(source, language, Formatter.new(language)) end end end
Version data entries
8 entries across 8 versions & 1 rubygems