class IRB::ExtendCommand::Nop

def self.execute(irb_context, *opts, **kwargs, &block)

def self.execute(irb_context, *opts, **kwargs, &block)
  command = new(irb_context)
  command.execute(*opts, **kwargs, &block)
rescue CommandArgumentError => e
  puts e.message
end

def category(category = nil)

def category(category = nil)
  @category = category if category
  @category
end

def description(description = nil)

def description(description = nil)
  @description = description if description
  @description
end

def execute(*opts)

def execute(*opts)
  #nop
end

def initialize(irb_context)

def initialize(irb_context)
  @irb_context = irb_context
end

def string_literal?(args)

def string_literal?(args)
  sexp = Ripper.sexp(args)
  sexp && sexp.size == 2 && sexp.last&.first&.first == :string_literal
end