public async Task SetDeltaDecorations(BlazorMonaco.Bridge.Range range, ModelDecorationOptions options) { if (MonacoEditor == null) { throw new NullReferenceException("MonacoEditor has not been set"); } DeltaDecorationIds = await MonacoEditor.DeltaDecorations(DeltaDecorationIds ?? new string[] { }, new ModelDeltaDecoration[] { new ModelDeltaDecoration { Range = range, Options = options } }); }
public static async Task <ModelDeltaDecoration> BuildDeltaDecoration(MonacoEditor monacoEditor, BlazorMonaco.Bridge.Range range, string message) { var isWholeLine = false; range.StartLineNumber = Math.Max(range.StartLineNumber, 1); range.StartColumn = Math.Max(range.StartColumn, 1); range.EndLineNumber = Math.Max(range.EndLineNumber, 1); if (range.EndColumn == 0) { range.EndColumn = range.StartColumn; var content = await monacoEditor.GetValue(); var contentLines = content.Split("\n"); range.EndColumn = (contentLines.ElementAt(Math.Min(contentLines.Length - 1, range.EndLineNumber - 1))?.Trim().Length ?? 0) + 1; isWholeLine = true; } var options = new ModelDecorationOptions { IsWholeLine = isWholeLine, InlineClassName = "editorError", InlineClassNameAffectsLetterSpacing = false, ClassName = "editorError", HoverMessage = new MarkdownString[] { new MarkdownString { Value = $"**Error**\r\n\r\n{message}" } }, GlyphMarginClassName = "editorErrorGlyph fa fa-exclamation-circle", GlyphMarginHoverMessage = new MarkdownString[] { new MarkdownString { Value = $"**Error**\r\n\r\n{message}" } }, Minimap = new ModelDecorationMinimapOptions { Color = "#ff0000", Position = MinimapPosition.Inline } }; return(new ModelDeltaDecoration { Range = range, Options = options }); }
public static async Task <string[]> SetDeltaDecorations(MonacoEditor monacoEditor, string[] deltaDecorationIds, BlazorMonaco.Bridge.Range range, ModelDecorationOptions options) { if (monacoEditor == null) { throw new NullReferenceException("MonacoEditor has not been set"); } return(await monacoEditor.DeltaDecorations(deltaDecorationIds ?? new string[] { }, new ModelDeltaDecoration[] { new ModelDeltaDecoration { Range = range, Options = options } })); }