diff --git a/extensions/ql-vscode/src/config.ts b/extensions/ql-vscode/src/config.ts index 2450796358c..94ddebdf318 100644 --- a/extensions/ql-vscode/src/config.ts +++ b/extensions/ql-vscode/src/config.ts @@ -709,6 +709,7 @@ const MODEL_SETTING = new Setting("model", ROOT_SETTING); const FLOW_GENERATION = new Setting("flowGeneration", MODEL_SETTING); const LLM_GENERATION = new Setting("llmGeneration", MODEL_SETTING); const EXTENSIONS_DIRECTORY = new Setting("extensionsDirectory", MODEL_SETTING); +const SHOW_MULTIPLE_MODELS = new Setting("showMultipleModels", MODEL_SETTING); export function showFlowGeneration(): boolean { return !!FLOW_GENERATION.getValue(); @@ -723,3 +724,7 @@ export function getExtensionsDirectory(languageId: string): string | undefined { languageId, }); } + +export function showMultipleModels(): boolean { + return !!SHOW_MULTIPLE_MODELS.getValue(); +} diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index 7724d565144..fdb1f8ffcfc 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -34,7 +34,11 @@ import { import { Method, Usage } from "./method"; import { ModeledMethod } from "./modeled-method"; import { ExtensionPack } from "./shared/extension-pack"; -import { showFlowGeneration, showLlmGeneration } from "../config"; +import { + showFlowGeneration, + showLlmGeneration, + showMultipleModels, +} from "../config"; import { Mode } from "./shared/mode"; import { loadModeledMethods, saveModeledMethods } from "./modeled-method-fs"; import { pickExtensionPack } from "./extension-pack-picker"; @@ -365,6 +369,7 @@ export class ModelEditorView extends AbstractWebview< extensionPack: this.extensionPack, showFlowGeneration: showFlowGeneration(), showLlmButton, + showMultipleModels: showMultipleModels(), mode: this.mode, }, }); diff --git a/extensions/ql-vscode/src/model-editor/shared/view-state.ts b/extensions/ql-vscode/src/model-editor/shared/view-state.ts index 29b1aa5f5ee..e16036b5c48 100644 --- a/extensions/ql-vscode/src/model-editor/shared/view-state.ts +++ b/extensions/ql-vscode/src/model-editor/shared/view-state.ts @@ -5,5 +5,6 @@ export interface ModelEditorViewState { extensionPack: ExtensionPack; showFlowGeneration: boolean; showLlmButton: boolean; + showMultipleModels: boolean; mode: Mode; } diff --git a/extensions/ql-vscode/src/stories/model-editor/LibraryRow.stories.tsx b/extensions/ql-vscode/src/stories/model-editor/LibraryRow.stories.tsx index 31b5bc4ba87..9e526c724ff 100644 --- a/extensions/ql-vscode/src/stories/model-editor/LibraryRow.stories.tsx +++ b/extensions/ql-vscode/src/stories/model-editor/LibraryRow.stories.tsx @@ -214,6 +214,7 @@ LibraryRow.args = { extensionPack: createMockExtensionPack(), showFlowGeneration: true, showLlmButton: true, + showMultipleModels: true, mode: Mode.Application, }, hideModeledMethods: false, diff --git a/extensions/ql-vscode/src/stories/model-editor/ModelEditor.stories.tsx b/extensions/ql-vscode/src/stories/model-editor/ModelEditor.stories.tsx index 3fc48b41c0d..1747054b386 100644 --- a/extensions/ql-vscode/src/stories/model-editor/ModelEditor.stories.tsx +++ b/extensions/ql-vscode/src/stories/model-editor/ModelEditor.stories.tsx @@ -30,6 +30,7 @@ ModelEditor.args = { }, showFlowGeneration: true, showLlmButton: true, + showMultipleModels: true, mode: Mode.Application, }, initialMethods: [ diff --git a/extensions/ql-vscode/src/view/model-editor/__tests__/LibraryRow.spec.tsx b/extensions/ql-vscode/src/view/model-editor/__tests__/LibraryRow.spec.tsx index c66a27183ed..bbbd6c4c09a 100644 --- a/extensions/ql-vscode/src/view/model-editor/__tests__/LibraryRow.spec.tsx +++ b/extensions/ql-vscode/src/view/model-editor/__tests__/LibraryRow.spec.tsx @@ -20,6 +20,7 @@ describe(LibraryRow.name, () => { mode: Mode.Application, showFlowGeneration: false, showLlmButton: false, + showMultipleModels: false, extensionPack: createMockExtensionPack(), }; diff --git a/extensions/ql-vscode/src/view/model-editor/__tests__/ModeledMethodsList.spec.tsx b/extensions/ql-vscode/src/view/model-editor/__tests__/ModeledMethodsList.spec.tsx index f43f1ed79f7..ecc7c3d6c1b 100644 --- a/extensions/ql-vscode/src/view/model-editor/__tests__/ModeledMethodsList.spec.tsx +++ b/extensions/ql-vscode/src/view/model-editor/__tests__/ModeledMethodsList.spec.tsx @@ -48,6 +48,7 @@ describe(ModeledMethodsList.name, () => { mode: Mode.Application, showFlowGeneration: false, showLlmButton: false, + showMultipleModels: false, extensionPack: createMockExtensionPack(), };