module Tapioca::ConfigHelper

def merge_options(*options)

def merge_options(*options)
  merged = options.each_with_object({}) do |option, result|
    result.merge!(option || {}) do |_, this_val, other_val|
      if this_val.is_a?(Hash) && other_val.is_a?(Hash)
        Thor::CoreExt::HashWithIndifferentAccess.new(this_val.merge(other_val))
      else
        other_val
      end
    end
  end
  Thor::CoreExt::HashWithIndifferentAccess.new(merged)
end