Fix C# line counting and add test
This commit is contained in:
parent
d623a7a3f7
commit
68b68732c6
10 changed files with 86 additions and 24 deletions
17
node_modules/.package-lock.json
generated
vendored
17
node_modules/.package-lock.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "codeql",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.3",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
@ -405,12 +405,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/js-yaml": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.1.tgz",
|
||||
"integrity": "sha512-xdOvNmXmrZqqPy3kuCQ+fz6wA0xU5pji9cd1nDrflWaAWtYLLGk5ykW0H6yg5TVyehHP1pfmuuSaZkhP+kspVA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.6",
|
||||
"dev": true,
|
||||
|
|
@ -1259,7 +1253,6 @@
|
|||
"dependencies": {
|
||||
"anymatch": "~3.1.1",
|
||||
"braces": "~3.0.2",
|
||||
"fsevents": "~2.1.2",
|
||||
"glob-parent": "~5.1.0",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
|
|
@ -2641,8 +2634,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/github-linguist": {
|
||||
"version": "2.4.2",
|
||||
"license": "MIT",
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/github-linguist/-/github-linguist-2.4.3.tgz",
|
||||
"integrity": "sha512-hKWn1QQ+9oUyOIcUhPzi6AxTcAkYHg4OOwK79Pr05SBTFmdNr7GQkMDJabSGCZwu7SDhEb5YeUwUGqrUfyo7PA==",
|
||||
"dependencies": {
|
||||
"chalk": "^2.2.0",
|
||||
"commander": "^2.11.0",
|
||||
|
|
@ -3245,9 +3239,6 @@
|
|||
"node_modules/jsonfile": {
|
||||
"version": "4.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
|
|
|
|||
26
node_modules/github-linguist/dist/languages.js
generated
vendored
26
node_modules/github-linguist/dist/languages.js
generated
vendored
|
|
@ -4,6 +4,15 @@ exports.Languages = void 0;
|
|||
const utils_1 = require("./utils");
|
||||
// tslint:disable-next-line
|
||||
const languageMap = require('language-map');
|
||||
/**
|
||||
* The extension map can contain multiple languages with the same extension,
|
||||
* but we only want a single one. For the moment, these clashes are resolved
|
||||
* by the simple heuristic below listing high-priority languages. We may want
|
||||
* to consider smarter heuristics to correctly identify languages in cases
|
||||
* where the extension is ambiguous. The ordering of the list matters and
|
||||
* languages earlier on will get a higher priority when resolving clashes.
|
||||
*/
|
||||
const importantLanguages = ["javascript", "typescript", "ruby", "python", "java", "c", "c++", "c#", "rust", "scala", "perl", "go"];
|
||||
/**
|
||||
* detecte program language through file extension
|
||||
*
|
||||
|
|
@ -34,7 +43,22 @@ class Languages {
|
|||
const languageMode = languageMap[language];
|
||||
const languageExtensions = (languageMode && languageMode.extensions) || [];
|
||||
languageExtensions.forEach((extension) => {
|
||||
extensions[extension.toLowerCase()] = language.toLowerCase();
|
||||
const lowerCaseExtension = extension.toLowerCase();
|
||||
const lowerCaseLanguage = language.toLowerCase();
|
||||
if (!extensions[lowerCaseExtension]) {
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
}
|
||||
else {
|
||||
const currentLanguagePriority = importantLanguages.indexOf(extensions[lowerCaseExtension]);
|
||||
if (currentLanguagePriority === -1) {
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
}
|
||||
else {
|
||||
const otherPriority = importantLanguages.indexOf(lowerCaseLanguage);
|
||||
if (otherPriority !== -1 && otherPriority < currentLanguagePriority)
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
return Object.assign({}, extensions, utils_1.ExtensionJustify);
|
||||
|
|
|
|||
2
node_modules/github-linguist/dist/languages.js.map
generated
vendored
2
node_modules/github-linguist/dist/languages.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
|
||||
2
node_modules/github-linguist/package.json
generated
vendored
2
node_modules/github-linguist/package.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "github-linguist",
|
||||
"version": "2.4.2",
|
||||
"version": "2.4.3",
|
||||
"description": "A tool to count lines of code in a repository powered by github-linguist langauge mappings.",
|
||||
"keywords": [
|
||||
"loc",
|
||||
|
|
|
|||
26
node_modules/github-linguist/src/languages.ts
generated
vendored
26
node_modules/github-linguist/src/languages.ts
generated
vendored
|
|
@ -11,6 +11,17 @@ interface ExtensionsTypes {
|
|||
|
||||
export interface DetectorOptions {}
|
||||
|
||||
/**
|
||||
* The extension map can contain multiple languages with the same extension,
|
||||
* but we only want a single one. For the moment, these clashes are resolved
|
||||
* by the simple heuristic below listing high-priority languages. We may want
|
||||
* to consider smarter heuristics to correctly identify languages in cases
|
||||
* where the extension is ambiguous. The ordering of the list matters and
|
||||
* languages earlier on will get a higher priority when resolving clashes.
|
||||
*/
|
||||
const importantLanguages = ["javascript", "typescript", "ruby", "python", "java", "c", "c++", "c#", "rust", "scala", "perl", "go"];
|
||||
|
||||
|
||||
/**
|
||||
* detecte program language through file extension
|
||||
*
|
||||
|
|
@ -39,7 +50,20 @@ export class Languages {
|
|||
const languageMode = languageMap[language];
|
||||
const languageExtensions = (languageMode && languageMode.extensions) || [];
|
||||
languageExtensions.forEach((extension: string) => {
|
||||
extensions[extension.toLowerCase()] = language.toLowerCase();
|
||||
const lowerCaseExtension = extension.toLowerCase();
|
||||
const lowerCaseLanguage = language.toLowerCase()
|
||||
if (!extensions[lowerCaseExtension]) {
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
} else {
|
||||
const currentLanguagePriority = importantLanguages.indexOf(extensions[lowerCaseExtension]);
|
||||
if (currentLanguagePriority === -1) {
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
} else {
|
||||
const otherPriority = importantLanguages.indexOf(lowerCaseLanguage);
|
||||
if (otherPriority !== -1 && otherPriority < currentLanguagePriority)
|
||||
extensions[lowerCaseExtension] = lowerCaseLanguage;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue