ensure tab ordering
This commit is contained in:
@@ -353,12 +353,15 @@ public partial class SharpIdeCodeEdit : CodeEdit
|
|||||||
_fileChangingSuppressBreakpointToggleEvent = false;
|
_fileChangingSuppressBreakpointToggleEvent = false;
|
||||||
if (fileLinePosition is not null) SetFileLinePosition(fileLinePosition.Value);
|
if (fileLinePosition is not null) SetFileLinePosition(fileLinePosition.Value);
|
||||||
});
|
});
|
||||||
await Task.WhenAll(syntaxHighlighting, razorSyntaxHighlighting, setTextTask); // Text must be set before setting syntax highlighting
|
_ = Task.GodotRun(async () =>
|
||||||
await this.InvokeAsync(async () => SetSyntaxHighlightingModel(await syntaxHighlighting, await razorSyntaxHighlighting));
|
{
|
||||||
await diagnostics;
|
await Task.WhenAll(syntaxHighlighting, razorSyntaxHighlighting, setTextTask); // Text must be set before setting syntax highlighting
|
||||||
await this.InvokeAsync(async () => SetDiagnostics(await diagnostics));
|
await this.InvokeAsync(async () => SetSyntaxHighlightingModel(await syntaxHighlighting, await razorSyntaxHighlighting));
|
||||||
await projectDiagnosticsForFile;
|
await diagnostics;
|
||||||
await this.InvokeAsync(async () => SetProjectDiagnostics(await projectDiagnosticsForFile));
|
await this.InvokeAsync(async () => SetDiagnostics(await diagnostics));
|
||||||
|
await projectDiagnosticsForFile;
|
||||||
|
await this.InvokeAsync(async () => SetProjectDiagnostics(await projectDiagnosticsForFile));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UnderlineRange(int line, int caretStartCol, int caretEndCol, Color color, float thickness = 1.5f)
|
public void UnderlineRange(int line, int caretStartCol, int caretEndCol, Color color, float thickness = 1.5f)
|
||||||
|
|||||||
@@ -160,12 +160,11 @@ public partial class IdeRoot : Control
|
|||||||
// Preserves order of tabs
|
// Preserves order of tabs
|
||||||
foreach (var (file, linePosition, isSelected) in filesToOpen)
|
foreach (var (file, linePosition, isSelected) in filesToOpen)
|
||||||
{
|
{
|
||||||
GodotGlobalEvents.Instance.FileExternallySelected.InvokeParallelFireAndForget(file, linePosition);
|
await GodotGlobalEvents.Instance.FileExternallySelected.InvokeParallelAsync(file, linePosition);
|
||||||
await Task.Delay(10).ConfigureAwait(false); // TODO: Do this properly - use InvokeParallelAsync, and fix FileExternallySelected waiting on syntax highlighting etc before returning
|
|
||||||
}
|
}
|
||||||
// Select the selected tab
|
// Select the selected tab
|
||||||
var selectedFile = filesToOpen.SingleOrDefault(f => f.IsSelected);
|
var selectedFile = filesToOpen.SingleOrDefault(f => f.IsSelected);
|
||||||
if (selectedFile.Item1 is not null) GodotGlobalEvents.Instance.FileExternallySelected.InvokeParallelFireAndForget(selectedFile.Item1, selectedFile.Item2);
|
if (selectedFile.Item1 is not null) await GodotGlobalEvents.Instance.FileExternallySelected.InvokeParallelAsync(selectedFile.Item1, selectedFile.Item2);
|
||||||
});
|
});
|
||||||
|
|
||||||
var tasks = solutionModel.AllProjects.Select(p => p.MsBuildEvaluationProjectTask).ToList();
|
var tasks = solutionModel.AllProjects.Select(p => p.MsBuildEvaluationProjectTask).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user