Skip to content

Commit dea6bc2

Browse files
Merge branch 'main' into robertbrignull/useScrollIntoView
2 parents 610c936 + 26b6023 commit dea6bc2

File tree

108 files changed

+1477
-817
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+1477
-817
lines changed

.github/workflows/cli-test.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ on:
66
pull_request:
77
types: [opened, synchronize, reopened, ready_for_review]
88
paths:
9+
- .github/workflows/cli-test.yml
910
- extensions/ql-vscode/src/codeql-cli/**
1011
- extensions/ql-vscode/src/language-support/**
1112
- extensions/ql-vscode/src/query-server/**
13+
- extensions/ql-vscode/supported_cli_versions.json
1214

1315
jobs:
1416
find-nightly:
@@ -47,7 +49,7 @@ jobs:
4749
strategy:
4850
matrix:
4951
os: [ubuntu-latest, windows-latest]
50-
version: ${{ fromJson(needs.set-matrix.outputs.cli-versions) }}
52+
version: ${{ fromJson(needs.set-matrix.outputs.cli-versions) }}
5153
fail-fast: false
5254
env:
5355
CLI_VERSION: ${{ matrix.version }}

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
**/* @github/codeql-vscode-reviewers
22
**/variant-analysis/ @github/code-scanning-secexp-reviewers
33
**/databases/ @github/code-scanning-secexp-reviewers
4-
**/data-extensions-editor/ @github/code-scanning-secexp-reviewers
4+
**/model-editor/ @github/code-scanning-secexp-reviewers
55
**/queries-panel/ @github/code-scanning-secexp-reviewers

extensions/ql-vscode/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## [UNRELEASED]
44

5+
- Update how variant analysis results are displayed. For queries with ["path-problem" or "problem" `@kind`](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/#metadata-properties), you can choose to display the results as rendered alerts or as a table of raw results. For queries with any other `@kind`, the results are displayed as a table. [#2745](https://github.com/github/vscode-codeql/pull/2745) & [#2749](https://github.com/github/vscode-codeql/pull/2749)
56
- When running variant analyses, don't download artifacts for repositories with no results. [#2736](https://github.com/github/vscode-codeql/pull/2736)
67
- Group the extension settings, so that they're easier to find in the Settings UI. [#2706](https://github.com/github/vscode-codeql/pull/2706)
78

extensions/ql-vscode/package.json

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -943,8 +943,8 @@
943943
"enablement": "codeql.hasQLSource"
944944
},
945945
{
946-
"command": "codeQL.openDataExtensionsEditor",
947-
"title": "CodeQL: Open Data Extensions Editor"
946+
"command": "codeQL.openModelEditor",
947+
"title": "CodeQL: Open CodeQL Model Editor"
948948
},
949949
{
950950
"command": "codeQL.mockGitHubApiServer.startRecording",
@@ -1415,7 +1415,7 @@
14151415
"when": "false"
14161416
},
14171417
{
1418-
"command": "codeQL.openDataExtensionsEditor",
1418+
"command": "codeQL.openModelEditor",
14191419
"when": "config.codeQL.canary && config.codeQL.dataExtensions.editor"
14201420
},
14211421
{
@@ -1652,7 +1652,7 @@
16521652
},
16531653
{
16541654
"command": "codeQL.createQuery",
1655-
"when": "config.codeQL.codespacesTemplate"
1655+
"when": "config.codeQL.codespacesTemplate || config.codeQL.canary && config.codeQL.queriesPanel"
16561656
},
16571657
{
16581658
"command": "codeQLTests.acceptOutputContextTestItem",
@@ -1724,8 +1724,8 @@
17241724
],
17251725
"panel": [
17261726
{
1727-
"id": "codeql-model-details",
1728-
"title": "CodeQL Model Details",
1727+
"id": "codeql-methods-usage",
1728+
"title": "CodeQL Methods Usage",
17291729
"icon": "media/logo.svg"
17301730
}
17311731
]
@@ -1759,17 +1759,25 @@
17591759
"when": "config.codeQL.canary"
17601760
}
17611761
],
1762-
"codeql-model-details": [
1762+
"codeql-methods-usage": [
17631763
{
1764-
"id": "codeQLModelDetails",
1765-
"name": "CodeQL Model Details",
1766-
"when": "config.codeQL.canary && codeql.dataExtensionsEditorOpen"
1764+
"id": "codeQLMethodsUsage",
1765+
"name": "CodeQL Methods Usage",
1766+
"when": "config.codeQL.canary && codeql.modelEditorOpen"
1767+
}
1768+
],
1769+
"explorer": [
1770+
{
1771+
"type": "webview",
1772+
"id": "codeQLMethodModeling",
1773+
"name": "CodeQL Method Modeling",
1774+
"when": "config.codeQL.canary && config.codeQL.modelEditor.methodModelingView && codeql.modelEditorOpen"
17671775
}
17681776
]
17691777
},
17701778
"viewsWelcome": [
17711779
{
1772-
"view": "codeQLModelDetails",
1780+
"view": "codeQLMethodsUsage",
17731781
"contents": "Loading..."
17741782
},
17751783
{

extensions/ql-vscode/src/common/commands.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type {
1212
} from "../variant-analysis/shared/variant-analysis";
1313
import type { QLDebugConfiguration } from "../debugger/debug-configuration";
1414
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
15-
import type { Usage } from "../data-extensions-editor/external-api-usage";
15+
import type { Usage } from "../model-editor/external-api-usage";
1616

1717
// A command function matching the signature that VS Code calls when
1818
// a command is invoked from a context menu on a TreeView with
@@ -302,9 +302,9 @@ export type PackagingCommands = {
302302
"codeQL.downloadPacks": () => Promise<void>;
303303
};
304304

305-
export type DataExtensionsEditorCommands = {
306-
"codeQL.openDataExtensionsEditor": () => Promise<void>;
307-
"codeQLDataExtensionsEditor.jumpToUsageLocation": (
305+
export type ModelEditorCommands = {
306+
"codeQL.openModelEditor": () => Promise<void>;
307+
"codeQLModelEditor.jumpToUsageLocation": (
308308
usage: Usage,
309309
databaseItem: DatabaseItem,
310310
) => Promise<void>;
@@ -347,7 +347,7 @@ export type AllExtensionCommands = BaseCommands &
347347
AstCfgCommands &
348348
AstViewerCommands &
349349
PackagingCommands &
350-
DataExtensionsEditorCommands &
350+
ModelEditorCommands &
351351
EvalLogViewerCommands &
352352
SummaryLanguageSupportCommands &
353353
Partial<TestUICommands> &

extensions/ql-vscode/src/common/interface-types.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@ import {
1717
} from "../variant-analysis/shared/variant-analysis-filter-sort";
1818
import { ErrorLike } from "../common/errors";
1919
import { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
20-
import {
21-
ExternalApiUsage,
22-
Usage,
23-
} from "../data-extensions-editor/external-api-usage";
24-
import { ModeledMethod } from "../data-extensions-editor/modeled-method";
25-
import { DataExtensionEditorViewState } from "../data-extensions-editor/shared/view-state";
26-
import { Mode } from "../data-extensions-editor/shared/mode";
20+
import { ExternalApiUsage, Usage } from "../model-editor/external-api-usage";
21+
import { ModeledMethod } from "../model-editor/modeled-method";
22+
import { ModelEditorViewState } from "../model-editor/shared/view-state";
23+
import { Mode } from "../model-editor/shared/mode";
2724

2825
/**
2926
* This module contains types and code that are shared between
@@ -494,8 +491,8 @@ export type ToDataFlowPathsMessage = SetDataFlowPathsMessage;
494491
export type FromDataFlowPathsMessage = CommonFromViewMessages;
495492

496493
interface SetExtensionPackStateMessage {
497-
t: "setDataExtensionEditorViewState";
498-
viewState: DataExtensionEditorViewState;
494+
t: "setModelEditorViewState";
495+
viewState: ModelEditorViewState;
499496
}
500497

501498
interface SetExternalApiUsagesMessage {
@@ -572,14 +569,14 @@ interface HideModeledApisMessage {
572569
hideModeledApis: boolean;
573570
}
574571

575-
export type ToDataExtensionsEditorMessage =
572+
export type ToModelEditorMessage =
576573
| SetExtensionPackStateMessage
577574
| SetExternalApiUsagesMessage
578575
| LoadModeledMethodsMessage
579576
| AddModeledMethodsMessage
580577
| SetInProgressMethodsMessage;
581578

582-
export type FromDataExtensionsEditorMessage =
579+
export type FromModelEditorMessage =
583580
| ViewLoadedMsg
584581
| SwitchModeMessage
585582
| RefreshExternalApiUsages
@@ -592,3 +589,7 @@ export type FromDataExtensionsEditorMessage =
592589
| StopGeneratingExternalApiFromLlmMessage
593590
| ModelDependencyMessage
594591
| HideModeledApisMessage;
592+
593+
export type FromMethodModelingMessage =
594+
| TelemetryMessage
595+
| UnhandledErrorMessage;

extensions/ql-vscode/src/common/vscode/abstract-webview.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import { join } from "path";
1111

1212
import { DisposableObject, DisposeHandler } from "../disposable-object";
1313
import { tmpDir } from "../../tmp-dir";
14-
import { getHtmlForWebview, WebviewMessage, WebviewView } from "./webview-html";
14+
import { getHtmlForWebview, WebviewMessage, WebviewKind } from "./webview-html";
1515

1616
export type WebviewPanelConfig = {
1717
viewId: string;
1818
title: string;
1919
viewColumn: ViewColumn;
20-
view: WebviewView;
20+
view: WebviewKind;
2121
preserveFocus?: boolean;
2222
iconPath?: Uri | { dark: Uri; light: Uri };
2323
additionalOptions?: WebviewPanelOptions & WebviewOptions;

extensions/ql-vscode/src/common/vscode/webview-html.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ import { ExtensionContext, Uri, Webview } from "vscode";
22
import { randomBytes } from "crypto";
33
import { EOL } from "os";
44

5-
export type WebviewView =
5+
export type WebviewKind =
66
| "results"
77
| "compare"
88
| "variant-analysis"
99
| "data-flow-paths"
10-
| "data-extensions-editor";
10+
| "model-editor"
11+
| "method-modeling";
1112

1213
export interface WebviewMessage {
1314
t: string;
@@ -20,7 +21,7 @@ export interface WebviewMessage {
2021
export function getHtmlForWebview(
2122
ctx: ExtensionContext,
2223
webview: Webview,
23-
view: WebviewView,
24+
view: WebviewKind,
2425
{
2526
allowInlineStyles,
2627
allowWasmEval,

extensions/ql-vscode/src/config.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,6 @@ export function showQueriesPanel(): boolean {
704704

705705
const DATA_EXTENSIONS = new Setting("dataExtensions", ROOT_SETTING);
706706
const LLM_GENERATION = new Setting("llmGeneration", DATA_EXTENSIONS);
707-
const FRAMEWORK_MODE = new Setting("frameworkMode", DATA_EXTENSIONS);
708707
const DISABLE_AUTO_NAME_EXTENSION_PACK = new Setting(
709708
"disableAutoNameExtensionPack",
710709
DATA_EXTENSIONS,
@@ -718,10 +717,6 @@ export function showLlmGeneration(): boolean {
718717
return !!LLM_GENERATION.getValue<boolean>();
719718
}
720719

721-
export function enableFrameworkMode(): boolean {
722-
return !!FRAMEWORK_MODE.getValue<boolean>();
723-
}
724-
725720
export function disableAutoNameExtensionPack(): boolean {
726721
return !!DISABLE_AUTO_NAME_EXTENSION_PACK.getValue<boolean>();
727722
}

extensions/ql-vscode/src/extension.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ import { getAstCfgCommands } from "./language-support/ast-viewer/ast-cfg-command
128128
import { App } from "./common/app";
129129
import { registerCommandWithErrorHandling } from "./common/vscode/commands";
130130
import { DebuggerUI } from "./debugger/debugger-ui";
131-
import { DataExtensionsEditorModule } from "./data-extensions-editor/data-extensions-editor-module";
131+
import { ModelEditorModule } from "./model-editor/model-editor-module";
132132
import { TestManager } from "./query-testing/test-manager";
133133
import { TestRunner } from "./query-testing/test-runner";
134134
import { TestManagerBase } from "./query-testing/test-manager-base";
@@ -934,15 +934,14 @@ async function activateWithInstalledDistribution(
934934
const debuggerUI = new DebuggerUI(app, localQueries, dbm);
935935
ctx.subscriptions.push(debuggerUI);
936936

937-
const dataExtensionsEditorModule =
938-
await DataExtensionsEditorModule.initialize(
939-
ctx,
940-
app,
941-
dbm,
942-
cliServer,
943-
qs,
944-
tmpDir.name,
945-
);
937+
const modelEditorModule = await ModelEditorModule.initialize(
938+
ctx,
939+
app,
940+
dbm,
941+
cliServer,
942+
qs,
943+
tmpDir.name,
944+
);
946945

947946
void extLogger.log("Initializing QLTest interface.");
948947

@@ -1015,7 +1014,7 @@ async function activateWithInstalledDistribution(
10151014
...getPackagingCommands({
10161015
cliServer,
10171016
}),
1018-
...dataExtensionsEditorModule.getCommands(),
1017+
...modelEditorModule.getCommands(),
10191018
...evalLogViewer.getCommands(),
10201019
...summaryLanguageSupport.getCommands(),
10211020
...testUiCommands,

0 commit comments

Comments
 (0)