def expand!
      each_with_index do |arg, i|
        next if !arg.start_with?('-')
        self[i] = arg.split('=', 2)
        next if arg.start_with?('--')
        self[i] = arg[1..-1].split('').uniq.map { |a| '-' + a }
      end
      flatten!
    end
def expand!
      each_with_index do |arg, i|
        next if !arg.start_with?('-')
        self[i] = arg.split('=', 2)
        next if arg.start_with?('--')
        self[i] = arg[1..-1].split('').uniq.map { |a| '-' + a }
      end
      flatten!
    end
Turns arguments using a special syntax into arguments that are parseable.

 Single character parameters may be joined together like '-dv'. This
 method will split them into separate parameters like '-d -v'.

 Additionally a parameter argument may be attached to the parameter itself
 using '=' like '--path=/tmp'. This method will also split them into
 '--path /tmp'.