@@ -50,12 +50,14 @@ import { telemetryListener } from "../common/vscode/telemetry";
5050import { ModelingStore } from "./modeling-store" ;
5151import { ModelEditorViewTracker } from "./model-editor-view-tracker" ;
5252import { ModelingEvents } from "./modeling-events" ;
53+ import { getModelsAsDataLanguage , ModelsAsDataLanguage } from "./languages" ;
5354
5455export class ModelEditorView extends AbstractWebview <
5556 ToModelEditorMessage ,
5657 FromModelEditorMessage
5758> {
5859 private readonly autoModeler : AutoModeler ;
60+ private readonly languageDefinition : ModelsAsDataLanguage ;
5961
6062 public constructor (
6163 protected readonly app : App ,
@@ -95,6 +97,7 @@ export class ModelEditorView extends AbstractWebview<
9597 this . addModeledMethods ( modeledMethods ) ;
9698 } ,
9799 ) ;
100+ this . languageDefinition = getModelsAsDataLanguage ( language ) ;
98101 }
99102
100103 public async openView ( ) {
@@ -376,7 +379,9 @@ export class ModelEditorView extends AbstractWebview<
376379 const sourceArchiveAvailable =
377380 this . databaseItem . hasSourceArchiveInExplorer ( ) ;
378381
379- const showModeSwitchButton = this . language !== QueryLanguage . Ruby ;
382+ const showModeSwitchButton =
383+ this . languageDefinition . availableModes === undefined ||
384+ this . languageDefinition . availableModes . length > 1 ;
380385
381386 await this . postMessage ( {
382387 t : "setModelEditorViewState" ,
0 commit comments