From e7faabc5916694257c78b83d6c3bb6fa25864cee Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 26 Mar 2025 15:34:35 +0000 Subject: [PATCH 1/2] Add "rust" as an analysis language --- extensions/ql-vscode/src/common/query-language.ts | 5 +++++ .../language-selection-data-provider.ts | 1 + .../ql-vscode/src/query-history/store/query-history-dto.ts | 1 + .../store/query-history-language-domain-mapper.ts | 2 ++ .../query-history/store/query-history-language-dto-mapper.ts | 2 ++ .../local-queries/skeleton-query-wizard.test.ts | 1 + 6 files changed, 12 insertions(+) diff --git a/extensions/ql-vscode/src/common/query-language.ts b/extensions/ql-vscode/src/common/query-language.ts index 2cf0155b578..b28ebedad00 100644 --- a/extensions/ql-vscode/src/common/query-language.ts +++ b/extensions/ql-vscode/src/common/query-language.ts @@ -6,6 +6,7 @@ export enum QueryLanguage { Javascript = "javascript", Python = "python", Ruby = "ruby", + Rust = "rust", Swift = "swift", } @@ -25,6 +26,8 @@ export function getLanguageDisplayName(language: string): string { return "Python"; case QueryLanguage.Ruby: return "Ruby"; + case QueryLanguage.Rust: + return "Rust"; case QueryLanguage.Swift: return "Swift"; default: @@ -43,6 +46,7 @@ export const PACKS_BY_QUERY_LANGUAGE = { [QueryLanguage.Javascript]: ["codeql/javascript-queries"], [QueryLanguage.Python]: ["codeql/python-queries"], [QueryLanguage.Ruby]: ["codeql/ruby-queries"], + [QueryLanguage.Rust]: ["codeql/rust-queries"], }; export const dbSchemeToLanguage: Record = { @@ -53,6 +57,7 @@ export const dbSchemeToLanguage: Record = { "semmlecode.csharp.dbscheme": QueryLanguage.CSharp, "go.dbscheme": QueryLanguage.Go, "ruby.dbscheme": QueryLanguage.Ruby, + "rust.dbscheme": QueryLanguage.Rust, "swift.dbscheme": QueryLanguage.Swift, }; diff --git a/extensions/ql-vscode/src/language-selection-panel/language-selection-data-provider.ts b/extensions/ql-vscode/src/language-selection-panel/language-selection-data-provider.ts index f2e06b50cb8..a182e29595d 100644 --- a/extensions/ql-vscode/src/language-selection-panel/language-selection-data-provider.ts +++ b/extensions/ql-vscode/src/language-selection-panel/language-selection-data-provider.ts @@ -16,6 +16,7 @@ const ALL_LANGUAGE_SELECTION_OPTIONS = [ QueryLanguage.Javascript, QueryLanguage.Python, QueryLanguage.Ruby, + QueryLanguage.Rust, QueryLanguage.Swift, ]; diff --git a/extensions/ql-vscode/src/query-history/store/query-history-dto.ts b/extensions/ql-vscode/src/query-history/store/query-history-dto.ts index bec7a2ad5da..fd8bf01ccbc 100644 --- a/extensions/ql-vscode/src/query-history/store/query-history-dto.ts +++ b/extensions/ql-vscode/src/query-history/store/query-history-dto.ts @@ -21,5 +21,6 @@ export enum QueryLanguageDto { Javascript = "javascript", Python = "python", Ruby = "ruby", + Rust = "rust", Swift = "swift", } diff --git a/extensions/ql-vscode/src/query-history/store/query-history-language-domain-mapper.ts b/extensions/ql-vscode/src/query-history/store/query-history-language-domain-mapper.ts index fe8c64b5e47..615c820908b 100644 --- a/extensions/ql-vscode/src/query-history/store/query-history-language-domain-mapper.ts +++ b/extensions/ql-vscode/src/query-history/store/query-history-language-domain-mapper.ts @@ -20,6 +20,8 @@ export function mapQueryLanguageToDto( return QueryLanguageDto.Python; case QueryLanguage.Ruby: return QueryLanguageDto.Ruby; + case QueryLanguage.Rust: + return QueryLanguageDto.Rust; case QueryLanguage.Swift: return QueryLanguageDto.Swift; default: diff --git a/extensions/ql-vscode/src/query-history/store/query-history-language-dto-mapper.ts b/extensions/ql-vscode/src/query-history/store/query-history-language-dto-mapper.ts index deea1bfd80b..d4e0f03c1bf 100644 --- a/extensions/ql-vscode/src/query-history/store/query-history-language-dto-mapper.ts +++ b/extensions/ql-vscode/src/query-history/store/query-history-language-dto-mapper.ts @@ -20,6 +20,8 @@ export function mapQueryLanguageToDomainModel( return QueryLanguage.Python; case QueryLanguageDto.Ruby: return QueryLanguage.Ruby; + case QueryLanguageDto.Rust: + return QueryLanguage.Rust; case QueryLanguageDto.Swift: return QueryLanguage.Swift; default: diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/local-queries/skeleton-query-wizard.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/local-queries/skeleton-query-wizard.test.ts index 9076ec9bed4..cd5712382be 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/local-queries/skeleton-query-wizard.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/local-queries/skeleton-query-wizard.test.ts @@ -79,6 +79,7 @@ describe("SkeletonQueryWizard", () => { .fn() .mockResolvedValue([ "ruby", + "rust", "javascript", "go", "java", From 77204e69f857a2688d8d00bf01f249f8e7704a43 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 28 Mar 2025 14:52:17 +0000 Subject: [PATCH 2/2] Add Rust to `QUERY_LANGUAGE_TO_DATABASE_REPO` --- extensions/ql-vscode/src/local-queries/skeleton-query-wizard.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/extensions/ql-vscode/src/local-queries/skeleton-query-wizard.ts b/extensions/ql-vscode/src/local-queries/skeleton-query-wizard.ts index 8d9390eab96..49d7bcaab11 100644 --- a/extensions/ql-vscode/src/local-queries/skeleton-query-wizard.ts +++ b/extensions/ql-vscode/src/local-queries/skeleton-query-wizard.ts @@ -45,6 +45,7 @@ export const QUERY_LANGUAGE_TO_DATABASE_REPO: QueryLanguagesToDatabaseMap = { javascript: "d3/d3", python: "pallets/flask", ruby: "jekyll/jekyll", + rust: "sharkdp/bat", swift: "Alamofire/Alamofire", };