Sha256: 6551f71afa86cc994cc86abb06fba1605c40faff9b1759ec505edb8fd0bf73f8

Contents?: true

Size: 1.92 KB

Versions: 18

Compression:

Stored size: 1.92 KB

Contents

# frozen_string_literal: true

module Vedeu

  module EscapeSequences

    # Provides border/box related escape sequences for semigraphic
    # characters.
    #
    # # 0 1 2 3 4 5 6 7 8 9 A B C D E F
    # 6                     ┘ ┐ ┌ └ ┼
    # 7   ─     ├ ┤ ┴ ┬ │
    #
    # @note
    #   Refer to UTF-8 U+2500 to U+257F for border characters. More
    #   details can be found at:
    #
    #   http://en.wikipedia.org/wiki/Box-drawing_character
    #
    #   Using the '\uXXXX' variant produces gaps in the border, whilst
    #   the '\xXX' renders 'nicely'.
    #
    module Borders

      extend self

      # @return [String]
      def border_off
        "\e(B"
      end

      # @return [String]
      def border_on
        "\e(0"
      end

      # └ # \u2514
      #
      # @return [String]
      def bottom_left
        %(\x6D)
      end

      # Produces '┘' (\u2518)
      #
      # @return [String]
      def bottom_right
        %(\x6A)
      end

      # Produces '─' (\u2500)
      #
      # @return [String]
      def horizontal
        %(\x71)
      end

      # Produces '┴' (\u2534)
      #
      # @return [String]
      def horizontal_bottom
        %(\x76)
      end

      # Produces '┬' (\u252C)
      #
      # @return [String]
      def horizontal_top
        %(\x77)
      end

      # Produces '┌' (\u250C)
      #
      # @return [String]
      def top_left
        %(\x6C)
      end

      # Produces '┐' (\u2510)
      #
      # @return [String]
      def top_right
        %(\x6B)
      end

      # Produces '│' (\u2502)
      #
      # @return [String]
      def vertical
        %(\x78)
      end

      # Produces '├' (\u251C)
      #
      # @return [String]
      def vertical_left
        %(\x74)
      end

      # Produces '┤' (\u2524)
      #
      # @return [String]
      def vertical_right
        %(\x75)
      end

    end # Borders

  end # EscapeSequences

end # Vedeu

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
vedeu-0.8.25 lib/vedeu/esc/borders.rb
vedeu-0.8.24 lib/vedeu/esc/borders.rb
vedeu-0.8.23 lib/vedeu/esc/borders.rb
vedeu-0.8.22 lib/vedeu/esc/borders.rb
vedeu-0.8.21 lib/vedeu/esc/borders.rb
vedeu-0.8.20 lib/vedeu/esc/borders.rb
vedeu-0.8.19 lib/vedeu/esc/borders.rb
vedeu-0.8.18 lib/vedeu/esc/borders.rb
vedeu-0.8.17 lib/vedeu/esc/borders.rb
vedeu-0.8.16 lib/vedeu/esc/borders.rb
vedeu-0.8.15 lib/vedeu/esc/borders.rb
vedeu-0.8.14 lib/vedeu/esc/borders.rb
vedeu-0.8.13 lib/vedeu/esc/borders.rb
vedeu-0.8.12 lib/vedeu/esc/borders.rb
vedeu-0.8.10 lib/vedeu/esc/borders.rb
vedeu-0.8.9 lib/vedeu/esc/borders.rb
vedeu-0.8.8 lib/vedeu/esc/borders.rb
vedeu-0.8.7 lib/vedeu/esc/borders.rb