The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl

use strict;
use warnings;

use App::Ack::ConfigLoader ();
use Getopt::Long;

my $option_coverage_file = 'opts.coverage';

my @extra_options = (
    'type-add=s',
    'type-set=s',
    'dump',
);

my $fh;
open $fh, '>>', $option_coverage_file or die $!;

my $arg_spec = App::Ack::ConfigLoader::get_arg_spec({}, undef);
foreach my $k (keys %{$arg_spec}, @extra_options) {
    $arg_spec->{$k} = sub {
        print { $fh } "$k\n";
    };
}
Getopt::Long::Configure('pass_through');
GetOptions(%{$arg_spec});

close $fh;