Skip to content

Commit f7a72c6

Browse files
Use QueryLanguage where possible
1 parent 959c3fb commit f7a72c6

4 files changed

Lines changed: 20 additions & 18 deletions

File tree

extensions/ql-vscode/src/common/query-language.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ export const PACKS_BY_QUERY_LANGUAGE = {
2525
[QueryLanguage.Ruby]: ["codeql/ruby-queries"],
2626
};
2727

28-
export const dbSchemeToLanguage: Record<string, string> = {
29-
"semmlecode.javascript.dbscheme": "javascript",
30-
"semmlecode.cpp.dbscheme": "cpp",
31-
"semmlecode.dbscheme": "java",
32-
"semmlecode.python.dbscheme": "python",
33-
"semmlecode.csharp.dbscheme": "csharp",
34-
"go.dbscheme": "go",
35-
"ruby.dbscheme": "ruby",
36-
"swift.dbscheme": "swift",
28+
export const dbSchemeToLanguage: Record<string, QueryLanguage> = {
29+
"semmlecode.javascript.dbscheme": QueryLanguage.Javascript,
30+
"semmlecode.cpp.dbscheme": QueryLanguage.Cpp,
31+
"semmlecode.dbscheme": QueryLanguage.Java,
32+
"semmlecode.python.dbscheme": QueryLanguage.Python,
33+
"semmlecode.csharp.dbscheme": QueryLanguage.CSharp,
34+
"go.dbscheme": QueryLanguage.Go,
35+
"ruby.dbscheme": QueryLanguage.Ruby,
36+
"swift.dbscheme": QueryLanguage.Swift,
3737
};
3838

3939
export function isQueryLanguage(language: string): language is QueryLanguage {

extensions/ql-vscode/src/queries-panel/query-discovery.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ import { QueryDiscoverer } from "./query-tree-data-provider";
1010
import { FilePathDiscovery } from "../common/vscode/file-path-discovery";
1111
import { containsPath } from "../pure/files";
1212
import { getOnDiskWorkspaceFoldersObjects } from "../common/vscode/workspace-folders";
13+
import { QueryLanguage } from "../common/query-language";
1314

1415
const QUERY_FILE_EXTENSION = ".ql";
1516

1617
export interface QueryPackDiscoverer {
17-
getLanguageForQueryFile(queryPath: string): string | undefined;
18+
getLanguageForQueryFile(queryPath: string): QueryLanguage | undefined;
1819
onDidChangeQueryPacks: Event<void>;
1920
}
2021

2122
interface Query {
2223
path: string;
23-
language: string | undefined;
24+
language: QueryLanguage | undefined;
2425
}
2526

2627
/**
@@ -110,7 +111,7 @@ export class QueryDiscovery
110111
this.onDidChangePathsEmitter.fire();
111112
}
112113

113-
private determineQueryLanguage(path: string): string | undefined {
114+
private determineQueryLanguage(path: string): QueryLanguage | undefined {
114115
return this.queryPackDiscovery.getLanguageForQueryFile(path);
115116
}
116117
}

extensions/ql-vscode/src/queries-panel/query-pack-discovery.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { basename, dirname } from "path";
22
import { CodeQLCliServer, QuerySetup } from "../codeql-cli/cli";
33
import { Event } from "vscode";
4-
import { dbSchemeToLanguage } from "../common/query-language";
4+
import { QueryLanguage, dbSchemeToLanguage } from "../common/query-language";
55
import { FALLBACK_QLPACK_FILENAME, QLPACK_FILENAMES } from "../pure/ql";
66
import { FilePathDiscovery } from "../common/vscode/file-path-discovery";
77
import { getErrorMessage } from "../pure/helpers-pure";
@@ -12,7 +12,7 @@ import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
1212

1313
export interface QueryPack {
1414
path: string;
15-
language: string | undefined;
15+
language: QueryLanguage | undefined;
1616
}
1717

1818
/**
@@ -35,7 +35,7 @@ export class QueryPackDiscovery extends FilePathDiscovery<QueryPack> {
3535
* return the language of that pack. Returns undefined if no pack is found
3636
* or the pack's language is unknown.
3737
*/
38-
public getLanguageForQueryFile(queryPath: string): string | undefined {
38+
public getLanguageForQueryFile(queryPath: string): QueryLanguage | undefined {
3939
// Find all packs in a higher directory than the query
4040
const packs = this.paths.filter((queryPack) =>
4141
containsPath(dirname(queryPack.path), queryPath),
@@ -70,7 +70,7 @@ export class QueryPackDiscovery extends FilePathDiscovery<QueryPack> {
7070

7171
private async determinePackLanguage(
7272
path: string,
73-
): Promise<string | undefined> {
73+
): Promise<QueryLanguage | undefined> {
7474
let packInfo: QuerySetup | undefined = undefined;
7575
try {
7676
packInfo = await this.cliServer.resolveLibraryPath(

extensions/ql-vscode/test/vscode-tests/minimal-workspace/queries-panel/query-discovery.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
FileTreeLeaf,
1212
} from "../../../../src/common/file-tree-nodes";
1313
import { mkdirSync, writeFileSync } from "fs";
14+
import { QueryLanguage } from "../../../../src/common/query-language";
1415

1516
describe("Query pack discovery", () => {
1617
let tmpDir: string;
@@ -40,7 +41,7 @@ describe("Query pack discovery", () => {
4041
.mockReturnValue([workspaceFolder]);
4142

4243
queryPackDiscoverer = {
43-
getLanguageForQueryFile: () => "java",
44+
getLanguageForQueryFile: () => QueryLanguage.Java,
4445
onDidChangeQueryPacks: onDidChangeQueryPacks.event,
4546
};
4647
discovery = new QueryDiscovery(env, queryPackDiscoverer);
@@ -168,7 +169,7 @@ describe("Query pack discovery", () => {
168169
]),
169170
]);
170171

171-
queryPackDiscoverer.getLanguageForQueryFile = () => "python";
172+
queryPackDiscoverer.getLanguageForQueryFile = () => QueryLanguage.Python;
172173
onDidChangeQueryPacks.fire();
173174

174175
expect(discovery.buildQueryTree()).toEqual([

0 commit comments

Comments
 (0)