CTAN has a new package: listings-ext