public static ScriptEditorForm OpenScript(string file, bool show = false)
{
Script script = Project.ScriptManager.WithPath(file) ?? new Script(file);
ScriptEditorForm editor = Windows.ScriptEditors.Find(e => e.Script == script);
if (editor == null)
{
editor = new ScriptEditorForm(script);
Windows.ScriptEditors.Add(editor);
}
if (show)
{
if (editor.DockPanel == null && !editor.IsFloat)
{
editor.Show(MainDock);
editor.DockPanel.ContextMenuStrip = Windows.ScriptTabContextMenu;
}
MainDock.ActiveContent.DockHandler.Activate();
editor.Activate();
}
return editor;
}