Enable tab-to-spaces conversion in the Flexmi editor when the YAML flavour is detected
diff --git a/plugins/org.eclipse.epsilon.flexmi.dt/src/org/eclipse/epsilon/flexmi/dt/FlexmiEditor.java b/plugins/org.eclipse.epsilon.flexmi.dt/src/org/eclipse/epsilon/flexmi/dt/FlexmiEditor.java
index f6334b7..43e1a68 100644
--- a/plugins/org.eclipse.epsilon.flexmi.dt/src/org/eclipse/epsilon/flexmi/dt/FlexmiEditor.java
+++ b/plugins/org.eclipse.epsilon.flexmi.dt/src/org/eclipse/epsilon/flexmi/dt/FlexmiEditor.java
@@ -61,6 +61,7 @@
 import org.eclipse.ui.editors.text.FileDocumentProvider;
 import org.eclipse.ui.editors.text.TextEditor;
 import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
 import org.eclipse.ui.texteditor.IDocumentProvider;
 import org.eclipse.ui.texteditor.MarkerUtilities;
 import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
@@ -146,6 +147,18 @@
 		viewer.configure(getSourceViewerConfiguration());
 	}
 	
+	@Override
+	protected boolean isTabsToSpacesConversionEnabled() {
+		if (flexmiFlavour == FlexmiFlavour.YAML) return true;
+		else return super.isTabsToSpacesConversionEnabled();
+	}
+	
+	@Override
+	protected boolean isSpacesAsTabsDeletionEnabled() {
+		if (flexmiFlavour == FlexmiFlavour.YAML) return true;
+		else return super.isSpacesAsTabsDeletionEnabled();
+	}
+	
 	protected SourceViewerConfiguration createSourceViewerConfiguration(FlexmiHighlightingManager highlightingManager) {
 		if (flexmiFlavour == FlexmiFlavour.XML) return new XMLConfiguration(highlightingManager);
 		else return new YamlConfiguration(highlightingManager);
@@ -205,6 +218,7 @@
 		FlexmiFlavour detectedFlavour = FlexmiResource.isXml(new BufferedInputStream(new ByteArrayInputStream(code.getBytes()))) ? FlexmiFlavour.XML : FlexmiFlavour.YAML;
 		if ((detectedFlavour != flexmiFlavour)) {
 			flexmiFlavour = detectedFlavour;
+			handlePreferenceStoreChanged(new PropertyChangeEvent(doc, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SPACES_FOR_TABS, null, null));
 			Display.getDefault().asyncExec(() -> refreshText());
 		}