Sha256: ac2908f1ff2490ee789a15d1d70d8b21f8d8c66d843634fdd8af0d4376d74c99

Contents?: true

Size: 1.42 KB

Versions: 7

Compression:

Stored size: 1.42 KB

Contents

# Copyright (C) 2010 Rocky Bernstein <rockyb@rubyforge.net>
require 'rubygems'; require 'require_relative'
require_relative 'base/cmd'

class Trepan::Command::AliasCommand < Trepan::Command

  unless defined?(HELP)
    NAME = File.basename(__FILE__, '.rb')
    HELP = <<-HELP
#{NAME} ALIAS COMMAND

Add an alias for a COMMAND

See also 'unalias'.
    HELP

    CATEGORY      = 'support'
    MAX_ARGS      = 2  # Need at most this many
    NAME          = File.basename(__FILE__, '.rb')
    NEED_STACK    = true
    SHORT_HELP    = 'Add an alias for a debugger command'
  end
  
  # Run command. 
  def run(args)
    if args.size == 1
      @proc.commands['show'].run(%w(show alias))
    elsif args.size == 2
      @proc.commands['show'].run(%W(show alias #{args[1]}))
    else
      junk, al, command = args
      old_command = @proc.aliases[al]
      if @proc.commands.member?(command)
        @proc.aliases[al] = command
        if old_command
          msg("Alias '#{al}' for command '#{command}' replaced old " + 
              "alias for '#{old_command}'.")
        else
          msg "New alias '#{al}' for command '#{command}' created."
        end
      else
        errmsg "You must alias to a command name, and '#{command}' isn't one."
      end
    end
  end
end

if __FILE__ == $0
  # Demo it.
  require_relative '../mock'
  dbgr, cmd = MockDebugger::setup
  cmd.run %W(#{cmd.name} yy foo)
  cmd.run [cmd.name]
  cmd.run %W(cmd.name yy next)
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rbx-trepanning-0.0.7-universal-rubinius-1.2 processor/command/alias.rb
rbx-trepanning-0.0.6-universal-rubinius-1.2 processor/command/alias.rb
rbx-trepanning-0.0.5-universal-rubinius-1.2.1 processor/command/alias.rb
rbx-trepanning-0.0.4-universal-rubinius-1.2 processor/command/alias.rb
rbx-trepanning-0.0.3-universal-rubinius-1.2 processor/command/alias.rb
rbx-trepanning-0.0.2-universal-rubinius-1.2 processor/command/alias.rb
rbx-trepanning-0.0.1-universal-rubinius processor/command/alias.rb