module Thor::Completion::Bash::ArgumentMixin

Methods mixed in to {Thor::Argument}.

Public Instance Methods

bash_complete(request:, klass: logger.trace "ENTERING click to toggle source
# File lib/thor/completion/bash/argument_mixin.rb, line 42
def bash_complete request:, klass:
  # logger.level = :trace

  logger.trace "ENTERING #{ self.class }##{ __method__ }",
    name: name,
    complete: complete,
    request: request,
    klass: klass

  unless complete
    return [].tap { |results|
      logger.trace "No `#complete` proc to call",
        results: results
    }
  end

  values = case complete.arity
  when 0
    complete.call
  else
    complete.call request: request, klass: klass, command: self
  end

  logger.trace "Got values", values: values

  values.
    select { |value| value.start_with? request.cur }.
    tap { |results|
      logger.trace "Selected values for argument #{ name }",
        results: results
    }
end