Sha256: 1a7671d48f99a7269b70e2180625404e2f017905a1d4f0ce854ead8c5e679198

Contents?: true

Size: 851 Bytes

Versions: 1

Compression:

Stored size: 851 Bytes

Contents

require "gtksourceview3"

module Mireru
  module Widget
    class Text < GtkSource::View
      def initialize(file)
        buffer = buffer_from_file(file)
        super(buffer)
        self.show_line_numbers = true
        lang = GtkSource::LanguageManager.new.get_language("ruby")
        self.buffer.language = lang
        self.buffer.highlight_syntax = true
        self.buffer.highlight_matching_brackets = true
        self.editable = false
        override_font(Pango::FontDescription.new("Monospace"))
      end

      private
      def buffer_from_file(file)
        text = File.open(file).read
        buffer_from_text(text)
      end

      def buffer_from_text(text)
        text.encode!("utf-8") unless text.encoding == "utf-8"
        buffer = GtkSource::Buffer.new
        buffer.text = text
        buffer
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mireru-0.9.0 lib/mireru/widget/text.rb