Sha256: 1b42aa6ec6398361d284d2049249c443cf1637b042cad6e39dc01d6b29668805
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
require 'mustermann/visualizer/highlighter/ast' require 'mustermann/visualizer/highlighter/ad_hoc' require 'mustermann/visualizer/highlighter/dummy' require 'mustermann/visualizer/highlighter/regular' module Mustermann module Visualizer # @!visibility private module Highlighter extend self # @return [String] highlighted string # @!visibility private def highlight(pattern, renderer) highlighter_for(pattern).highlight(pattern, renderer) end # @return [#highlight] Highlighter for given pattern # @!visibility private def highlighter_for(pattern) return pattern.highlighter if pattern.respond_to? :highlighter and pattern.highlighter consts = constants.map { |name| const_get(name) } highlighter = consts.detect { |c| c.respond_to? :highlight? and c.highlight? pattern } highlighter || Dummy end # Used to generate highlighting rules on the fly. # @see {Mustermann::Shell#highlighter} # @see {Mustermann::Simple#highlighter} # @!visibility private def create(&block) Class.new(AdHoc, &block) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mustermann-visualizer-0.4.0 | lib/mustermann/visualizer/highlighter.rb |