With the added support of translation files the current implementation of language detection isn't anymore enough, as a file extension could be used for different usage. So SourcePrinter::selectLanguageClass always decide that file extension *.ts means typescript, but it could be now also markup (as it as qt translation file). This leads to interesting coloring of the file - and tons of useless html tags
There are different possibilities to fix this:
- The IssueParser within AnalysisModel could store the language and the WNG plugin matches it to the available prism languages (e.g. xml => markup). So the language decision could be overwritten by the parser
- Add option in Jenkins settings to adjust the file extension mapping. This could be useful as the mapping is already incomplete (e.g. glsl is supported by Prism, but not by the plugin)
- Add this options not globally, but per project.
- Add language auto detection
First option would be a fix without the need the user has to do sth. Second & third has the benefit that further languages could be added.
As we have a lot of different jobs for the same project second option would be best for us, but in case Jenkins is used for different projects (e.g. a Qt C++ project and a Typescript project) third option may be better. An combination would also be an option (e.g. create globally different named file mapping and within the call to recordIssue you reference one of the named mapping).