def call(input, line_buffer=nil)
      mission_input = line_buffer || @weapon.line_buffer
      mission_input = $1 if mission_input !~ /#{Regexp.escape(input)}$/ && mission_input =~ /^(.*#{Regexp.escape(input)})/
      (mission = find_mission(mission_input)) ? mission.execute : default_mission.execute(Input.new(input))
    rescue FailedMissionError => e
      completion_error(e.message, "Completion Info: #{e.mission.match_message}")
    rescue
      completion_error "Failed internally with '#{$!.message}'.",
        "Please report this issue with debug on: Bond.config[:debug] = true."
    end
def call(input, line_buffer=nil)
      mission_input = line_buffer || @weapon.line_buffer
      mission_input = $1 if mission_input !~ /#{Regexp.escape(input)}$/ && mission_input =~ /^(.*#{Regexp.escape(input)})/
      (mission = find_mission(mission_input)) ? mission.execute : default_mission.execute(Input.new(input))
    rescue FailedMissionError => e
      completion_error(e.message, "Completion Info: #{e.mission.match_message}")
    rescue
      completion_error "Failed internally with '#{$!.message}'.",
        "Please report this issue with debug on: Bond.config[:debug] = true."
    end
This is where the action starts when a completion is initiated. Optional
 line_buffer overrides line buffer from readline plugin.