Sha256: 56d2e9e35bb2acc4669fca25a398f9a3b4b7e9cd5dc8696a79cb0cf428231cd4

Contents?: true

Size: 1.36 KB

Versions: 13

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

module Vedeu

  module Colours

    # The class represents one half (the other, can be found at
    # {Vedeu::Colours::Background}) of a terminal colour escape
    # sequence.
    #
    # @api private
    #
    class Foreground < Vedeu::Colours::Translator

      # @return [Boolean]
      def foreground?
        present?(to_s)
      end

      # @return [String]
      def to_ast
        return '' unless foreground?

        if rgb?
          ":fg_#{colour.to_s.slice(1..-1)}"

        else
          ':fg'

        end
      end

      # @return [Hash<Symbol => String>]
      def to_h
        {
          foreground: colour.to_s,
        }
      end
      alias to_hash to_h

      # @param _options [Hash] Ignored.
      # @return [String]
      def to_html(_options = {})
        return '' unless rgb?

        "color:#{colour};"
      end

      private

      # @return [String]
      def prefix
        "\e[38;"
      end

      # Returns an escape sequence for a named colour.
      #
      # @note
      #   Valid names can be found at
      #   {Vedeu::EscapeSequences::Esc#valid_codes}
      #
      # @return [String]
      def named
        Vedeu.esc.foreground_colour(colour)
      end

      # @return [Vedeu::Colours::Foregrounds]
      def repository
        Vedeu.foreground_colours
      end

    end # Foreground

  end # Colours

end # Vedeu

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
vedeu-0.8.20 lib/vedeu/colours/foreground.rb
vedeu-0.8.19 lib/vedeu/colours/foreground.rb
vedeu-0.8.18 lib/vedeu/colours/foreground.rb
vedeu-0.8.17 lib/vedeu/colours/foreground.rb
vedeu-0.8.16 lib/vedeu/colours/foreground.rb
vedeu-0.8.15 lib/vedeu/colours/foreground.rb
vedeu-0.8.14 lib/vedeu/colours/foreground.rb
vedeu-0.8.13 lib/vedeu/colours/foreground.rb
vedeu-0.8.12 lib/vedeu/colours/foreground.rb
vedeu-0.8.10 lib/vedeu/colours/foreground.rb
vedeu-0.8.9 lib/vedeu/colours/foreground.rb
vedeu-0.8.8 lib/vedeu/colours/foreground.rb
vedeu-0.8.7 lib/vedeu/colours/foreground.rb