public void UpdateGherkinHighlighing(bool installFolding = true)
        {
            if (string.IsNullOrEmpty(CurrentFilePath) || (MainGherkinEditor == null))
            {
                return;
            }

            try
            {
                if (GherkinUtil.IsFeatureFile(CurrentFilePath))
                {
                    GherkinUtil.RegisterGherkinHighlighting(CurrentLanguage);
                    IHighlightingDefinition highlighting = GetHighlightingDefinition();
                    UpdateEditorProperty(nameof(GherkinEditor.SyntaxHighlighting), highlighting);

                    if (installFolding && (FoldingExecutor != null))
                    {
                        FoldingExecutor.InstallFoldingManager(CurrentFilePath);
                    }
                }
            }
            catch (Exception ex)
            {
                EventAggregator <StatusChangedArg> .Instance.Publish(this, new StatusChangedArg(ex.Message));
            }
        }
        private void UpdateEditor(string filePath)
        {
            bool isOldFileFeatureFile = GherkinUtil.IsFeatureFile(Document.FileName);

            SetSyntaxHighlighting(filePath);
            FoldingExecutor?.InstallFoldingManager(filePath);
            CurrentFilePath   = filePath;
            Document.FileName = filePath;
            FileNameChangedEvent?.Invoke(filePath);
            if (isOldFileFeatureFile != IsFeatureFile)
            {
                HideScenarioIndex = !IsFeatureFile;
            }

            if (CurrentFilePath != filePath)
            {
                EventAggregator <FileSavedAsArg> .Instance.Publish(this, new FileSavedAsArg(CurrentFilePath));
            }
        }