Looks nice, I like it. but...proposed solution should be also equipped with default value - right now you iterate over all linters so for `pep8` you will get a `KeyError` - so I would rather use `exts_linters.get(linter, None)`. Of course the other solution might be to fill in the `exts_linters` with all available linters but then you will get duplicates in `file_extensions`. So I like your way (after some pimping) but for now - current requirements - don't you think that the way I proposed is just simpler and clearer ?