diff --git a/org.eclipse.tm4e.language_pack/updater/pom.xml b/org.eclipse.tm4e.language_pack/updater/pom.xml
index 21de56847..2d5831e35 100644
--- a/org.eclipse.tm4e.language_pack/updater/pom.xml
+++ b/org.eclipse.tm4e.language_pack/updater/pom.xml
@@ -33,19 +33,19 @@
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
- 2.16.0
+ 2.16.1
com.twelvemonkeys.imageio
imageio-bmp
- 3.10.1
+ 3.11.0
com.twelvemonkeys.imageio
imageio-batik
- 3.10.1
+ 3.11.0
diff --git a/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java b/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java
index f6bd91cd1..87b6e2456 100644
--- a/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java
+++ b/org.eclipse.tm4e.language_pack/updater/src/main/java/updater/VSCodeSingleExtensionSourceHandler.java
@@ -53,12 +53,12 @@ void handle() throws IOException {
assertArgNotEmpty("package.json/contributes/languages", pkgJson.contributes().languages());
final var pkgJsonLangs = new TreeMap();
- for (final var lang : pkgJson.contributes().languages()) {
+ for (final Contributions.Language lang : pkgJson.contributes().languages()) {
pkgJsonLangs.put(lang.id(), lang);
}
final var pkgJsonLangGrammars = new TreeMap();
final var pkgJsonInlineGrammars = new TreeMap();
- for (final var grammar : pkgJson.contributes().grammars()) {
+ for (final Contributions.Grammar grammar : pkgJson.contributes().grammars()) {
if (grammar.language() != null) {
if (pkgJsonLangs.containsKey(grammar.language())) {
pkgJsonLangGrammars.put(grammar.language(), grammar);
@@ -75,9 +75,18 @@ void handle() throws IOException {
for (final Entry langOverrides : source.languages.entrySet()) {
final var langId = langOverrides.getKey();
if (!pkgJsonLangs.containsKey(langId)) {
- logInfo("FAILED", true, false);
- throw new IllegalArgumentException(
- "No language with id [" + langId + "] found at [package.json/contributes/languages]");
+ final Config.LanguageIgnoreable langOverride = langOverrides.getValue();
+ if (isBlank(langOverride.grammar)) {
+ logInfo("FAILED", true, false);
+ throw new IllegalArgumentException(
+ "No language with id [" + langId + "] found at [package.json/contributes/languages]");
+ }
+ if (isBlank(langOverride.scopeName)) {
+ logInfo("FAILED", true, false);
+ throw new IllegalArgumentException("Language with id [" + langId
+ + "] found at [package.json/contributes/languages] is missing scopeName");
+ }
+ pkgJsonLangs.put(langId, new Contributions.Language(langId, null, null, null, null, null, langOverride.langcfg));
}
}
logInfo("OK", true, false);