class Eskimo::ASCII::Highlight

Highlight a substring with ASCII arrows.

Highlight.new(pattern: /lol/) do
  "- include: lol://file.yml"
end
# => "- include: lol://file.yml"
#                ^^^

Attributes

pastel[R]
pattern[R]
style[R]

Public Class Methods

new(pattern:, style: [:red, :bold, :underline], &children) click to toggle source
Calls superclass method Eskimo::ASCII::Component::new
# File lib/eskimo/ascii/components/highlight.rb, line 15
def initialize(pattern:, style: [:red, :bold, :underline], &children)
  @pastel = Pastel.new
  @pattern = pattern
  @style = style

  super(&children)
end

Public Instance Methods

render(**) click to toggle source
Calls superclass method Eskimo::ASCII::Component#render
# File lib/eskimo/ascii/components/highlight.rb, line 23
def render(**)
  super.sub(pattern) do |substring|
    pastel.decorate(substring, *style)
  end
end