Sha256: 244b1f29d125f8423de736b3652284f15542b88ae4c375e13de1f6972eb150cb

Contents?: true

Size: 644 Bytes

Versions: 1

Compression:

Stored size: 644 Bytes

Contents

module TermNote
  module Pane
    class Code
      include Pane

      attr_accessor :source, :language

      def initialize(options)
        @source = options[:source] || options['source']
        @language = options[:language] || options['language']
      end

      def rows
        highlighted.split("\n")
      end

      private

      def highlighted
        Pygments.highlight source, formatter: 'terminal256', lexer: language
      end

      def gutter_width(row)
        width * 0.25
      end

      def space
        newlines = height > rows.size ? (height - rows.size) / 2 : 0
        "\n" * newlines
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
termnote-1.5.0 lib/termnote/pane/code.rb