| 1 | # -*- ruby -*- |
|---|
| 2 | |
|---|
| 3 | puts ">>> Adding lib, environments, and ext to load path..." |
|---|
| 4 | $LOAD_PATH.unshift( "lib", "environments", "ext" ) |
|---|
| 5 | |
|---|
| 6 | #puts ">>> Turning on $VERBOSE and $DEBUG..." |
|---|
| 7 | # $VERBOSE = $DEBUG = true |
|---|
| 8 | |
|---|
| 9 | require './utils' |
|---|
| 10 | include UtilityFunctions |
|---|
| 11 | |
|---|
| 12 | def colored( prompt, *args ) |
|---|
| 13 | return ansiCode( *(args.flatten) ) + prompt + ansiCode( 'reset' ) |
|---|
| 14 | end |
|---|
| 15 | |
|---|
| 16 | def add_example_objects_to_main( map ) |
|---|
| 17 | $deferr.puts "Pre-creating example objects: " |
|---|
| 18 | map.each do |name, klass| |
|---|
| 19 | $deferr.puts "\t%s: %s" % [ name, klass.name ] |
|---|
| 20 | eval( "#{name} = #{klass.name}.example", TOPLEVEL_BINDING ) |
|---|
| 21 | end |
|---|
| 22 | end |
|---|
| 23 | |
|---|
| 24 | # Modify prompt to do highlighting |
|---|
| 25 | IRB.conf[:PROMPT][:MUES] = { # name of prompt mode |
|---|
| 26 | :PROMPT_I => colored( "%N(%m):%03n:%i>", %w{bold white on_blue} ) + " ", |
|---|
| 27 | :PROMPT_S => colored( "%N(%m):%03n:%i%l", %w{white on_blue} ) + " ", |
|---|
| 28 | :PROMPT_C => colored( "%N(%m):%03n:%i*", %w{white on_blue} ) + " ", |
|---|
| 29 | :RETURN => " ==> %s\n\n" # format to return value |
|---|
| 30 | } |
|---|
| 31 | IRB.conf[:PROMPT_MODE] = :MUES |
|---|
| 32 | |
|---|
| 33 | # Try to require the 'fm' library |
|---|
| 34 | begin |
|---|
| 35 | if $DEBUG |
|---|
| 36 | puts "Turning on logging..." |
|---|
| 37 | require 'fm/logger' |
|---|
| 38 | format = colored( %q{#{time} [#{level}]: }, 'cyan' ) + |
|---|
| 39 | colored( %q{#{name} #{frame ? '('+frame+')' : ''}: #{msg[0,1024]}}, 'white' ) |
|---|
| 40 | outputter = FaerieMUD::Logger::Outputter::create( 'file', $deferr, "Default", format ) |
|---|
| 41 | FaerieMUD::Logger::global.outputters << outputter |
|---|
| 42 | FaerieMUD::Logger::global.level = :debug |
|---|
| 43 | |
|---|
| 44 | FaerieMUD::Logger::global.notice "Logging enabled." |
|---|
| 45 | end |
|---|
| 46 | |
|---|
| 47 | puts "Requiring 'fm' classes..." |
|---|
| 48 | require 'fm' |
|---|
| 49 | |
|---|
| 50 | # add_example_objects_to_main( |
|---|
| 51 | # :ent => FaerieMUD::Entity, |
|---|
| 52 | # :character => FaerieMUD::Character |
|---|
| 53 | # ) |
|---|
| 54 | |
|---|
| 55 | rescue => e |
|---|
| 56 | $stderr.puts "Ack! FaerieMUD Environment failed to load: #{e.message}\n\t" + |
|---|
| 57 | e.backtrace.join( "\n\t" ) |
|---|
| 58 | end |
|---|