diff --git a/com.wudsn.ide.asm/src/com/wudsn/ide/asm/preferences/TextAttributeConverter.java b/com.wudsn.ide.asm/src/com/wudsn/ide/asm/preferences/TextAttributeConverter.java
index 8b72ef1d..e40d45bd 100644
--- a/com.wudsn.ide.asm/src/com/wudsn/ide/asm/preferences/TextAttributeConverter.java
+++ b/com.wudsn.ide.asm/src/com/wudsn/ide/asm/preferences/TextAttributeConverter.java
@@ -30,7 +30,7 @@ import org.eclipse.swt.widgets.Display;
import com.wudsn.ide.base.common.StringUtility;
/**
- * Convertdf go connvert the class TextAttributes into a PreferenceStore
+ * Converter to convert the class TextAttributes into a PreferenceStore
* compatible form.
*
* @author Peter Dell
diff --git a/com.wudsn.ide.feature/feature.xml b/com.wudsn.ide.feature/feature.xml
index 5a340561..8969b6a4 100644
--- a/com.wudsn.ide.feature/feature.xml
+++ b/com.wudsn.ide.feature/feature.xml
@@ -390,4 +390,11 @@ POSSIBILITY OF SUCH DAMAGES.
version="0.0.0"
unpack="false"/>
+
+
diff --git a/com.wudsn.ide.hex/META-INF/MANIFEST.MF b/com.wudsn.ide.hex/META-INF/MANIFEST.MF
index 8e06e2de..71ed91ad 100644
--- a/com.wudsn.ide.hex/META-INF/MANIFEST.MF
+++ b/com.wudsn.ide.hex/META-INF/MANIFEST.MF
@@ -5,9 +5,9 @@ Bundle-SymbolicName: com.wudsn.ide.hex;singleton:=true
Bundle-Version: 1.7.2.qualifier
Bundle-Activator: com.wudsn.ide.hex.HexPlugin
Bundle-Vendor: Peter Dell
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
+Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources,
+ org.eclipse.ui,
org.eclipse.ui.ide,
org.eclipse.ui.views,
com.wudsn.ide.base
diff --git a/com.wudsn.ide.lng/.classpath b/com.wudsn.ide.lng/.classpath
new file mode 100644
index 00000000..fec9383c
--- /dev/null
+++ b/com.wudsn.ide.lng/.classpath
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.wudsn.ide.lng/.gitignore b/com.wudsn.ide.lng/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/com.wudsn.ide.lng/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/com.wudsn.ide.lng/.project b/com.wudsn.ide.lng/.project
new file mode 100644
index 00000000..800ea0f2
--- /dev/null
+++ b/com.wudsn.ide.lng/.project
@@ -0,0 +1,28 @@
+
+
+ com.wudsn.ide.lng
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/com.wudsn.ide.lng/.settings/org.eclipse.jdt.core.prefs b/com.wudsn.ide.lng/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..bd1095bb
--- /dev/null
+++ b/com.wudsn.ide.lng/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/com.wudsn.ide.lng/META-INF/MANIFEST.MF b/com.wudsn.ide.lng/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..7d3dd226
--- /dev/null
+++ b/com.wudsn.ide.lng/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: WUDSN IDE Language Plugin
+Bundle-SymbolicName: com.wudsn.ide.lng;singleton:=true
+Bundle-Version: 1.7.2.qualifier
+Bundle-Vendor: Peter Dell
+Automatic-Module-Name: com.wudsn.ide.lang
+Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: com.wudsn.ide.lng.LanguagePlugin
+Require-Bundle: org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.ui,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.views,
+ com.wudsn.ide.base
diff --git a/com.wudsn.ide.lng/build.properties b/com.wudsn.ide.lng/build.properties
new file mode 100644
index 00000000..41eb6ade
--- /dev/null
+++ b/com.wudsn.ide.lng/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/com.wudsn.ide.lng/src/com/wudsn/ide/lng/LanguagePlugin.java b/com.wudsn.ide.lng/src/com/wudsn/ide/lng/LanguagePlugin.java
new file mode 100644
index 00000000..84504648
--- /dev/null
+++ b/com.wudsn.ide.lng/src/com/wudsn/ide/lng/LanguagePlugin.java
@@ -0,0 +1,62 @@
+package com.wudsn.ide.lng;
+
+import org.osgi.framework.BundleContext;
+
+import com.wudsn.ide.base.common.AbstractIDEPlugin;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class LanguagePlugin extends AbstractIDEPlugin {
+
+ // The plug-in ID
+ public static final String ID = "com.wudsn.ide.lng"; //$NON-NLS-1$
+
+ // The shared instance
+ private static LanguagePlugin plugin;
+
+ /**
+ * The constructor
+ */
+ public LanguagePlugin() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected String getPluginId() {
+ return ID;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Gets the shared plugin instance
+ *
+ * @return The plug-in, not null
.
+ */
+ public static LanguagePlugin getInstance() {
+ if (plugin == null) {
+ throw new IllegalStateException("Plugin not initialized or already stopped");
+ }
+ return plugin;
+ }
+
+}
diff --git a/com.wudsn.site.update/check-bundle-versions.bat b/com.wudsn.site.update/check-bundle-versions.bat
index 85f4ece4..780b6617 100644
--- a/com.wudsn.site.update/check-bundle-versions.bat
+++ b/com.wudsn.site.update/check-bundle-versions.bat
@@ -10,6 +10,7 @@ call :check com.wudsn.ide.base
call :check com.wudsn.ide.hex
call :check com.wudsn.ide.dsk
call :check com.wudsn.ide.gfx
+call :check com.wudsn.ide.lng
call :check com.wudsn.ide.pas
call :check com.wudsn.ide.snd