protected async Task EditorOnDidInit(MonacoEditorBase editor) { await Editor.AddCommand((int)KeyMode.CtrlCmd | (int)KeyCode.KEY_H, (editor, keyCode) => { Console.WriteLine("Ctrl+H : Initial editor command is triggered."); }); }
protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { // Create a timer that will determine how quickly the preview updates after changes _timer = new Timer(750); _timer.Elapsed += OnTimerElapsed; _timer.AutoReset = false; // Register our own language keywords List <string> keys = new(); var context = new SimpleCircuit.Parser.ParsingContext(); foreach (var factory in context.Factory.Factories) { foreach (var metadata in factory.Metadata) { keys.AddRange(metadata.Keys); } } await _js.InvokeVoidAsync("registerLanguage", new object[] { keys.ToArray() }); var model = await _scriptEditor.GetModel(); await MonacoEditor.SetModelLanguage(model, "simpleCircuit"); await MonacoEditorBase.SetTheme("simpleCircuitTheme"); // Try to find the last saved script bool hasScript = false; if (_localStore != null) { string script = await _localStore.GetItemAsStringAsync("last_script"); string style = await _localStore.GetItemAsStringAsync("last_style"); if (!string.IsNullOrWhiteSpace(script)) { if (!string.IsNullOrWhiteSpace(style)) { await SetCurrentScript(script, style); } else { await SetCurrentScript(script, GraphicalCircuit.DefaultStyle); } hasScript = true; } } // Give the user an initial demo if (!hasScript) { await SetCurrentScript(Demo.Demos[0].Code, GraphicalCircuit.DefaultStyle); } } }
private async Task OnMonacoInit() { await js.RegisterLoliScript(); var model = await Editor.GetModel(); await MonacoEditorBase.SetModelLanguage(model, "loliscript"); await MonacoThemeSetter.SetLoliScriptTheme(OBSettingsService.Settings.CustomizationSettings); }
public static async Task LoadXMLfromFile(MonacoEditor editor, IBrowserFile file) { byte[] bytesOfXML = new byte[file.Size]; using (Stream strm = file.OpenReadStream()) { await strm.ReadAsync(bytesOfXML); } string stringOfXML = Encoding.UTF8.GetString(bytesOfXML); TextModel model = await MonacoEditorBase.CreateModel(stringOfXML, "xml"); await editor.SetModel(model); //List<string> lLines = stringOfXML.Split("\n").ToList<string>(); }
public static async Task SetLolicodeTheme(PersistentSettingsService Settings) { await MonacoEditorBase.DefineTheme("vs-loli", new StandaloneThemeData { Base = Settings.OpenBulletSettings.CustomizationSettings.MonacoTheme, Inherit = true, Rules = new List <TokenThemeRule> { new TokenThemeRule { Token = "block", Foreground = "5DADE2" }, new TokenThemeRule { Token = "block.end", Foreground = "5DADE2" }, new TokenThemeRule { Token = "block.disabled", Foreground = "EC7063" }, new TokenThemeRule { Token = "block.safe", Foreground = "BCFF70" }, new TokenThemeRule { Token = "block.label", Foreground = "58D68D" }, new TokenThemeRule { Token = "block.var", Foreground = "F7DC6F" }, new TokenThemeRule { Token = "block.cap", Foreground = "F1948A" }, new TokenThemeRule { Token = "block.arrow", Foreground = "BB8FCE" }, new TokenThemeRule { Token = "block.interp", Foreground = "BB8FCE" }, new TokenThemeRule { Token = "block.variable", Foreground = "FAD7A0" }, new TokenThemeRule { Token = "string.variable", Foreground = "FAD7A0" } } }); await MonacoEditorBase.SetTheme("vs-loli"); }
protected async Task EditorOnDidInit(MonacoEditorBase editor) { await Editor.AddCommand((int)KeyMode.CtrlCmd | (int)KeyCode.KEY_H, (editor, keyCode) => { Console.WriteLine("Ctrl+H : Initial editor command is triggered."); }); await Editor.AddAction("saveAction", "Save Snippet (ctrl + s)", new int[] { (int)KeyMode.CtrlCmd | (int)KeyCode.KEY_S }, null, null, "navigation", 1.5, async (editor, keyCodes) => { await AddSnippetToUser(); Console.WriteLine("Ctrl+D : Editor action is triggered."); }); await Editor.AddAction("executeAction", "Execute Code (ctrl + enter)", new int[] { (int)KeyMode.CtrlCmd | (int)KeyCode.Enter }, null, null, "navigation", 2.5, async (editor, keyCodes) => { await SubmitCode(); Console.WriteLine("Code Executed from Editor Command"); }); await Editor.SetValue(CodeEditorService.CodeSnippet); var newDecorations = new[] { new ModelDeltaDecoration { Range = new Range(3, 1, 3, 1), Options = new ModelDecorationOptions { IsWholeLine = false, ClassName = "decorationContentClass", GlyphMarginClassName = "decorationGlyphMarginClass" } } }; decorationIds = await Editor.DeltaDecorations(null, newDecorations); }
private async Task EditorOnDidInit() { var originalId = $"{Id}-originalModel"; var modifiedId = $"{Id}-modifiedModel"; var originalModel = await MonacoEditorBase.GetModel(originalId) ?? await MonacoEditorBase.CreateModel(OriginalValue, _language, originalId); var modifiedModel = await MonacoEditorBase.GetModel(modifiedId) ?? await MonacoEditorBase.CreateModel(ModifiedValue, _language, modifiedId); //initialte the 2 yaml files await _monacoDiffEditor.SetModel(new DiffEditorModel { Original = originalModel, Modified = modifiedModel }); //do the parent on init callback await OnDidInit.InvokeAsync(this); }
private async Task EditorOnDidInit(MonacoEditorBase editor) { await LoadFile(); }
public static async Task SetLoliScriptTheme(CustomizationSettings settings) { await MonacoEditorBase.DefineTheme("vs-loliscript", new StandaloneThemeData { Base = settings.MonacoTheme, Inherit = true, Rules = new List <TokenThemeRule> { new TokenThemeRule { Token = "comment", Foreground = "808080" }, new TokenThemeRule { Token = "disabled", Foreground = "FF6347" }, new TokenThemeRule { Token = "variable", Foreground = "FFFF00" }, new TokenThemeRule { Token = "capture", Foreground = "FF6347" }, new TokenThemeRule { Token = "arrow", Foreground = "FF00FF" }, new TokenThemeRule { Token = "number", Foreground = "8FBC8B" }, new TokenThemeRule { Token = "string", Foreground = "ADD8E6" }, new TokenThemeRule { Token = "block.label", Foreground = "FFDAB9" }, new TokenThemeRule { Token = "block.function", Foreground = "ADFF2F" }, new TokenThemeRule { Token = "block.keycheck", Foreground = "1E90FF" }, new TokenThemeRule { Token = "block.keycheck.keychain", Foreground = "DDA0DD" }, new TokenThemeRule { Token = "block.keycheck.keychain.key", Foreground = "87CEEB" }, new TokenThemeRule { Token = "block.recaptcha", Foreground = "40E0D0" }, new TokenThemeRule { Token = "block.request", Foreground = "32CD32" }, new TokenThemeRule { Token = "block.request.header", Foreground = "DDA0DD" }, new TokenThemeRule { Token = "block.request.cookie", Foreground = "87CEEB" }, new TokenThemeRule { Token = "block.parse", Foreground = "FFD700" }, new TokenThemeRule { Token = "block.parse.mode", Foreground = "FFA500" }, new TokenThemeRule { Token = "block.captcha", Foreground = "FF8C00" }, new TokenThemeRule { Token = "block.tcp", Foreground = "9370DB" }, new TokenThemeRule { Token = "block.utility", Foreground = "F5DEB3" }, new TokenThemeRule { Token = "block.navigate", Foreground = "4169E1" }, new TokenThemeRule { Token = "block.browseraction", Foreground = "008000" }, new TokenThemeRule { Token = "block.elementaction", Foreground = "B22222" }, new TokenThemeRule { Token = "block.executejs", Foreground = "4B0082" }, new TokenThemeRule { Token = "keyword", Foreground = "FF4500" }, new TokenThemeRule { Token = "command", Foreground = "FFA500" }, } }); await MonacoEditorBase.SetTheme("vs-loliscript"); }
public static async Task SetLoliCodeTheme(CustomizationSettings settings) { await MonacoEditorBase.DefineTheme("vs-lolicode", new StandaloneThemeData { Base = settings.MonacoTheme, Inherit = true, Rules = new List <TokenThemeRule> { new TokenThemeRule { Token = "block", Foreground = "98CFFF" }, new TokenThemeRule { Token = "block.end", Foreground = "98CFFF" }, new TokenThemeRule { Token = "block.disabled", Foreground = "EC7063" }, new TokenThemeRule { Token = "block.safe", Foreground = "BCFF70" }, new TokenThemeRule { Token = "block.label", Foreground = "58D68D" }, new TokenThemeRule { Token = "block.var", Foreground = "F7DC6F" }, new TokenThemeRule { Token = "block.cap", Foreground = "F1948A" }, new TokenThemeRule { Token = "block.arrow", Foreground = "BB8FCE" }, new TokenThemeRule { Token = "block.interp", Foreground = "BB8FCE" }, new TokenThemeRule { Token = "block.variable", Foreground = "FAD7A0" }, new TokenThemeRule { Token = "block.customparam", Foreground = "A8FFD2" }, new TokenThemeRule { Token = "string.variable", Foreground = "FAD7A0" }, new TokenThemeRule { Token = "jumplabel", Foreground = "F78686" }, new TokenThemeRule { Token = "key", Foreground = "6F81FF" }, new TokenThemeRule { Token = "false", Foreground = "FF6347" }, new TokenThemeRule { Token = "true", Foreground = "9ACD32" }, new TokenThemeRule { Token = "keychain.success", Foreground = "9ACD32" }, new TokenThemeRule { Token = "keychain.fail", Foreground = "FF6347" }, new TokenThemeRule { Token = "keychain.retry", Foreground = "FFFF00" }, new TokenThemeRule { Token = "keychain.ban", Foreground = "DDA0DD" }, new TokenThemeRule { Token = "keychain.none", Foreground = "87CEEB" }, new TokenThemeRule { Token = "keychain.default", Foreground = "FFA500" }, new TokenThemeRule { Token = "script.delimiter", Foreground = "6F81FF" }, new TokenThemeRule { Token = "script.output", Foreground = "FFBC80" }, } }); await MonacoEditorBase.SetTheme("vs-lolicode"); }
private async Task ChangeTheme(ChangeEventArgs e) { Console.WriteLine($"setting theme to: {e.Value}"); await MonacoEditorBase.SetTheme(e.Value.ToString()); }