Grunt typical multi-task not working

When I use different grunt plugins for various tasks, I've noticed that with different plugins comes slightly different configuration settings.

Having said that, most of the grunt-contrib plugins are for the most part very similar.

I'm having some trouble with this plugin here https://www.npmjs.org/package/grunt-prettify which prettifies a number of different syntaxes.

Usually I setup my grunt plugins using a multi-task like this:

task: {
    target: {
        options: {
            // task options go here
        },
        files: [{
            expand: true,
            cwd: 'path/to/input',
            src: ['**/*.extension'],
            dest: 'another/output',
            ext: '.extension'
        }],
    },
}

When I use this format, with this plugin, it runs, but it simply overwrites the input files and doesn't write any destination files.

The expected behavior is to input the files with the extension specified and output to a directory when the task is completed.

I can't figure out why this doesn't work. I've read all the documentation on the plugin and tried heaps of different formats but nothing works, it always overwrites the input. It says on the repo readme that it supports "dest:", so I can't see why this wouldn't work.

Also I don't really want to use grunt copy to copy the source to the destination before the task runs.

From looking at the plugin's gruntfile it seems it already has grunt copy as a dependency and copies the files before it runs. See here https://github.com/jonschlinkert/grunt-prettify/blob/master/Gruntfile.js