Sha256: f37f819c8254305af84420398f685001faea20c4835b59a044d2e28e61a98a0a

Contents?: true

Size: 1.07 KB

Versions: 9

Compression:

Stored size: 1.07 KB

Contents

# encoding: utf-8

if RUBY_VERSION < "1.9"
  STDERR.puts "Rouge will probably not run on anything less than Ruby 1.9."
end

module Rouge
  require 'rouge/version'
  require 'rouge/wrappers'
  require 'rouge/symbol'
  require 'rouge/seq'
  require 'rouge/reader'
  require 'rouge/printer'
  require 'rouge/context'
  require 'rouge/repl'
  require 'set'

  def self.print(form, out)
    Rouge::Printer.print form, out
  end

  def self.[](ns)
    Rouge::Namespace[ns]
  end

  def self.boot!
    return if @booted
    @booted = true

    builtin = Rouge[:"rouge.builtin"]

    core = Rouge[:"rouge.core"]
    core.refer builtin
    core.set_here(:"*command-line-args*", ARGV)

    user = Rouge[:user]
    user.refer builtin
    user.refer core
    user.refer Rouge[:ruby]

    boot_rg = File.read(Rouge.relative_to_lib('boot.rg'))
    Rouge::Context.new(user).readeval(boot_rg)
  end

  def self.repl(options = {})
    boot!
    Rouge::REPL.run!(options)
  end

  def self.relative_to_lib name
    File.join(File.dirname(File.absolute_path(__FILE__)), name)
  end
end

# vim: set sw=2 et cc=80:

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rouge-lang-0.0.16 lib/rouge.rb
rouge-lang-0.0.15 lib/rouge.rb
rouge-lang-0.0.14 lib/rouge.rb
rouge-lang-0.0.13 lib/rouge.rb
rouge-lang-0.0.12 lib/rouge.rb
rouge-lang-0.0.11 lib/rouge.rb
rouge-lang-0.0.10 lib/rouge.rb
rouge-lang-0.0.9 lib/rouge.rb
rouge-lang-0.0.8 lib/rouge.rb