From 4b1f69364cf1ca192eb7d6c54228cdc67b67fe61 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 3 May 2023 14:51:40 -0400 Subject: [PATCH] Fix indentation in XML/XSD files Make sure to upcast `string|DocumentFilter` correctly when setting indentation rules. Fixes #899 --- src/extension.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 7418ec26..9541f616 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -11,15 +11,13 @@ */ import * as fs from 'fs-extra'; -import * as os from 'os'; -import * as path from 'path'; -import { ExtensionContext, Uri, extensions, languages, commands } from "vscode"; +import { DocumentFilter, DocumentSelector, ExtensionContext, Uri, commands, extensions, languages } from "vscode"; import { Executable, LanguageClient } from 'vscode-languageclient/node'; import { XMLExtensionApi } from './api/xmlExtensionApi'; import { getXmlExtensionApiImplementation } from './api/xmlExtensionApiImplementation'; import { cleanUpHeapDumps } from './client/clientErrorHandler'; import { getIndentationRules } from './client/indentation'; -import { startLanguageClient, XML_SUPPORTED_LANGUAGE_IDS } from './client/xmlClient'; +import { XML_SUPPORTED_LANGUAGE_IDS, startLanguageClient } from './client/xmlClient'; import { registerClientOnlyCommands } from './commands/registerCommands'; import { collectXmlJavaExtensions } from './plugin'; import * as requirements from './server/requirements'; @@ -37,8 +35,13 @@ export async function activate(context: ExtensionContext): Promise { - const languageId = l; + XML_SUPPORTED_LANGUAGE_IDS.forEach((l: DocumentSelector) => { + let languageId: string; + if ((l as DocumentFilter).language) { + languageId = (l as DocumentFilter).language; + } else { + languageId = l as string; + } languages.setLanguageConfiguration(languageId, getIndentationRules()); });