This is overkill. Unfortunately, there is no clear solution at hand without changing the way the extension itself work. It is a symptom of a wider flawed design of Geshi. There should be no need for each language to have its own stylesheet.
Switch to Pygments:
- Initial commit. https://gerrit.wikimedia.org/r/218584
- Add back-compat aliases for Geshi language names.
- Ship the Pygments library. https://gerrit.wikimedia.org/r/219512
- Add parser tests to ensure default configuration works.
- Ensure Geshi.compat.php escapes text.