@@ -85,6 +85,13 @@ public class TerminalOptions
8585 [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
8686 public double ? CursorWidth { get ; set ; }
8787
88+ /// <summary>
89+ /// The style of the cursor when the terminal is not focused.
90+ /// </summary>
91+ [ JsonPropertyName ( "cursorInactiveStyle" ) ]
92+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
93+ public CursorInactiveStyle ? CursorInactiveStyle { get ; set ; }
94+
8895 /// <summary>
8996 /// Whether input should be disabled.
9097 /// </summary>
@@ -141,6 +148,15 @@ public class TerminalOptions
141148 [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
142149 public string ? FontWeightBold { get ; set ; }
143150
151+ /// <summary>
152+ /// Whether to ignore the bracketed paste mode. When true, this will always
153+ /// paste without the `\x1b[200~` and `\x1b[201~` sequences, even when the
154+ /// shell enables bracketed mode.
155+ /// </summary>
156+ [ JsonPropertyName ( "ignoreBracketedPasteMode" ) ]
157+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
158+ public bool ? IgnoreBracketedPasteMode { get ; set ; }
159+
144160 /// <summary>
145161 /// The spacing in whole pixels between characters.
146162 /// </summary>
@@ -177,6 +193,13 @@ public class TerminalOptions
177193 [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWritingNull ) ]
178194 public LogLevel ? LogLevel { get ; set ; }
179195
196+ /// <summary>
197+ /// A logger to use instead of `console`.
198+ /// </summary>
199+ // [JsonPropertyName("logger")]
200+ // [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
201+ // public Logger Logger { get; set; } = new();
202+
180203 /// <summary>
181204 /// Whether to treat option as the meta key.
182205 /// </summary>
@@ -374,6 +397,43 @@ public enum CursorStyle
374397 Bar
375398 }
376399
400+ /// <summary>
401+ /// The style of the cursor when the terminal is not focused.
402+ /// </summary>
403+ [ JsonConverter ( typeof ( JsonStringEnumMemberConverter ) ) ]
404+ public enum CursorInactiveStyle
405+ {
406+ /// <summary>
407+ /// Outline
408+ /// </summary>
409+ [ EnumMember ( Value = "outline" ) ]
410+ Outline ,
411+
412+ /// <summary>
413+ /// Block
414+ /// </summary>
415+ [ EnumMember ( Value = "block" ) ]
416+ Block ,
417+
418+ /// <summary>
419+ /// Bar
420+ /// </summary>
421+ [ EnumMember ( Value = "bar" ) ]
422+ Bar ,
423+
424+ /// <summary>
425+ /// Underline
426+ /// </summary>
427+ [ EnumMember ( Value = "underline" ) ]
428+ Underline ,
429+
430+ /// <summary>
431+ /// None
432+ /// </summary>
433+ [ EnumMember ( Value = "none" ) ]
434+ None
435+ }
436+
377437 /// <summary>
378438 /// The modifier key hold to multiply scroll speed.
379439 /// </summary>
@@ -411,6 +471,12 @@ public enum FastScrollModifier
411471 [ JsonConverter ( typeof ( JsonStringEnumMemberConverter ) ) ]
412472 public enum LogLevel
413473 {
474+ /// <summary>
475+ /// Trace
476+ /// </summary>
477+ [ EnumMember ( Value = "trace" ) ]
478+ Trace ,
479+
414480 /// <summary>
415481 /// Debug
416482 /// </summary>
0 commit comments