This commit is contained in:
Robert Brignull 2020-08-17 13:34:34 +01:00
parent 00eee2b7ee
commit 1943ed432b
3 changed files with 30 additions and 18 deletions

View file

@ -1,13 +1,19 @@
// All the languages supported by CodeQL
export const ALL_LANGUAGES = ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] as const;
export type Language = (typeof ALL_LANGUAGES)[number];
export enum Language {
csharp = 'csharp',
cpp = 'cpp',
go = 'go',
java = 'java',
javascript = 'javascript',
python = 'python',
}
// Additional names for languages
const LANGUAGE_ALIASES: {[lang: string]: Language} = {
'c': 'cpp',
'c++': 'cpp',
'c#': 'csharp',
'typescript': 'javascript',
'c': Language.cpp,
'c++': Language.cpp,
'c#': Language.csharp,
'typescript': Language.javascript,
};
// Translate from user input or GitHub's API names for languages to CodeQL's names for languages
@ -16,9 +22,8 @@ export function parseLanguage(language: string): Language | undefined {
language = language.toLowerCase();
// See if it's an exact match
const parsedLanguage = ALL_LANGUAGES.find(l => l === language);
if (parsedLanguage !== undefined) {
return parsedLanguage;
if (language in Language) {
return language as Language;
}
// Check language aliases