internal void WriteToJson(System.Text.Json.Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WriteString("label", Label); if (!string.IsNullOrEmpty(Documentation)) { writer.WritePropertyName("documentation"); //monaco.IMarkdownString writer.WriteStartObject(); writer.WriteString("value", $"**{Name}**: {Documentation}"); writer.WriteEndObject(); } writer.WriteEndObject(); }
internal void WriteToJson(System.Text.Json.Utf8JsonWriter writer) { writer.WritePropertyName(nameof(PartitionKeys)); writer.WriteStartArray(); if (PartitionKeys != null) { for (int i = 0; i < PartitionKeys.Length; i++) { writer.WriteNumberValue(PartitionKeys[i]); } } writer.WriteEndArray(); writer.WritePropertyName(nameof(ClusteringColumns)); if (ClusteringColumns != null && ClusteringColumns.Length > 0) { writer.WriteStartArray(); for (int i = 0; i < ClusteringColumns.Length; i++) { writer.WriteStartObject(); writer.WriteNumber("MemberId", ClusteringColumns[i].MemberId); writer.WriteBoolean("OrderByDesc", ClusteringColumns[i].OrderByDesc); writer.WriteEndObject(); } writer.WriteEndArray(); } else { writer.WriteEmptyArray(); } }
internal void WriteToJson(System.Text.Json.Utf8JsonWriter writer) { //monaco.DocumentSymbol writer.WriteStartObject(); writer.WriteString("name", DisplayName); writer.WriteString("detail", ""); writer.WriteNumber("kind", SymbolKinds.ToMonacoKind(Kind)); var fullRange = Ranges["full"]; var nameRange = Ranges["name"]; writer.WritePropertyName("range"); fullRange.WriteToJson(writer); writer.WritePropertyName("selectionRange"); nameRange.WriteToJson(writer); if (Children != null) { writer.WritePropertyName("children"); writer.WriteStartArray(); foreach (var child in Children) { child.WriteToJson(writer); } writer.WriteEndArray(); } writer.WriteEndObject(); }
internal void WriteToJson(System.Text.Json.Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WriteNumber("startLineNumber", Start.Line + 1); //注意往前传+1,非-1 writer.WriteNumber("startColumn", Start.Column + 1); writer.WriteNumber("endLineNumber", End.Line + 1); writer.WriteNumber("endColumn", End.Column + 1); writer.WriteEndObject(); }
private void sendState(System.Collections.Generic.Dictionary <string, object> properties) { if (coreWebView2 == null) { return; } using (var stream = new System.IO.MemoryStream()) { using (var writer = new System.Text.Json.Utf8JsonWriter(stream)) { writer.WriteStartObject(); writer.WriteString("type", "state"); writer.WriteStartObject("state"); foreach (var pair in properties) { if (pair.Value == null) { writer.WriteNull(pair.Key); } else if (pair.Value is double) { writer.WriteNumber(pair.Key, (double)pair.Value); } else if (pair.Value is string) { writer.WriteString(pair.Key, (string)pair.Value); } else { throw new System.ArgumentException("Unsupported type for property '" + pair.Key + "'."); } } writer.WriteEndObject(); writer.WriteEndObject(); } string json = System.Text.Encoding.UTF8.GetString(stream.ToArray()); coreWebView2.PostWebMessageAsJson(json); } }
internal void WriteToJson(System.Text.Json.Utf8JsonWriter writer) { //对应monaco.SignatureInformation writer.WriteStartObject(); writer.WriteString("label", Label); writer.WriteString("documentation", StructuredDocumentation.SummaryText); writer.WritePropertyName("parameters"); writer.WriteStartArray(); foreach (var item in Parameters) { item.WriteToJson(writer); } writer.WriteEndArray(); writer.WriteEndObject(); }
/// <summary> /// The ping command returns an acknowledgement, so that clients can test the connection status and latency. /// </summary> public async Task Ping(CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "ping"); WriteFooter(jsonWriter); jsonWriter.WriteEndObject(); jsonWriter.Flush(); var _ = await SendReceiveAsync(requestId, jsonBuffer.WrittenMemory, cancellationToken); }
protected override void WriteFooter(System.Text.Json.Utf8JsonWriter writer) { writer.WriteEndObject(); writer.WriteEndArray(); }