View Javadoc
1   
2   /*
3    * Copyright (c) 2011-2022 PrimeFaces Extensions
4    *
5    *  Permission is hereby granted, free of charge, to any person obtaining a copy
6    *  of this software and associated documentation files (the "Software"), to deal
7    *  in the Software without restriction, including without limitation the rights
8    *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9    *  copies of the Software, and to permit persons to whom the Software is
10   *  furnished to do so, subject to the following conditions:
11   *
12   *  The above copyright notice and this permission notice shall be included in
13   *  all copies or substantial portions of the Software.
14   *
15   *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16   *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17   *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18   *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19   *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20   *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21   *  THE SOFTWARE.
22   */
23  
24  package org.primefaces.extensions.model.monacoeditor;
25  
26  import org.primefaces.shaded.json.*;
27  import java.io.ObjectStreamException;
28  import java.io.Serializable;
29  
30  // ============================================================
31  // THIS FILE WAS GENERATED AUTOMATICALLY. DO NOT EDIT DIRECTLY.
32  // ============================================================
33  
34  /**
35   * The options to create a Monaco Code diff editor instance.
36   */
37  @SuppressWarnings("serial")
38  public class DiffEditorOptions extends JSONObject implements Serializable {
39      private Object writeReplace() throws ObjectStreamException {
40          return new SerializedDiffEditorOptions(this);
41      }
42  
43      private static class SerializedDiffEditorOptions implements Serializable {
44          private String json;
45  
46          public SerializedDiffEditorOptions(DiffEditorOptions diffEditorOptions) {
47              this.json = diffEditorOptions.toString();
48          }
49  
50          private Object readResolve() throws ObjectStreamException {
51              final DiffEditorOptions diffEditorOptions = new DiffEditorOptions();
52              final JSONObject data = new JSONObject(json);
53              for (final String key : data.keySet()) {
54                  final Object value = data.get(key);
55                  diffEditorOptions.put(key, value);
56              }
57              return diffEditorOptions;
58          }
59      }
60  
61      /**
62       * @return Configures bracket pair colorization (disabled by default).
63       */
64      public EditorBracketPairColorizationOptions getBracketPairColorization() {
65          return (EditorBracketPairColorizationOptions) (has("bracketPairColorization") ? get("bracketPairColorization") : null);
66      }
67  
68      /**
69       * @param bracketPairColorization Configures bracket pair colorization (disabled by default).
70       * @return This same instance, useful for chaining multiple setter methods in one call.
71       */
72      public DiffEditorOptions setBracketPairColorization(final EditorBracketPairColorizationOptions bracketPairColorization) {
73          put("bracketPairColorization", bracketPairColorization);
74          return this;
75      }
76  
77      /**
78       * @return Control the behavior of comments in the editor.
79       */
80      public EditorCommentsOptions getComments() {
81          return (EditorCommentsOptions) (has("comments") ? get("comments") : null);
82      }
83  
84      /**
85       * @param comments Control the behavior of comments in the editor.
86       * @return This same instance, useful for chaining multiple setter methods in one call.
87       */
88      public DiffEditorOptions setComments(final EditorCommentsOptions comments) {
89          put("comments", comments);
90          return this;
91      }
92  
93      /**
94       * @return Controls dropping into the editor from an external source. When enabled, this shows a preview of the drop
95       * location and triggers an onDropIntoEditor event.
96       */
97      public EditorDropIntoEditorOptions getDropIntoEditor() {
98          return (EditorDropIntoEditorOptions) (has("dropIntoEditor") ? get("dropIntoEditor") : null);
99      }
100 
101     /**
102      * @param dropIntoEditor Controls dropping into the editor from an external source. When enabled, this shows a
103      * preview of the drop location and triggers an onDropIntoEditor event.
104      * @return This same instance, useful for chaining multiple setter methods in one call.
105      */
106     public DiffEditorOptions setDropIntoEditor(final EditorDropIntoEditorOptions dropIntoEditor) {
107         put("dropIntoEditor", dropIntoEditor);
108         return this;
109     }
110 
111     /**
112      * @return Control the behavior of the find widget.
113      */
114     public EditorFindOptions getFind() {
115         return (EditorFindOptions) (has("find") ? get("find") : null);
116     }
117 
118     /**
119      * @param find Control the behavior of the find widget.
120      * @return This same instance, useful for chaining multiple setter methods in one call.
121      */
122     public DiffEditorOptions setFind(final EditorFindOptions find) {
123         put("find", find);
124         return this;
125     }
126 
127     /**
128      * @return Controls the behavior of editor guides.
129      */
130     public EditorGuidesOptions getGuides() {
131         return (EditorGuidesOptions) (has("guides") ? get("guides") : null);
132     }
133 
134     /**
135      * @param guides Controls the behavior of editor guides.
136      * @return This same instance, useful for chaining multiple setter methods in one call.
137      */
138     public DiffEditorOptions setGuides(final EditorGuidesOptions guides) {
139         put("guides", guides);
140         return this;
141     }
142 
143     public EditorGotoLocationOptions getGotoLocation() {
144         return (EditorGotoLocationOptions) (has("gotoLocation") ? get("gotoLocation") : null);
145     }
146 
147     public DiffEditorOptions setGotoLocation(final EditorGotoLocationOptions gotoLocation) {
148         put("gotoLocation", gotoLocation);
149         return this;
150     }
151 
152     /**
153      * @return Configure the editor's hover.
154      */
155     public EditorHoverOptions getHover() {
156         return (EditorHoverOptions) (has("hover") ? get("hover") : null);
157     }
158 
159     /**
160      * @param hover Configure the editor's hover.
161      * @return This same instance, useful for chaining multiple setter methods in one call.
162      */
163     public DiffEditorOptions setHover(final EditorHoverOptions hover) {
164         put("hover", hover);
165         return this;
166     }
167 
168     /**
169      * @return Control the behavior and rendering of the inline hints.
170      */
171     public EditorInlayHintOptions getInlayHints() {
172         return (EditorInlayHintOptions) (has("inlayHints") ? get("inlayHints") : null);
173     }
174 
175     /**
176      * @param inlayHints Control the behavior and rendering of the inline hints.
177      * @return This same instance, useful for chaining multiple setter methods in one call.
178      */
179     public DiffEditorOptions setInlayHints(final EditorInlayHintOptions inlayHints) {
180         put("inlayHints", inlayHints);
181         return this;
182     }
183 
184     /**
185      * @return Control the behavior and rendering of the inline completions.
186      */
187     public EditorInlineSuggestOptions getInlineSuggest() {
188         return (EditorInlineSuggestOptions) (has("inlineSuggest") ? get("inlineSuggest") : null);
189     }
190 
191     /**
192      * @param inlineSuggest Control the behavior and rendering of the inline completions.
193      * @return This same instance, useful for chaining multiple setter methods in one call.
194      */
195     public DiffEditorOptions setInlineSuggest(final EditorInlineSuggestOptions inlineSuggest) {
196         put("inlineSuggest", inlineSuggest);
197         return this;
198     }
199 
200     /**
201      * @return Control the behavior and rendering of the code action lightbulb.
202      */
203     public EditorLightbulbOptions getLightbulb() {
204         return (EditorLightbulbOptions) (has("lightbulb") ? get("lightbulb") : null);
205     }
206 
207     /**
208      * @param lightbulb Control the behavior and rendering of the code action lightbulb.
209      * @return This same instance, useful for chaining multiple setter methods in one call.
210      */
211     public DiffEditorOptions setLightbulb(final EditorLightbulbOptions lightbulb) {
212         put("lightbulb", lightbulb);
213         return this;
214     }
215 
216     /**
217      * @return Control the behavior and rendering of the minimap.
218      */
219     public EditorMinimapOptions getMinimap() {
220         return (EditorMinimapOptions) (has("minimap") ? get("minimap") : null);
221     }
222 
223     /**
224      * @param minimap Control the behavior and rendering of the minimap.
225      * @return This same instance, useful for chaining multiple setter methods in one call.
226      */
227     public DiffEditorOptions setMinimap(final EditorMinimapOptions minimap) {
228         put("minimap", minimap);
229         return this;
230     }
231 
232     /**
233      * @return Controls the spacing around the editor.
234      */
235     public EditorPaddingOptions getPadding() {
236         return (EditorPaddingOptions) (has("padding") ? get("padding") : null);
237     }
238 
239     /**
240      * @param padding Controls the spacing around the editor.
241      * @return This same instance, useful for chaining multiple setter methods in one call.
242      */
243     public DiffEditorOptions setPadding(final EditorPaddingOptions padding) {
244         put("padding", padding);
245         return this;
246     }
247 
248     /**
249      * @return Parameter hint options.
250      */
251     public EditorParameterHints getParameterHints() {
252         return (EditorParameterHints) (has("parameterHints") ? get("parameterHints") : null);
253     }
254 
255     /**
256      * @param parameterHints Parameter hint options.
257      * @return This same instance, useful for chaining multiple setter methods in one call.
258      */
259     public DiffEditorOptions setParameterHints(final EditorParameterHints parameterHints) {
260         put("parameterHints", parameterHints);
261         return this;
262     }
263 
264     /**
265      * @return Enable quick suggestions (shadow suggestions) Defaults to {@code true}.
266      */
267     public EditorQuickSuggestionsOptions getQuickSuggestions() {
268         return (EditorQuickSuggestionsOptions) (has("quickSuggestions") ? get("quickSuggestions") : null);
269     }
270 
271     /**
272      * @param quickSuggestions Enable quick suggestions (shadow suggestions) Defaults to {@code true}.
273      * @return This same instance, useful for chaining multiple setter methods in one call.
274      */
275     public DiffEditorOptions setQuickSuggestions(final EditorQuickSuggestionsOptions quickSuggestions) {
276         put("quickSuggestions", quickSuggestions);
277         return this;
278     }
279 
280     /**
281      * @return Controls support for changing how content is pasted into the editor.
282      */
283     public EditorPasteAsOptions getPasteAs() {
284         return (EditorPasteAsOptions) (has("pasteAs") ? get("pasteAs") : null);
285     }
286 
287     /**
288      * @param pasteAs Controls support for changing how content is pasted into the editor.
289      * @return This same instance, useful for chaining multiple setter methods in one call.
290      */
291     public DiffEditorOptions setPasteAs(final EditorPasteAsOptions pasteAs) {
292         put("pasteAs", pasteAs);
293         return this;
294     }
295 
296     /**
297      * @return Control the behavior and rendering of the scrollbars.
298      */
299     public EditorScrollbarOptions getScrollbar() {
300         return (EditorScrollbarOptions) (has("scrollbar") ? get("scrollbar") : null);
301     }
302 
303     /**
304      * @param scrollbar Control the behavior and rendering of the scrollbars.
305      * @return This same instance, useful for chaining multiple setter methods in one call.
306      */
307     public DiffEditorOptions setScrollbar(final EditorScrollbarOptions scrollbar) {
308         put("scrollbar", scrollbar);
309         return this;
310     }
311 
312     /**
313      * @return Smart select options.
314      */
315     public EditorSmartSelectOptions getSmartSelect() {
316         return (EditorSmartSelectOptions) (has("smartSelect") ? get("smartSelect") : null);
317     }
318 
319     /**
320      * @param smartSelect Smart select options.
321      * @return This same instance, useful for chaining multiple setter methods in one call.
322      */
323     public DiffEditorOptions setSmartSelect(final EditorSmartSelectOptions smartSelect) {
324         put("smartSelect", smartSelect);
325         return this;
326     }
327 
328     /**
329      * @return Control the behavior of sticky scroll options
330      */
331     public EditorStickyScrollOptions getStickyScroll() {
332         return (EditorStickyScrollOptions) (has("stickyScroll") ? get("stickyScroll") : null);
333     }
334 
335     /**
336      * @param stickyScroll Control the behavior of sticky scroll options
337      * @return This same instance, useful for chaining multiple setter methods in one call.
338      */
339     public DiffEditorOptions setStickyScroll(final EditorStickyScrollOptions stickyScroll) {
340         put("stickyScroll", stickyScroll);
341         return this;
342     }
343 
344     /**
345      * @return Suggest options.
346      */
347     public EditorSuggestOptions getSuggest() {
348         return (EditorSuggestOptions) (has("suggest") ? get("suggest") : null);
349     }
350 
351     /**
352      * @param suggest Suggest options.
353      * @return This same instance, useful for chaining multiple setter methods in one call.
354      */
355     public DiffEditorOptions setSuggest(final EditorSuggestOptions suggest) {
356         put("suggest", suggest);
357         return this;
358     }
359 
360     /**
361      * @return Controls the behavior of the unicode highlight feature (by default, ambiguous and invisible characters
362      * are highlighted).
363      */
364     public EditorUnicodeHighlightOptions getUnicodeHighlight() {
365         return (EditorUnicodeHighlightOptions) (has("unicodeHighlight") ? get("unicodeHighlight") : null);
366     }
367 
368     /**
369      * @param unicodeHighlight Controls the behavior of the unicode highlight feature (by default, ambiguous and
370      * invisible characters are highlighted).
371      * @return This same instance, useful for chaining multiple setter methods in one call.
372      */
373     public DiffEditorOptions setUnicodeHighlight(final EditorUnicodeHighlightOptions unicodeHighlight) {
374         put("unicodeHighlight", unicodeHighlight);
375         return this;
376     }
377 
378     /**
379      * @return Options for typing over closing quotes or brackets.
380      */
381     public String getAutoClosingOvertype() {
382         return (String) (has("autoClosingOvertype") ? get("autoClosingOvertype") : null);
383     }
384 
385     /**
386      * @param autoClosingOvertype Options for typing over closing quotes or brackets.
387      * @return This same instance, useful for chaining multiple setter methods in one call.
388      */
389     public DiffEditorOptions setAutoClosingOvertype(final EAutoClosingOvertype autoClosingOvertype) {
390         put("autoClosingOvertype", autoClosingOvertype != null ? autoClosingOvertype.toString() : null);
391         return this;
392     }
393 
394     /**
395      * @param autoClosingOvertype Options for typing over closing quotes or brackets.
396      * @return This same instance, useful for chaining multiple setter methods in one call.
397      */
398     public DiffEditorOptions setAutoClosingOvertype(final String autoClosingOvertype) {
399         put("autoClosingOvertype", autoClosingOvertype);
400         return this;
401     }
402 
403     /**
404      * @return Controls whether the editor should automatically adjust the indentation when users type, paste, move or
405      * indent lines. Defaults to {@code advanced}.
406      */
407     public String getAutoIndent() {
408         return (String) (has("autoIndent") ? get("autoIndent") : null);
409     }
410 
411     /**
412      * @param autoIndent Controls whether the editor should automatically adjust the indentation when users type, paste,
413      * move or indent lines. Defaults to {@code advanced}.
414      * @return This same instance, useful for chaining multiple setter methods in one call.
415      */
416     public DiffEditorOptions setAutoIndent(final EAutoIndent autoIndent) {
417         put("autoIndent", autoIndent != null ? autoIndent.toString() : null);
418         return this;
419     }
420 
421     /**
422      * @param autoIndent Controls whether the editor should automatically adjust the indentation when users type, paste,
423      * move or indent lines. Defaults to {@code advanced}.
424      * @return This same instance, useful for chaining multiple setter methods in one call.
425      */
426     public DiffEditorOptions setAutoIndent(final String autoIndent) {
427         put("autoIndent", autoIndent);
428         return this;
429     }
430 
431     /**
432      * @return Accept suggestions on ENTER. Defaults to {@code on}.
433      */
434     public String getAcceptSuggestionOnEnter() {
435         return (String) (has("acceptSuggestionOnEnter") ? get("acceptSuggestionOnEnter") : null);
436     }
437 
438     /**
439      * @param acceptSuggestionOnEnter Accept suggestions on ENTER. Defaults to {@code on}.
440      * @return This same instance, useful for chaining multiple setter methods in one call.
441      */
442     public DiffEditorOptions setAcceptSuggestionOnEnter(final EAcceptSuggestionOnEnter acceptSuggestionOnEnter) {
443         put("acceptSuggestionOnEnter", acceptSuggestionOnEnter != null ? acceptSuggestionOnEnter.toString() : null);
444         return this;
445     }
446 
447     /**
448      * @param acceptSuggestionOnEnter Accept suggestions on ENTER. Defaults to {@code on}.
449      * @return This same instance, useful for chaining multiple setter methods in one call.
450      */
451     public DiffEditorOptions setAcceptSuggestionOnEnter(final String acceptSuggestionOnEnter) {
452         put("acceptSuggestionOnEnter", acceptSuggestionOnEnter);
453         return this;
454     }
455 
456     /**
457      * @return Configure the editor's accessibility support. Defaults to {@code auto}. It is best to leave this to
458      * {@code auto}.
459      */
460     public String getAccessibilitySupport() {
461         return (String) (has("accessibilitySupport") ? get("accessibilitySupport") : null);
462     }
463 
464     /**
465      * @param accessibilitySupport Configure the editor's accessibility support. Defaults to {@code auto}. It is best to
466      * leave this to {@code auto}.
467      * @return This same instance, useful for chaining multiple setter methods in one call.
468      */
469     public DiffEditorOptions setAccessibilitySupport(final EAccessibilitySupport accessibilitySupport) {
470         put("accessibilitySupport", accessibilitySupport != null ? accessibilitySupport.toString() : null);
471         return this;
472     }
473 
474     /**
475      * @param accessibilitySupport Configure the editor's accessibility support. Defaults to {@code auto}. It is best to
476      * leave this to {@code auto}.
477      * @return This same instance, useful for chaining multiple setter methods in one call.
478      */
479     public DiffEditorOptions setAccessibilitySupport(final String accessibilitySupport) {
480         put("accessibilitySupport", accessibilitySupport);
481         return this;
482     }
483 
484     /**
485      * @return Options for auto closing brackets. Defaults to language defined behavior.
486      */
487     public String getAutoClosingBrackets() {
488         return (String) (has("autoClosingBrackets") ? get("autoClosingBrackets") : null);
489     }
490 
491     /**
492      * @param autoClosingBrackets Options for auto closing brackets. Defaults to language defined behavior.
493      * @return This same instance, useful for chaining multiple setter methods in one call.
494      */
495     public DiffEditorOptions setAutoClosingBrackets(final EAutoClosingBrackets autoClosingBrackets) {
496         put("autoClosingBrackets", autoClosingBrackets != null ? autoClosingBrackets.toString() : null);
497         return this;
498     }
499 
500     /**
501      * @param autoClosingBrackets Options for auto closing brackets. Defaults to language defined behavior.
502      * @return This same instance, useful for chaining multiple setter methods in one call.
503      */
504     public DiffEditorOptions setAutoClosingBrackets(final String autoClosingBrackets) {
505         put("autoClosingBrackets", autoClosingBrackets);
506         return this;
507     }
508 
509     /**
510      * @return Options for pressing backspace near quotes or bracket pairs.
511      */
512     public String getAutoClosingDelete() {
513         return (String) (has("autoClosingDelete") ? get("autoClosingDelete") : null);
514     }
515 
516     /**
517      * @param autoClosingDelete Options for pressing backspace near quotes or bracket pairs.
518      * @return This same instance, useful for chaining multiple setter methods in one call.
519      */
520     public DiffEditorOptions setAutoClosingDelete(final EAutoClosingEditStrategy autoClosingDelete) {
521         put("autoClosingDelete", autoClosingDelete != null ? autoClosingDelete.toString() : null);
522         return this;
523     }
524 
525     /**
526      * @param autoClosingDelete Options for pressing backspace near quotes or bracket pairs.
527      * @return This same instance, useful for chaining multiple setter methods in one call.
528      */
529     public DiffEditorOptions setAutoClosingDelete(final String autoClosingDelete) {
530         put("autoClosingDelete", autoClosingDelete);
531         return this;
532     }
533 
534     /**
535      * @return Options for auto closing quotes. Defaults to language defined behavior.
536      */
537     public String getAutoClosingQuotes() {
538         return (String) (has("autoClosingQuotes") ? get("autoClosingQuotes") : null);
539     }
540 
541     /**
542      * @param autoClosingQuotes Options for auto closing quotes. Defaults to language defined behavior.
543      * @return This same instance, useful for chaining multiple setter methods in one call.
544      */
545     public DiffEditorOptions setAutoClosingQuotes(final EAutoClosingQuotes autoClosingQuotes) {
546         put("autoClosingQuotes", autoClosingQuotes != null ? autoClosingQuotes.toString() : null);
547         return this;
548     }
549 
550     /**
551      * @param autoClosingQuotes Options for auto closing quotes. Defaults to language defined behavior.
552      * @return This same instance, useful for chaining multiple setter methods in one call.
553      */
554     public DiffEditorOptions setAutoClosingQuotes(final String autoClosingQuotes) {
555         put("autoClosingQuotes", autoClosingQuotes);
556         return this;
557     }
558 
559     /**
560      * @return Options for auto surrounding. Defaults to always allowing auto surrounding.
561      */
562     public String getAutoSurround() {
563         return (String) (has("autoSurround") ? get("autoSurround") : null);
564     }
565 
566     /**
567      * @param autoSurround Options for auto surrounding. Defaults to always allowing auto surrounding.
568      * @return This same instance, useful for chaining multiple setter methods in one call.
569      */
570     public DiffEditorOptions setAutoSurround(final EAutoSurround autoSurround) {
571         put("autoSurround", autoSurround != null ? autoSurround.toString() : null);
572         return this;
573     }
574 
575     /**
576      * @param autoSurround Options for auto surrounding. Defaults to always allowing auto surrounding.
577      * @return This same instance, useful for chaining multiple setter methods in one call.
578      */
579     public DiffEditorOptions setAutoSurround(final String autoSurround) {
580         put("autoSurround", autoSurround);
581         return this;
582     }
583 
584     /**
585      * @return Controls what is the condition to spawn a color picker from a color decorator.
586      */
587     public String getColorDecoratorsActivatedOn() {
588         return (String) (has("colorDecoratorsActivatedOn") ? get("colorDecoratorsActivatedOn") : null);
589     }
590 
591     /**
592      * @param colorDecoratorsActivatedOn Controls what is the condition to spawn a color picker from a color decorator.
593      * @return This same instance, useful for chaining multiple setter methods in one call.
594      */
595     public DiffEditorOptions setColorDecoratorsActivatedOn(final EColorDecoratorsActivatedOnMode colorDecoratorsActivatedOn) {
596         put("colorDecoratorsActivatedOn", colorDecoratorsActivatedOn != null ? colorDecoratorsActivatedOn.toString() : null);
597         return this;
598     }
599 
600     /**
601      * @param colorDecoratorsActivatedOn Controls what is the condition to spawn a color picker from a color decorator.
602      * @return This same instance, useful for chaining multiple setter methods in one call.
603      */
604     public DiffEditorOptions setColorDecoratorsActivatedOn(final String colorDecoratorsActivatedOn) {
605         put("colorDecoratorsActivatedOn", colorDecoratorsActivatedOn);
606         return this;
607     }
608 
609     /**
610      * @return Control the cursor animation style, possible values are {@code blink}, {@code smooth}, {@code phase},
611      * {@code expand} and {@code solid}. Defaults to {@code blink}.
612      */
613     public String getCursorBlinking() {
614         return (String) (has("cursorBlinking") ? get("cursorBlinking") : null);
615     }
616 
617     /**
618      * @param cursorBlinking Control the cursor animation style, possible values are {@code blink}, {@code smooth},
619      * {@code phase}, {@code expand} and {@code solid}. Defaults to {@code blink}.
620      * @return This same instance, useful for chaining multiple setter methods in one call.
621      */
622     public DiffEditorOptions setCursorBlinking(final ECursorBlinking cursorBlinking) {
623         put("cursorBlinking", cursorBlinking != null ? cursorBlinking.toString() : null);
624         return this;
625     }
626 
627     /**
628      * @param cursorBlinking Control the cursor animation style, possible values are {@code blink}, {@code smooth},
629      * {@code phase}, {@code expand} and {@code solid}. Defaults to {@code blink}.
630      * @return This same instance, useful for chaining multiple setter methods in one call.
631      */
632     public DiffEditorOptions setCursorBlinking(final String cursorBlinking) {
633         put("cursorBlinking", cursorBlinking);
634         return this;
635     }
636 
637     /**
638      * @return Enable smooth caret animation. Defaults to {@code off}.
639      */
640     public String getCursorSmoothCaretAnimation() {
641         return (String) (has("cursorSmoothCaretAnimation") ? get("cursorSmoothCaretAnimation") : null);
642     }
643 
644     /**
645      * @param cursorSmoothCaretAnimation Enable smooth caret animation. Defaults to {@code off}.
646      * @return This same instance, useful for chaining multiple setter methods in one call.
647      */
648     public DiffEditorOptions setCursorSmoothCaretAnimation(final ECursorSmoothCaretAnimation cursorSmoothCaretAnimation) {
649         put("cursorSmoothCaretAnimation", cursorSmoothCaretAnimation != null ? cursorSmoothCaretAnimation.toString() : null);
650         return this;
651     }
652 
653     /**
654      * @param cursorSmoothCaretAnimation Enable smooth caret animation. Defaults to {@code off}.
655      * @return This same instance, useful for chaining multiple setter methods in one call.
656      */
657     public DiffEditorOptions setCursorSmoothCaretAnimation(final String cursorSmoothCaretAnimation) {
658         put("cursorSmoothCaretAnimation", cursorSmoothCaretAnimation);
659         return this;
660     }
661 
662     /**
663      * @return Control the cursor style, either {@code block} or {@code line}. Defaults to {@code line}.
664      */
665     public String getCursorStyle() {
666         return (String) (has("cursorStyle") ? get("cursorStyle") : null);
667     }
668 
669     /**
670      * @param cursorStyle Control the cursor style, either {@code block} or {@code line}. Defaults to {@code line}.
671      * @return This same instance, useful for chaining multiple setter methods in one call.
672      */
673     public DiffEditorOptions setCursorStyle(final ECursorStyle cursorStyle) {
674         put("cursorStyle", cursorStyle != null ? cursorStyle.toString() : null);
675         return this;
676     }
677 
678     /**
679      * @param cursorStyle Control the cursor style, either {@code block} or {@code line}. Defaults to {@code line}.
680      * @return This same instance, useful for chaining multiple setter methods in one call.
681      */
682     public DiffEditorOptions setCursorStyle(final String cursorStyle) {
683         put("cursorStyle", cursorStyle);
684         return this;
685     }
686 
687     /**
688      * @return Controls when {@code cursorSurroundingLines} should be enforced Defaults to {@code default}, {@code
689      * cursorSurroundingLines} is not enforced when cursor position is changed by mouse.
690      */
691     public String getCursorSurroundingLinesStyle() {
692         return (String) (has("cursorSurroundingLinesStyle") ? get("cursorSurroundingLinesStyle") : null);
693     }
694 
695     /**
696      * @param cursorSurroundingLinesStyle Controls when {@code cursorSurroundingLines} should be enforced Defaults to
697      * {@code default}, {@code cursorSurroundingLines} is not enforced when cursor position is changed by mouse.
698      * @return This same instance, useful for chaining multiple setter methods in one call.
699      */
700     public DiffEditorOptions setCursorSurroundingLinesStyle(final ECursorSurroundingLinesStyle cursorSurroundingLinesStyle) {
701         put("cursorSurroundingLinesStyle", cursorSurroundingLinesStyle != null ? cursorSurroundingLinesStyle.toString() : null);
702         return this;
703     }
704 
705     /**
706      * @param cursorSurroundingLinesStyle Controls when {@code cursorSurroundingLines} should be enforced Defaults to
707      * {@code default}, {@code cursorSurroundingLines} is not enforced when cursor position is changed by mouse.
708      * @return This same instance, useful for chaining multiple setter methods in one call.
709      */
710     public DiffEditorOptions setCursorSurroundingLinesStyle(final String cursorSurroundingLinesStyle) {
711         put("cursorSurroundingLinesStyle", cursorSurroundingLinesStyle);
712         return this;
713     }
714 
715     /**
716      * @return Enable experimental whitespace rendering. Defaults to {@code svg}.
717      */
718     public String getExperimentalWhitespaceRendering() {
719         return (String) (has("experimentalWhitespaceRendering") ? get("experimentalWhitespaceRendering") : null);
720     }
721 
722     /**
723      * @param experimentalWhitespaceRendering Enable experimental whitespace rendering. Defaults to {@code svg}.
724      * @return This same instance, useful for chaining multiple setter methods in one call.
725      */
726     public DiffEditorOptions setExperimentalWhitespaceRendering(final EExperimentalWhitespaceRendering experimentalWhitespaceRendering) {
727         put("experimentalWhitespaceRendering", experimentalWhitespaceRendering != null ? experimentalWhitespaceRendering.toString() : null);
728         return this;
729     }
730 
731     /**
732      * @param experimentalWhitespaceRendering Enable experimental whitespace rendering. Defaults to {@code svg}.
733      * @return This same instance, useful for chaining multiple setter methods in one call.
734      */
735     public DiffEditorOptions setExperimentalWhitespaceRendering(final String experimentalWhitespaceRendering) {
736         put("experimentalWhitespaceRendering", experimentalWhitespaceRendering);
737         return this;
738     }
739 
740     /**
741      * @return Selects the folding strategy. 'auto' uses the strategies contributed for the current document,
742      * 'indentation' uses the indentation based folding strategy. Defaults to 'auto'.
743      */
744     public String getFoldingStrategy() {
745         return (String) (has("foldingStrategy") ? get("foldingStrategy") : null);
746     }
747 
748     /**
749      * @param foldingStrategy Selects the folding strategy. 'auto' uses the strategies contributed for the current
750      * document, 'indentation' uses the indentation based folding strategy. Defaults to 'auto'.
751      * @return This same instance, useful for chaining multiple setter methods in one call.
752      */
753     public DiffEditorOptions setFoldingStrategy(final EFoldingStrategy foldingStrategy) {
754         put("foldingStrategy", foldingStrategy != null ? foldingStrategy.toString() : null);
755         return this;
756     }
757 
758     /**
759      * @param foldingStrategy Selects the folding strategy. 'auto' uses the strategies contributed for the current
760      * document, 'indentation' uses the indentation based folding strategy. Defaults to 'auto'.
761      * @return This same instance, useful for chaining multiple setter methods in one call.
762      */
763     public DiffEditorOptions setFoldingStrategy(final String foldingStrategy) {
764         put("foldingStrategy", foldingStrategy);
765         return this;
766     }
767 
768     /**
769      * @return The font weight
770      */
771     public String getFontWeight() {
772         return (String) (has("fontWeight") ? get("fontWeight") : null);
773     }
774 
775     /**
776      * @param fontWeight The font weight
777      * @return This same instance, useful for chaining multiple setter methods in one call.
778      */
779     public DiffEditorOptions setFontWeight(final EFontWeight fontWeight) {
780         put("fontWeight", fontWeight != null ? fontWeight.toString() : null);
781         return this;
782     }
783 
784     /**
785      * @param fontWeight The font weight
786      * @return This same instance, useful for chaining multiple setter methods in one call.
787      */
788     public DiffEditorOptions setFontWeight(final String fontWeight) {
789         put("fontWeight", fontWeight);
790         return this;
791     }
792 
793     /**
794      * @return Control the rendering of line numbers. If it is a function, it will be invoked when rendering a line
795      * number and the return value will be rendered. Otherwise, if it is a truey, line numbers will be rendered normally
796      * (equivalent of using an identity function). Otherwise, line numbers will not be rendered. Defaults to {@code on}.
797      */
798     public String getLineNumbers() {
799         return (String) (has("lineNumbers") ? get("lineNumbers") : null);
800     }
801 
802     /**
803      * @param lineNumbers Control the rendering of line numbers. If it is a function, it will be invoked when rendering
804      * a line number and the return value will be rendered. Otherwise, if it is a truey, line numbers will be rendered
805      * normally (equivalent of using an identity function). Otherwise, line numbers will not be rendered. Defaults to
806      * {@code on}.
807      * @return This same instance, useful for chaining multiple setter methods in one call.
808      */
809     public DiffEditorOptions setLineNumbers(final ELineNumbers lineNumbers) {
810         put("lineNumbers", lineNumbers != null ? lineNumbers.toString() : null);
811         return this;
812     }
813 
814     /**
815      * @param lineNumbers Control the rendering of line numbers. If it is a function, it will be invoked when rendering
816      * a line number and the return value will be rendered. Otherwise, if it is a truey, line numbers will be rendered
817      * normally (equivalent of using an identity function). Otherwise, line numbers will not be rendered. Defaults to
818      * {@code on}.
819      * @return This same instance, useful for chaining multiple setter methods in one call.
820      */
821     public DiffEditorOptions setLineNumbers(final String lineNumbers) {
822         put("lineNumbers", lineNumbers);
823         return this;
824     }
825 
826     /**
827      * @return Enable highlighting of matching brackets. Defaults to {@code always}.
828      */
829     public String getMatchBrackets() {
830         return (String) (has("matchBrackets") ? get("matchBrackets") : null);
831     }
832 
833     /**
834      * @param matchBrackets Enable highlighting of matching brackets. Defaults to {@code always}.
835      * @return This same instance, useful for chaining multiple setter methods in one call.
836      */
837     public DiffEditorOptions setMatchBrackets(final EMatchBrackets matchBrackets) {
838         put("matchBrackets", matchBrackets != null ? matchBrackets.toString() : null);
839         return this;
840     }
841 
842     /**
843      * @param matchBrackets Enable highlighting of matching brackets. Defaults to {@code always}.
844      * @return This same instance, useful for chaining multiple setter methods in one call.
845      */
846     public DiffEditorOptions setMatchBrackets(final String matchBrackets) {
847         put("matchBrackets", matchBrackets);
848         return this;
849     }
850 
851     /**
852      * @return Control the mouse pointer style, either 'text' or 'default' or 'copy' Defaults to {@code text}
853      */
854     public String getMouseStyle() {
855         return (String) (has("mouseStyle") ? get("mouseStyle") : null);
856     }
857 
858     /**
859      * @param mouseStyle Control the mouse pointer style, either 'text' or 'default' or 'copy' Defaults to {@code text}
860      * @return This same instance, useful for chaining multiple setter methods in one call.
861      */
862     public DiffEditorOptions setMouseStyle(final EMouseStyle mouseStyle) {
863         put("mouseStyle", mouseStyle != null ? mouseStyle.toString() : null);
864         return this;
865     }
866 
867     /**
868      * @param mouseStyle Control the mouse pointer style, either 'text' or 'default' or 'copy' Defaults to {@code text}
869      * @return This same instance, useful for chaining multiple setter methods in one call.
870      */
871     public DiffEditorOptions setMouseStyle(final String mouseStyle) {
872         put("mouseStyle", mouseStyle);
873         return this;
874     }
875 
876     /**
877      * @return The modifier to be used to add multiple cursors with the mouse. Defaults to {@code alt}
878      */
879     public String getMultiCursorModifier() {
880         return (String) (has("multiCursorModifier") ? get("multiCursorModifier") : null);
881     }
882 
883     /**
884      * @param multiCursorModifier The modifier to be used to add multiple cursors with the mouse. Defaults to {@code
885      * alt}
886      * @return This same instance, useful for chaining multiple setter methods in one call.
887      */
888     public DiffEditorOptions setMultiCursorModifier(final EMultiCursorModifier multiCursorModifier) {
889         put("multiCursorModifier", multiCursorModifier != null ? multiCursorModifier.toString() : null);
890         return this;
891     }
892 
893     /**
894      * @param multiCursorModifier The modifier to be used to add multiple cursors with the mouse. Defaults to {@code
895      * alt}
896      * @return This same instance, useful for chaining multiple setter methods in one call.
897      */
898     public DiffEditorOptions setMultiCursorModifier(final String multiCursorModifier) {
899         put("multiCursorModifier", multiCursorModifier);
900         return this;
901     }
902 
903     /**
904      * @return Configure the behaviour when pasting a text with the line count equal to the cursor count. Defaults to
905      * {@code spread}.
906      */
907     public String getMultiCursorPaste() {
908         return (String) (has("multiCursorPaste") ? get("multiCursorPaste") : null);
909     }
910 
911     /**
912      * @param multiCursorPaste Configure the behaviour when pasting a text with the line count equal to the cursor
913      * count. Defaults to {@code spread}.
914      * @return This same instance, useful for chaining multiple setter methods in one call.
915      */
916     public DiffEditorOptions setMultiCursorPaste(final EMultiCursorPaste multiCursorPaste) {
917         put("multiCursorPaste", multiCursorPaste != null ? multiCursorPaste.toString() : null);
918         return this;
919     }
920 
921     /**
922      * @param multiCursorPaste Configure the behaviour when pasting a text with the line count equal to the cursor
923      * count. Defaults to {@code spread}.
924      * @return This same instance, useful for chaining multiple setter methods in one call.
925      */
926     public DiffEditorOptions setMultiCursorPaste(final String multiCursorPaste) {
927         put("multiCursorPaste", multiCursorPaste);
928         return this;
929     }
930 
931     /**
932      * @return Enable semantic occurrences highlight. Defaults to {@code singleFile}.
933      */
934     public String getOccurrencesHighlight() {
935         return (String) (has("occurrencesHighlight") ? get("occurrencesHighlight") : null);
936     }
937 
938     /**
939      * @param occurrencesHighlight Enable semantic occurrences highlight. Defaults to {@code singleFile}.
940      * @return This same instance, useful for chaining multiple setter methods in one call.
941      */
942     public DiffEditorOptions setOccurrencesHighlight(final EOccurrencesHighlight occurrencesHighlight) {
943         put("occurrencesHighlight", occurrencesHighlight != null ? occurrencesHighlight.toString() : null);
944         return this;
945     }
946 
947     /**
948      * @param occurrencesHighlight Enable semantic occurrences highlight. Defaults to {@code singleFile}.
949      * @return This same instance, useful for chaining multiple setter methods in one call.
950      */
951     public DiffEditorOptions setOccurrencesHighlight(final String occurrencesHighlight) {
952         put("occurrencesHighlight", occurrencesHighlight);
953         return this;
954     }
955 
956     /**
957      * @return Controls whether to focus the inline editor in the peek widget by default. Defaults to {@code false}.
958      */
959     public String getPeekWidgetDefaultFocus() {
960         return (String) (has("peekWidgetDefaultFocus") ? get("peekWidgetDefaultFocus") : null);
961     }
962 
963     /**
964      * @param peekWidgetDefaultFocus Controls whether to focus the inline editor in the peek widget by default. Defaults
965      * to {@code false}.
966      * @return This same instance, useful for chaining multiple setter methods in one call.
967      */
968     public DiffEditorOptions setPeekWidgetDefaultFocus(final EPeekWidgetDefaultFocus peekWidgetDefaultFocus) {
969         put("peekWidgetDefaultFocus", peekWidgetDefaultFocus != null ? peekWidgetDefaultFocus.toString() : null);
970         return this;
971     }
972 
973     /**
974      * @param peekWidgetDefaultFocus Controls whether to focus the inline editor in the peek widget by default. Defaults
975      * to {@code false}.
976      * @return This same instance, useful for chaining multiple setter methods in one call.
977      */
978     public DiffEditorOptions setPeekWidgetDefaultFocus(final String peekWidgetDefaultFocus) {
979         put("peekWidgetDefaultFocus", peekWidgetDefaultFocus);
980         return this;
981     }
982 
983     /**
984      * @return Render last line number when the file ends with a newline. Defaults to {@code on} for Windows and macOS
985      * and {@code dimmed} for Linux.
986      */
987     public String getRenderFinalNewline() {
988         return (String) (has("renderFinalNewline") ? get("renderFinalNewline") : null);
989     }
990 
991     /**
992      * @param renderFinalNewline Render last line number when the file ends with a newline. Defaults to {@code on} for
993      * Windows and macOS and {@code dimmed} for Linux.
994      * @return This same instance, useful for chaining multiple setter methods in one call.
995      */
996     public DiffEditorOptions setRenderFinalNewline(final ERenderFinalNewline renderFinalNewline) {
997         put("renderFinalNewline", renderFinalNewline != null ? renderFinalNewline.toString() : null);
998         return this;
999     }
1000 
1001     /**
1002      * @param renderFinalNewline Render last line number when the file ends with a newline. Defaults to {@code on} for
1003      * Windows and macOS and {@code dimmed} for Linux.
1004      * @return This same instance, useful for chaining multiple setter methods in one call.
1005      */
1006     public DiffEditorOptions setRenderFinalNewline(final String renderFinalNewline) {
1007         put("renderFinalNewline", renderFinalNewline);
1008         return this;
1009     }
1010 
1011     /**
1012      * @return Enable rendering of current line highlight. Defaults to {@code all}.
1013      */
1014     public String getRenderLineHighlight() {
1015         return (String) (has("renderLineHighlight") ? get("renderLineHighlight") : null);
1016     }
1017 
1018     /**
1019      * @param renderLineHighlight Enable rendering of current line highlight. Defaults to {@code all}.
1020      * @return This same instance, useful for chaining multiple setter methods in one call.
1021      */
1022     public DiffEditorOptions setRenderLineHighlight(final ERenderLineHighlight renderLineHighlight) {
1023         put("renderLineHighlight", renderLineHighlight != null ? renderLineHighlight.toString() : null);
1024         return this;
1025     }
1026 
1027     /**
1028      * @param renderLineHighlight Enable rendering of current line highlight. Defaults to {@code all}.
1029      * @return This same instance, useful for chaining multiple setter methods in one call.
1030      */
1031     public DiffEditorOptions setRenderLineHighlight(final String renderLineHighlight) {
1032         put("renderLineHighlight", renderLineHighlight);
1033         return this;
1034     }
1035 
1036     /**
1037      * @return Should the editor render validation decorations. Defaults to {@code editable}.
1038      */
1039     public String getRenderValidationDecorations() {
1040         return (String) (has("renderValidationDecorations") ? get("renderValidationDecorations") : null);
1041     }
1042 
1043     /**
1044      * @param renderValidationDecorations Should the editor render validation decorations. Defaults to {@code editable}.
1045      * @return This same instance, useful for chaining multiple setter methods in one call.
1046      */
1047     public DiffEditorOptions setRenderValidationDecorations(final ERenderValidationDecorations renderValidationDecorations) {
1048         put("renderValidationDecorations", renderValidationDecorations != null ? renderValidationDecorations.toString() : null);
1049         return this;
1050     }
1051 
1052     /**
1053      * @param renderValidationDecorations Should the editor render validation decorations. Defaults to {@code editable}.
1054      * @return This same instance, useful for chaining multiple setter methods in one call.
1055      */
1056     public DiffEditorOptions setRenderValidationDecorations(final String renderValidationDecorations) {
1057         put("renderValidationDecorations", renderValidationDecorations);
1058         return this;
1059     }
1060 
1061     /**
1062      * @return Enable rendering of whitespace. Defaults to {@code none}.
1063      */
1064     public String getRenderWhitespace() {
1065         return (String) (has("renderWhitespace") ? get("renderWhitespace") : null);
1066     }
1067 
1068     /**
1069      * @param renderWhitespace Enable rendering of whitespace. Defaults to {@code none}.
1070      * @return This same instance, useful for chaining multiple setter methods in one call.
1071      */
1072     public DiffEditorOptions setRenderWhitespace(final ERenderWhitespace renderWhitespace) {
1073         put("renderWhitespace", renderWhitespace != null ? renderWhitespace.toString() : null);
1074         return this;
1075     }
1076 
1077     /**
1078      * @param renderWhitespace Enable rendering of whitespace. Defaults to {@code none}.
1079      * @return This same instance, useful for chaining multiple setter methods in one call.
1080      */
1081     public DiffEditorOptions setRenderWhitespace(final String renderWhitespace) {
1082         put("renderWhitespace", renderWhitespace);
1083         return this;
1084     }
1085 
1086     /**
1087      * @return Controls whether the fold actions in the gutter stay always visible or hide unless the mouse is over the
1088      * gutter. Defaults to {@code mouseover}.
1089      */
1090     public String getShowFoldingControls() {
1091         return (String) (has("showFoldingControls") ? get("showFoldingControls") : null);
1092     }
1093 
1094     /**
1095      * @param showFoldingControls Controls whether the fold actions in the gutter stay always visible or hide unless the
1096      * mouse is over the gutter. Defaults to {@code mouseover}.
1097      * @return This same instance, useful for chaining multiple setter methods in one call.
1098      */
1099     public DiffEditorOptions setShowFoldingControls(final EShowFoldingControls showFoldingControls) {
1100         put("showFoldingControls", showFoldingControls != null ? showFoldingControls.toString() : null);
1101         return this;
1102     }
1103 
1104     /**
1105      * @param showFoldingControls Controls whether the fold actions in the gutter stay always visible or hide unless the
1106      * mouse is over the gutter. Defaults to {@code mouseover}.
1107      * @return This same instance, useful for chaining multiple setter methods in one call.
1108      */
1109     public DiffEditorOptions setShowFoldingControls(final String showFoldingControls) {
1110         put("showFoldingControls", showFoldingControls);
1111         return this;
1112     }
1113 
1114     /**
1115      * @return Enable snippet suggestions. Defaults to 'inline'.
1116      */
1117     public String getSnippetSuggestions() {
1118         return (String) (has("snippetSuggestions") ? get("snippetSuggestions") : null);
1119     }
1120 
1121     /**
1122      * @param snippetSuggestions Enable snippet suggestions. Defaults to 'inline'.
1123      * @return This same instance, useful for chaining multiple setter methods in one call.
1124      */
1125     public DiffEditorOptions setSnippetSuggestions(final ESnippetSuggestions snippetSuggestions) {
1126         put("snippetSuggestions", snippetSuggestions != null ? snippetSuggestions.toString() : null);
1127         return this;
1128     }
1129 
1130     /**
1131      * @param snippetSuggestions Enable snippet suggestions. Defaults to 'inline'.
1132      * @return This same instance, useful for chaining multiple setter methods in one call.
1133      */
1134     public DiffEditorOptions setSnippetSuggestions(final String snippetSuggestions) {
1135         put("snippetSuggestions", snippetSuggestions);
1136         return this;
1137     }
1138 
1139     /**
1140      * @return Keep peek editors open even when double clicking their content or when hitting Escape. Defaults to {@code
1141      * false}.
1142      */
1143     public String getSuggestSelection() {
1144         return (String) (has("suggestSelection") ? get("suggestSelection") : null);
1145     }
1146 
1147     /**
1148      * @param suggestSelection Keep peek editors open even when double clicking their content or when hitting Escape.
1149      * Defaults to {@code false}.
1150      * @return This same instance, useful for chaining multiple setter methods in one call.
1151      */
1152     public DiffEditorOptions setSuggestSelection(final ESuggestSelection suggestSelection) {
1153         put("suggestSelection", suggestSelection != null ? suggestSelection.toString() : null);
1154         return this;
1155     }
1156 
1157     /**
1158      * @param suggestSelection Keep peek editors open even when double clicking their content or when hitting Escape.
1159      * Defaults to {@code false}.
1160      * @return This same instance, useful for chaining multiple setter methods in one call.
1161      */
1162     public DiffEditorOptions setSuggestSelection(final String suggestSelection) {
1163         put("suggestSelection", suggestSelection);
1164         return this;
1165     }
1166 
1167     /**
1168      * @return Enable tab completion.
1169      */
1170     public String getTabCompletion() {
1171         return (String) (has("tabCompletion") ? get("tabCompletion") : null);
1172     }
1173 
1174     /**
1175      * @param tabCompletion Enable tab completion.
1176      * @return This same instance, useful for chaining multiple setter methods in one call.
1177      */
1178     public DiffEditorOptions setTabCompletion(final ETabCompletion tabCompletion) {
1179         put("tabCompletion", tabCompletion != null ? tabCompletion.toString() : null);
1180         return this;
1181     }
1182 
1183     /**
1184      * @param tabCompletion Enable tab completion.
1185      * @return This same instance, useful for chaining multiple setter methods in one call.
1186      */
1187     public DiffEditorOptions setTabCompletion(final String tabCompletion) {
1188         put("tabCompletion", tabCompletion);
1189         return this;
1190     }
1191 
1192     /**
1193      * @return Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS). Defaults to {@code
1194      * prompt}.
1195      */
1196     public String getUnusualLineTerminators() {
1197         return (String) (has("unusualLineTerminators") ? get("unusualLineTerminators") : null);
1198     }
1199 
1200     /**
1201      * @param unusualLineTerminators Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
1202      * Defaults to {@code prompt}.
1203      * @return This same instance, useful for chaining multiple setter methods in one call.
1204      */
1205     public DiffEditorOptions setUnusualLineTerminators(final EUnusualLineTerminators unusualLineTerminators) {
1206         put("unusualLineTerminators", unusualLineTerminators != null ? unusualLineTerminators.toString() : null);
1207         return this;
1208     }
1209 
1210     /**
1211      * @param unusualLineTerminators Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
1212      * Defaults to {@code prompt}.
1213      * @return This same instance, useful for chaining multiple setter methods in one call.
1214      */
1215     public DiffEditorOptions setUnusualLineTerminators(final String unusualLineTerminators) {
1216         put("unusualLineTerminators", unusualLineTerminators);
1217         return this;
1218     }
1219 
1220     /**
1221      * @return Sets whether line breaks appear wherever the text would otherwise overflow its content box. When
1222      * wordBreak = {@code normal}, Use the default line break rule. When wordBreak = {@code keepAll}, word breaks should
1223      * not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.
1224      */
1225     public String getWordBreak() {
1226         return (String) (has("wordBreak") ? get("wordBreak") : null);
1227     }
1228 
1229     /**
1230      * @param wordBreak Sets whether line breaks appear wherever the text would otherwise overflow its content box. When
1231      * wordBreak = {@code normal}, Use the default line break rule. When wordBreak = {@code keepAll}, word breaks should
1232      * not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.
1233      * @return This same instance, useful for chaining multiple setter methods in one call.
1234      */
1235     public DiffEditorOptions setWordBreak(final EWordBreak wordBreak) {
1236         put("wordBreak", wordBreak != null ? wordBreak.toString() : null);
1237         return this;
1238     }
1239 
1240     /**
1241      * @param wordBreak Sets whether line breaks appear wherever the text would otherwise overflow its content box. When
1242      * wordBreak = {@code normal}, Use the default line break rule. When wordBreak = {@code keepAll}, word breaks should
1243      * not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.
1244      * @return This same instance, useful for chaining multiple setter methods in one call.
1245      */
1246     public DiffEditorOptions setWordBreak(final String wordBreak) {
1247         put("wordBreak", wordBreak);
1248         return this;
1249     }
1250 
1251     /**
1252      * @return Control the wrapping of the editor. When {@code wordWrap} = {@code off}, the lines will never wrap. When
1253      * {@code wordWrap} = {@code on}, the lines will wrap at the viewport width. When {@code wordWrap} = {@code
1254      * wordWrapColumn}, the lines will wrap at {@code wordWrapColumn}. When {@code wordWrap} = {@code bounded}, the
1255      * lines will wrap at {@code min(viewport width, wordWrapColumn)}. Defaults to {@code off}.
1256      */
1257     public String getWordWrap() {
1258         return (String) (has("wordWrap") ? get("wordWrap") : null);
1259     }
1260 
1261     /**
1262      * @param wordWrap Control the wrapping of the editor. When {@code wordWrap} = {@code off}, the lines will never
1263      * wrap. When {@code wordWrap} = {@code on}, the lines will wrap at the viewport width. When {@code wordWrap} =
1264      * {@code wordWrapColumn}, the lines will wrap at {@code wordWrapColumn}. When {@code wordWrap} = {@code bounded},
1265      * the lines will wrap at {@code min(viewport width, wordWrapColumn)}. Defaults to {@code off}.
1266      * @return This same instance, useful for chaining multiple setter methods in one call.
1267      */
1268     public DiffEditorOptions setWordWrap(final EWordWrap wordWrap) {
1269         put("wordWrap", wordWrap != null ? wordWrap.toString() : null);
1270         return this;
1271     }
1272 
1273     /**
1274      * @param wordWrap Control the wrapping of the editor. When {@code wordWrap} = {@code off}, the lines will never
1275      * wrap. When {@code wordWrap} = {@code on}, the lines will wrap at the viewport width. When {@code wordWrap} =
1276      * {@code wordWrapColumn}, the lines will wrap at {@code wordWrapColumn}. When {@code wordWrap} = {@code bounded},
1277      * the lines will wrap at {@code min(viewport width, wordWrapColumn)}. Defaults to {@code off}.
1278      * @return This same instance, useful for chaining multiple setter methods in one call.
1279      */
1280     public DiffEditorOptions setWordWrap(final String wordWrap) {
1281         put("wordWrap", wordWrap);
1282         return this;
1283     }
1284 
1285     /**
1286      * @return Override the {@code wordWrap} setting.
1287      */
1288     public String getWordWrapOverride1() {
1289         return (String) (has("wordWrapOverride1") ? get("wordWrapOverride1") : null);
1290     }
1291 
1292     /**
1293      * @param wordWrapOverride1 Override the {@code wordWrap} setting.
1294      * @return This same instance, useful for chaining multiple setter methods in one call.
1295      */
1296     public DiffEditorOptions setWordWrapOverride1(final EWordWrapOverride1 wordWrapOverride1) {
1297         put("wordWrapOverride1", wordWrapOverride1 != null ? wordWrapOverride1.toString() : null);
1298         return this;
1299     }
1300 
1301     /**
1302      * @param wordWrapOverride1 Override the {@code wordWrap} setting.
1303      * @return This same instance, useful for chaining multiple setter methods in one call.
1304      */
1305     public DiffEditorOptions setWordWrapOverride1(final String wordWrapOverride1) {
1306         put("wordWrapOverride1", wordWrapOverride1);
1307         return this;
1308     }
1309 
1310     /**
1311      * @return Override the {@code wordWrapOverride1} setting.
1312      */
1313     public String getWordWrapOverride2() {
1314         return (String) (has("wordWrapOverride2") ? get("wordWrapOverride2") : null);
1315     }
1316 
1317     /**
1318      * @param wordWrapOverride2 Override the {@code wordWrapOverride1} setting.
1319      * @return This same instance, useful for chaining multiple setter methods in one call.
1320      */
1321     public DiffEditorOptions setWordWrapOverride2(final EWordWrapOverride2 wordWrapOverride2) {
1322         put("wordWrapOverride2", wordWrapOverride2 != null ? wordWrapOverride2.toString() : null);
1323         return this;
1324     }
1325 
1326     /**
1327      * @param wordWrapOverride2 Override the {@code wordWrapOverride1} setting.
1328      * @return This same instance, useful for chaining multiple setter methods in one call.
1329      */
1330     public DiffEditorOptions setWordWrapOverride2(final String wordWrapOverride2) {
1331         put("wordWrapOverride2", wordWrapOverride2);
1332         return this;
1333     }
1334 
1335     /**
1336      * @return Control indentation of wrapped lines. Can be: {@code none}, {@code same}, {@code indent} or {@code
1337      * deepIndent}. Defaults to {@code same} in vscode and to {@code none} in monaco-editor.
1338      */
1339     public String getWrappingIndent() {
1340         return (String) (has("wrappingIndent") ? get("wrappingIndent") : null);
1341     }
1342 
1343     /**
1344      * @param wrappingIndent Control indentation of wrapped lines. Can be: {@code none}, {@code same}, {@code indent} or
1345      * {@code deepIndent}. Defaults to {@code same} in vscode and to {@code none} in monaco-editor.
1346      * @return This same instance, useful for chaining multiple setter methods in one call.
1347      */
1348     public DiffEditorOptions setWrappingIndent(final EWrappingIndent wrappingIndent) {
1349         put("wrappingIndent", wrappingIndent != null ? wrappingIndent.toString() : null);
1350         return this;
1351     }
1352 
1353     /**
1354      * @param wrappingIndent Control indentation of wrapped lines. Can be: {@code none}, {@code same}, {@code indent} or
1355      * {@code deepIndent}. Defaults to {@code same} in vscode and to {@code none} in monaco-editor.
1356      * @return This same instance, useful for chaining multiple setter methods in one call.
1357      */
1358     public DiffEditorOptions setWrappingIndent(final String wrappingIndent) {
1359         put("wrappingIndent", wrappingIndent);
1360         return this;
1361     }
1362 
1363     /**
1364      * @return Controls the wrapping strategy to use. Defaults to {@code simple}.
1365      */
1366     public String getWrappingStrategy() {
1367         return (String) (has("wrappingStrategy") ? get("wrappingStrategy") : null);
1368     }
1369 
1370     /**
1371      * @param wrappingStrategy Controls the wrapping strategy to use. Defaults to {@code simple}.
1372      * @return This same instance, useful for chaining multiple setter methods in one call.
1373      */
1374     public DiffEditorOptions setWrappingStrategy(final EWrappingStrategy wrappingStrategy) {
1375         put("wrappingStrategy", wrappingStrategy != null ? wrappingStrategy.toString() : null);
1376         return this;
1377     }
1378 
1379     /**
1380      * @param wrappingStrategy Controls the wrapping strategy to use. Defaults to {@code simple}.
1381      * @return This same instance, useful for chaining multiple setter methods in one call.
1382      */
1383     public DiffEditorOptions setWrappingStrategy(final String wrappingStrategy) {
1384         put("wrappingStrategy", wrappingStrategy);
1385         return this;
1386     }
1387 
1388     /**
1389      * @return Render vertical lines at the specified columns. Defaults to empty array.
1390      */
1391     public JSONArray getRulers() {
1392         return (JSONArray) (has("rulers") ? get("rulers") : null);
1393     }
1394 
1395     /**
1396      * @param rulers Render vertical lines at the specified columns. Defaults to empty array.
1397      * @return This same instance, useful for chaining multiple setter methods in one call.
1398      */
1399     public DiffEditorOptions setRulers(final JSONArray rulers) {
1400         put("rulers", rulers);
1401         return this;
1402     }
1403 
1404     /**
1405      * @return Render vertical lines at the specified columns. Defaults to empty array.
1406      */
1407     public DiffEditorOptions addRuler(final EditorRulerOption ... items) {
1408         JSONArray x = getRulers();
1409         if (x == null) {
1410             x = new JSONArray();
1411             setRulers(x);
1412         }
1413         for (EditorRulerOption item : items) x.put(item);
1414         return this;
1415     }
1416 
1417     /**
1418      * @param rulers Render vertical lines at the specified columns. Defaults to empty array.
1419      * @return This same instance, useful for chaining multiple setter methods in one call.
1420      */
1421     public DiffEditorOptions setRulers(final java.util.List<EditorRulerOption> rulers) {
1422         return setRulers(new JSONArray(rulers));
1423     }
1424 
1425     /**
1426      * @return Accept suggestions on provider defined characters. Defaults to {@code true}.
1427      */
1428     public Boolean isAcceptSuggestionOnCommitCharacter() {
1429         return (Boolean) (has("acceptSuggestionOnCommitCharacter") ? get("acceptSuggestionOnCommitCharacter") : null);
1430     }
1431 
1432     /**
1433      * @param acceptSuggestionOnCommitCharacter Accept suggestions on provider defined characters. Defaults to {@code
1434      * true}.
1435      * @return This same instance, useful for chaining multiple setter methods in one call.
1436      */
1437     public DiffEditorOptions setAcceptSuggestionOnCommitCharacter(final Boolean acceptSuggestionOnCommitCharacter) {
1438         put("acceptSuggestionOnCommitCharacter", acceptSuggestionOnCommitCharacter);
1439         return this;
1440     }
1441 
1442     /**
1443      * @return If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
1444      * Defaults to {@code true}.
1445      */
1446     public Boolean isAutoDetectHighContrast() {
1447         return (Boolean) (has("autoDetectHighContrast") ? get("autoDetectHighContrast") : null);
1448     }
1449 
1450     /**
1451      * @param autoDetectHighContrast If enabled, will automatically change to high contrast theme if the OS is using a
1452      * high contrast theme. Defaults to {@code true}.
1453      * @return This same instance, useful for chaining multiple setter methods in one call.
1454      */
1455     public DiffEditorOptions setAutoDetectHighContrast(final Boolean autoDetectHighContrast) {
1456         put("autoDetectHighContrast", autoDetectHighContrast);
1457         return this;
1458     }
1459 
1460     /**
1461      * @return Enable that the editor will install an interval to check if its container dom node size has changed.
1462      * Enabling this might have a severe performance impact. Defaults to {@code false}.
1463      */
1464     public Boolean isAutomaticLayout() {
1465         return (Boolean) (has("automaticLayout") ? get("automaticLayout") : null);
1466     }
1467 
1468     /**
1469      * @param automaticLayout Enable that the editor will install an interval to check if its container dom node size
1470      * has changed. Enabling this might have a severe performance impact. Defaults to {@code false}.
1471      * @return This same instance, useful for chaining multiple setter methods in one call.
1472      */
1473     public DiffEditorOptions setAutomaticLayout(final Boolean automaticLayout) {
1474         put("automaticLayout", automaticLayout);
1475         return this;
1476     }
1477 
1478     /**
1479      * @return Show code lens Defaults to {@code true}.
1480      */
1481     public Boolean isCodeLens() {
1482         return (Boolean) (has("codeLens") ? get("codeLens") : null);
1483     }
1484 
1485     /**
1486      * @param codeLens Show code lens Defaults to {@code true}.
1487      * @return This same instance, useful for chaining multiple setter methods in one call.
1488      */
1489     public DiffEditorOptions setCodeLens(final Boolean codeLens) {
1490         put("codeLens", codeLens);
1491         return this;
1492     }
1493 
1494     /**
1495      * @return Enable inline color decorators and color picker rendering.
1496      */
1497     public Boolean isColorDecorators() {
1498         return (Boolean) (has("colorDecorators") ? get("colorDecorators") : null);
1499     }
1500 
1501     /**
1502      * @param colorDecorators Enable inline color decorators and color picker rendering.
1503      * @return This same instance, useful for chaining multiple setter methods in one call.
1504      */
1505     public DiffEditorOptions setColorDecorators(final Boolean colorDecorators) {
1506         put("colorDecorators", colorDecorators);
1507         return this;
1508     }
1509 
1510     /**
1511      * @return Controls the max number of color decorators that can be rendered in an editor at once.
1512      */
1513     public Boolean isColorDecoratorsLimit() {
1514         return (Boolean) (has("colorDecoratorsLimit") ? get("colorDecoratorsLimit") : null);
1515     }
1516 
1517     /**
1518      * @param colorDecoratorsLimit Controls the max number of color decorators that can be rendered in an editor at
1519      * once.
1520      * @return This same instance, useful for chaining multiple setter methods in one call.
1521      */
1522     public DiffEditorOptions setColorDecoratorsLimit(final Boolean colorDecoratorsLimit) {
1523         put("colorDecoratorsLimit", colorDecoratorsLimit);
1524         return this;
1525     }
1526 
1527     /**
1528      * @return Enable that the selection with the mouse and keys is doing column selection. Defaults to {@code false}.
1529      */
1530     public Boolean isColumnSelection() {
1531         return (Boolean) (has("columnSelection") ? get("columnSelection") : null);
1532     }
1533 
1534     /**
1535      * @param columnSelection Enable that the selection with the mouse and keys is doing column selection. Defaults to
1536      * {@code false}.
1537      * @return This same instance, useful for chaining multiple setter methods in one call.
1538      */
1539     public DiffEditorOptions setColumnSelection(final Boolean columnSelection) {
1540         put("columnSelection", columnSelection);
1541         return this;
1542     }
1543 
1544     /**
1545      * @return Enable custom contextmenu. Defaults to {@code true}.
1546      */
1547     public Boolean isContextmenu() {
1548         return (Boolean) (has("contextmenu") ? get("contextmenu") : null);
1549     }
1550 
1551     /**
1552      * @param contextmenu Enable custom contextmenu. Defaults to {@code true}.
1553      * @return This same instance, useful for chaining multiple setter methods in one call.
1554      */
1555     public DiffEditorOptions setContextmenu(final Boolean contextmenu) {
1556         put("contextmenu", contextmenu);
1557         return this;
1558     }
1559 
1560     /**
1561      * @return Syntax highlighting is copied.
1562      */
1563     public Boolean isCopyWithSyntaxHighlighting() {
1564         return (Boolean) (has("copyWithSyntaxHighlighting") ? get("copyWithSyntaxHighlighting") : null);
1565     }
1566 
1567     /**
1568      * @param copyWithSyntaxHighlighting Syntax highlighting is copied.
1569      * @return This same instance, useful for chaining multiple setter methods in one call.
1570      */
1571     public DiffEditorOptions setCopyWithSyntaxHighlighting(final Boolean copyWithSyntaxHighlighting) {
1572         put("copyWithSyntaxHighlighting", copyWithSyntaxHighlighting);
1573         return this;
1574     }
1575 
1576     /**
1577      * @return Controls whether to use default color decorations or not using the default document color provider
1578      */
1579     public Boolean isDefaultColorDecorators() {
1580         return (Boolean) (has("defaultColorDecorators") ? get("defaultColorDecorators") : null);
1581     }
1582 
1583     /**
1584      * @param defaultColorDecorators Controls whether to use default color decorations or not using the default document
1585      * color provider
1586      * @return This same instance, useful for chaining multiple setter methods in one call.
1587      */
1588     public DiffEditorOptions setDefaultColorDecorators(final Boolean defaultColorDecorators) {
1589         put("defaultColorDecorators", defaultColorDecorators);
1590         return this;
1591     }
1592 
1593     /**
1594      * @return Controls whether the definition link opens element in the peek widget. Defaults to {@code false}.
1595      */
1596     public Boolean isDefinitionLinkOpensInPeek() {
1597         return (Boolean) (has("definitionLinkOpensInPeek") ? get("definitionLinkOpensInPeek") : null);
1598     }
1599 
1600     /**
1601      * @param definitionLinkOpensInPeek Controls whether the definition link opens element in the peek widget. Defaults
1602      * to {@code false}.
1603      * @return This same instance, useful for chaining multiple setter methods in one call.
1604      */
1605     public DiffEditorOptions setDefinitionLinkOpensInPeek(final Boolean definitionLinkOpensInPeek) {
1606         put("definitionLinkOpensInPeek", definitionLinkOpensInPeek);
1607         return this;
1608     }
1609 
1610     /**
1611      * @return Disable the use of transform: translate3d(0px, 0px, 0px) for the editor margin and lines layers. The
1612      * usage of transform: translate3d(0px, 0px, 0px) acts as a hint for browsers to create an extra layer. Defaults to
1613      * {@code false}.
1614      */
1615     public Boolean isDisableLayerHinting() {
1616         return (Boolean) (has("disableLayerHinting") ? get("disableLayerHinting") : null);
1617     }
1618 
1619     /**
1620      * @param disableLayerHinting Disable the use of transform: translate3d(0px, 0px, 0px) for the editor margin and
1621      * lines layers. The usage of transform: translate3d(0px, 0px, 0px) acts as a hint for browsers to create an extra
1622      * layer. Defaults to {@code false}.
1623      * @return This same instance, useful for chaining multiple setter methods in one call.
1624      */
1625     public DiffEditorOptions setDisableLayerHinting(final Boolean disableLayerHinting) {
1626         put("disableLayerHinting", disableLayerHinting);
1627         return this;
1628     }
1629 
1630     /**
1631      * @return Disable the optimizations for monospace fonts. Defaults to {@code false}.
1632      */
1633     public Boolean isDisableMonospaceOptimizations() {
1634         return (Boolean) (has("disableMonospaceOptimizations") ? get("disableMonospaceOptimizations") : null);
1635     }
1636 
1637     /**
1638      * @param disableMonospaceOptimizations Disable the optimizations for monospace fonts. Defaults to {@code false}.
1639      * @return This same instance, useful for chaining multiple setter methods in one call.
1640      */
1641     public DiffEditorOptions setDisableMonospaceOptimizations(final Boolean disableMonospaceOptimizations) {
1642         put("disableMonospaceOptimizations", disableMonospaceOptimizations);
1643         return this;
1644     }
1645 
1646     /**
1647      * @return Controls if the editor should allow to move selections via drag and drop. Defaults to {@code false}.
1648      */
1649     public Boolean isDragAndDrop() {
1650         return (Boolean) (has("dragAndDrop") ? get("dragAndDrop") : null);
1651     }
1652 
1653     /**
1654      * @param dragAndDrop Controls if the editor should allow to move selections via drag and drop. Defaults to {@code
1655      * false}.
1656      * @return This same instance, useful for chaining multiple setter methods in one call.
1657      */
1658     public DiffEditorOptions setDragAndDrop(final Boolean dragAndDrop) {
1659         put("dragAndDrop", dragAndDrop);
1660         return this;
1661     }
1662 
1663     /**
1664      * @return Copying without a selection copies the current line
1665      */
1666     public Boolean isEmptySelectionClipboard() {
1667         return (Boolean) (has("emptySelectionClipboard") ? get("emptySelectionClipboard") : null);
1668     }
1669 
1670     /**
1671      * @param emptySelectionClipboard Copying without a selection copies the current line
1672      * @return This same instance, useful for chaining multiple setter methods in one call.
1673      */
1674     public DiffEditorOptions setEmptySelectionClipboard(final Boolean emptySelectionClipboard) {
1675         put("emptySelectionClipboard", emptySelectionClipboard);
1676         return this;
1677     }
1678 
1679     public EditorInlineEditOptions getExperimentalInlineEdit() {
1680         return (EditorInlineEditOptions) (has("experimentalInlineEdit") ? get("experimentalInlineEdit") : null);
1681     }
1682 
1683     public DiffEditorOptions setExperimentalInlineEdit(final EditorInlineEditOptions experimentalInlineEdit) {
1684         put("experimentalInlineEdit", experimentalInlineEdit);
1685         return this;
1686     }
1687 
1688     /**
1689      * @return Display overflow widgets as {@code fixed}. Defaults to {@code false}
1690      */
1691     public Boolean isFixedOverflowWidgets() {
1692         return (Boolean) (has("fixedOverflowWidgets") ? get("fixedOverflowWidgets") : null);
1693     }
1694 
1695     /**
1696      * @param fixedOverflowWidgets Display overflow widgets as {@code fixed}. Defaults to {@code false}
1697      * @return This same instance, useful for chaining multiple setter methods in one call.
1698      */
1699     public DiffEditorOptions setFixedOverflowWidgets(final Boolean fixedOverflowWidgets) {
1700         put("fixedOverflowWidgets", fixedOverflowWidgets);
1701         return this;
1702     }
1703 
1704     /**
1705      * @return Enable code folding. Defaults to {@code true}.
1706      */
1707     public Boolean isFolding() {
1708         return (Boolean) (has("folding") ? get("folding") : null);
1709     }
1710 
1711     /**
1712      * @param folding Enable code folding. Defaults to {@code true}.
1713      * @return This same instance, useful for chaining multiple setter methods in one call.
1714      */
1715     public DiffEditorOptions setFolding(final Boolean folding) {
1716         put("folding", folding);
1717         return this;
1718     }
1719 
1720     /**
1721      * @return Enable highlight for folded regions. Defaults to {@code true}.
1722      */
1723     public Boolean isFoldingHighlight() {
1724         return (Boolean) (has("foldingHighlight") ? get("foldingHighlight") : null);
1725     }
1726 
1727     /**
1728      * @param foldingHighlight Enable highlight for folded regions. Defaults to {@code true}.
1729      * @return This same instance, useful for chaining multiple setter methods in one call.
1730      */
1731     public DiffEditorOptions setFoldingHighlight(final Boolean foldingHighlight) {
1732         put("foldingHighlight", foldingHighlight);
1733         return this;
1734     }
1735 
1736     /**
1737      * @return Auto fold imports folding regions. Defaults to {@code true}.
1738      */
1739     public Boolean isFoldingImportsByDefault() {
1740         return (Boolean) (has("foldingImportsByDefault") ? get("foldingImportsByDefault") : null);
1741     }
1742 
1743     /**
1744      * @param foldingImportsByDefault Auto fold imports folding regions. Defaults to {@code true}.
1745      * @return This same instance, useful for chaining multiple setter methods in one call.
1746      */
1747     public DiffEditorOptions setFoldingImportsByDefault(final Boolean foldingImportsByDefault) {
1748         put("foldingImportsByDefault", foldingImportsByDefault);
1749         return this;
1750     }
1751 
1752     public Boolean isFontLigatures() {
1753         final Object tmp = (has("fontLigatures") ? get("fontLigatures") : null);
1754         return (Boolean) (tmp instanceof Boolean ? tmp : null);
1755     }
1756 
1757     public String getFontLigatures() {
1758         final Object tmp = (has("fontLigatures") ? get("fontLigatures") : null);
1759         return (String) (tmp instanceof String ? tmp : null);
1760     }
1761 
1762     public DiffEditorOptions setFontLigatures(final Boolean fontLigatures) {
1763         put("fontLigatures", fontLigatures);
1764         return this;
1765     }
1766 
1767     public DiffEditorOptions setFontLigatures(final String fontLigatures) {
1768         put("fontLigatures", fontLigatures);
1769         return this;
1770     }
1771 
1772     public Boolean isFontVariations() {
1773         final Object tmp = (has("fontVariations") ? get("fontVariations") : null);
1774         return (Boolean) (tmp instanceof Boolean ? tmp : null);
1775     }
1776 
1777     public String getFontVariations() {
1778         final Object tmp = (has("fontVariations") ? get("fontVariations") : null);
1779         return (String) (tmp instanceof String ? tmp : null);
1780     }
1781 
1782     public DiffEditorOptions setFontVariations(final Boolean fontVariations) {
1783         put("fontVariations", fontVariations);
1784         return this;
1785     }
1786 
1787     public DiffEditorOptions setFontVariations(final String fontVariations) {
1788         put("fontVariations", fontVariations);
1789         return this;
1790     }
1791 
1792     /**
1793      * @return Enable format on paste. Defaults to {@code false}
1794      */
1795     public Boolean isFormatOnPaste() {
1796         return (Boolean) (has("formatOnPaste") ? get("formatOnPaste") : null);
1797     }
1798 
1799     /**
1800      * @param formatOnPaste Enable format on paste. Defaults to {@code false}
1801      * @return This same instance, useful for chaining multiple setter methods in one call.
1802      */
1803     public DiffEditorOptions setFormatOnPaste(final Boolean formatOnPaste) {
1804         put("formatOnPaste", formatOnPaste);
1805         return this;
1806     }
1807 
1808     /**
1809      * @return Enable format on type. Defaults to {@code false}
1810      */
1811     public Boolean isFormatOnType() {
1812         return (Boolean) (has("formatOnType") ? get("formatOnType") : null);
1813     }
1814 
1815     /**
1816      * @param formatOnType Enable format on type. Defaults to {@code false}
1817      * @return This same instance, useful for chaining multiple setter methods in one call.
1818      */
1819     public DiffEditorOptions setFormatOnType(final Boolean formatOnType) {
1820         put("formatOnType", formatOnType);
1821         return this;
1822     }
1823 
1824     /**
1825      * @return Enable the rendering of the glyph margin. Defaults to {@code true}. in vscode and to {@code false} in
1826      * monaco-editor
1827      */
1828     public Boolean isGlyphMargin() {
1829         return (Boolean) (has("glyphMargin") ? get("glyphMargin") : null);
1830     }
1831 
1832     /**
1833      * @param glyphMargin Enable the rendering of the glyph margin. Defaults to {@code true}. in vscode and to {@code
1834      * false} in monaco-editor
1835      * @return This same instance, useful for chaining multiple setter methods in one call.
1836      */
1837     public DiffEditorOptions setGlyphMargin(final Boolean glyphMargin) {
1838         put("glyphMargin", glyphMargin);
1839         return this;
1840     }
1841 
1842     /**
1843      * @return Should the cursor be hidden in the overview ruler. Defaults to {@code false}
1844      */
1845     public Boolean isHideCursorInOverviewRuler() {
1846         return (Boolean) (has("hideCursorInOverviewRuler") ? get("hideCursorInOverviewRuler") : null);
1847     }
1848 
1849     /**
1850      * @param hideCursorInOverviewRuler Should the cursor be hidden in the overview ruler. Defaults to {@code false}
1851      * @return This same instance, useful for chaining multiple setter methods in one call.
1852      */
1853     public DiffEditorOptions setHideCursorInOverviewRuler(final Boolean hideCursorInOverviewRuler) {
1854         put("hideCursorInOverviewRuler", hideCursorInOverviewRuler);
1855         return this;
1856     }
1857 
1858     /**
1859      * @return Controls whether the accessibility hint should be provided to screen reader users when an inline
1860      * completion is shown.
1861      */
1862     public Boolean isInlineCompletionsAccessibilityVerbose() {
1863         return (Boolean) (has("inlineCompletionsAccessibilityVerbose") ? get("inlineCompletionsAccessibilityVerbose") : null);
1864     }
1865 
1866     /**
1867      * @param inlineCompletionsAccessibilityVerbose Controls whether the accessibility hint should be provided to screen
1868      * reader users when an inline completion is shown.
1869      * @return This same instance, useful for chaining multiple setter methods in one call.
1870      */
1871     public DiffEditorOptions setInlineCompletionsAccessibilityVerbose(final Boolean inlineCompletionsAccessibilityVerbose) {
1872         put("inlineCompletionsAccessibilityVerbose", inlineCompletionsAccessibilityVerbose);
1873         return this;
1874     }
1875 
1876     /**
1877      * @return Special handling for large files to disable certain memory intensive features. Defaults to {@code true}.
1878      */
1879     public Boolean isLargeFileOptimizations() {
1880         return (Boolean) (has("largeFileOptimizations") ? get("largeFileOptimizations") : null);
1881     }
1882 
1883     /**
1884      * @param largeFileOptimizations Special handling for large files to disable certain memory intensive features.
1885      * Defaults to {@code true}.
1886      * @return This same instance, useful for chaining multiple setter methods in one call.
1887      */
1888     public DiffEditorOptions setLargeFileOptimizations(final Boolean largeFileOptimizations) {
1889         put("largeFileOptimizations", largeFileOptimizations);
1890         return this;
1891     }
1892 
1893     /**
1894      * @return Enables linked editing. Defaults to {@code false}.
1895      */
1896     public Boolean isLinkedEditing() {
1897         return (Boolean) (has("linkedEditing") ? get("linkedEditing") : null);
1898     }
1899 
1900     /**
1901      * @param linkedEditing Enables linked editing. Defaults to {@code false}.
1902      * @return This same instance, useful for chaining multiple setter methods in one call.
1903      */
1904     public DiffEditorOptions setLinkedEditing(final Boolean linkedEditing) {
1905         put("linkedEditing", linkedEditing);
1906         return this;
1907     }
1908 
1909     /**
1910      * @return Enable detecting links and making them clickable. Defaults to {@code true}.
1911      */
1912     public Boolean isLinks() {
1913         return (Boolean) (has("links") ? get("links") : null);
1914     }
1915 
1916     /**
1917      * @param links Enable detecting links and making them clickable. Defaults to {@code true}.
1918      * @return This same instance, useful for chaining multiple setter methods in one call.
1919      */
1920     public DiffEditorOptions setLinks(final Boolean links) {
1921         put("links", links);
1922         return this;
1923     }
1924 
1925     /**
1926      * @return Controls whether suggestions allow matches in the middle of the word instead of only at the beginning
1927      */
1928     public Boolean isMatchOnWordStartOnly() {
1929         return (Boolean) (has("matchOnWordStartOnly") ? get("matchOnWordStartOnly") : null);
1930     }
1931 
1932     /**
1933      * @param matchOnWordStartOnly Controls whether suggestions allow matches in the middle of the word instead of only
1934      * at the beginning
1935      * @return This same instance, useful for chaining multiple setter methods in one call.
1936      */
1937     public DiffEditorOptions setMatchOnWordStartOnly(final Boolean matchOnWordStartOnly) {
1938         put("matchOnWordStartOnly", matchOnWordStartOnly);
1939         return this;
1940     }
1941 
1942     /**
1943      * @return Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl. Defaults to
1944      * {@code false}
1945      */
1946     public Boolean isMouseWheelZoom() {
1947         return (Boolean) (has("mouseWheelZoom") ? get("mouseWheelZoom") : null);
1948     }
1949 
1950     /**
1951      * @param mouseWheelZoom Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
1952      * Defaults to {@code false}
1953      * @return This same instance, useful for chaining multiple setter methods in one call.
1954      */
1955     public DiffEditorOptions setMouseWheelZoom(final Boolean mouseWheelZoom) {
1956         put("mouseWheelZoom", mouseWheelZoom);
1957         return this;
1958     }
1959 
1960     /**
1961      * @return Merge overlapping selections. Defaults to {@code true}.
1962      */
1963     public Boolean isMultiCursorMergeOverlapping() {
1964         return (Boolean) (has("multiCursorMergeOverlapping") ? get("multiCursorMergeOverlapping") : null);
1965     }
1966 
1967     /**
1968      * @param multiCursorMergeOverlapping Merge overlapping selections. Defaults to {@code true}.
1969      * @return This same instance, useful for chaining multiple setter methods in one call.
1970      */
1971     public DiffEditorOptions setMultiCursorMergeOverlapping(final Boolean multiCursorMergeOverlapping) {
1972         put("multiCursorMergeOverlapping", multiCursorMergeOverlapping);
1973         return this;
1974     }
1975 
1976     /**
1977      * @return Controls if a border should be drawn around the overview ruler. Defaults to {@code true}.
1978      */
1979     public Boolean isOverviewRulerBorder() {
1980         return (Boolean) (has("overviewRulerBorder") ? get("overviewRulerBorder") : null);
1981     }
1982 
1983     /**
1984      * @param overviewRulerBorder Controls if a border should be drawn around the overview ruler. Defaults to {@code
1985      * true}.
1986      * @return This same instance, useful for chaining multiple setter methods in one call.
1987      */
1988     public DiffEditorOptions setOverviewRulerBorder(final Boolean overviewRulerBorder) {
1989         put("overviewRulerBorder", overviewRulerBorder);
1990         return this;
1991     }
1992 
1993     /**
1994      * @return Should the editor be read only. Defaults to {@code false}
1995      */
1996     public Boolean isReadOnly() {
1997         return (Boolean) (has("readOnly") ? get("readOnly") : null);
1998     }
1999 
2000     /**
2001      * @param readOnly Should the editor be read only. Defaults to {@code false}
2002      * @return This same instance, useful for chaining multiple setter methods in one call.
2003      */
2004     public DiffEditorOptions setReadOnly(final Boolean readOnly) {
2005         put("readOnly", readOnly);
2006         return this;
2007     }
2008 
2009     /**
2010      * @deprecated 
2011      * @return Deprecated, use {@link linkedEditing} instead.
2012      */
2013     @Deprecated
2014     public Boolean isRenameOnType() {
2015         return (Boolean) (has("renameOnType") ? get("renameOnType") : null);
2016     }
2017 
2018     /**
2019      * @deprecated 
2020      * @param renameOnType Deprecated, use {@link linkedEditing} instead.
2021      * @return This same instance, useful for chaining multiple setter methods in one call.
2022      */
2023     @Deprecated
2024     public DiffEditorOptions setRenameOnType(final Boolean renameOnType) {
2025         put("renameOnType", renameOnType);
2026         return this;
2027     }
2028 
2029     /**
2030      * @return Enable rendering of control characters. Defaults to {@code true}.
2031      */
2032     public Boolean isRenderControlCharacters() {
2033         return (Boolean) (has("renderControlCharacters") ? get("renderControlCharacters") : null);
2034     }
2035 
2036     /**
2037      * @param renderControlCharacters Enable rendering of control characters. Defaults to {@code true}.
2038      * @return This same instance, useful for chaining multiple setter methods in one call.
2039      */
2040     public DiffEditorOptions setRenderControlCharacters(final Boolean renderControlCharacters) {
2041         put("renderControlCharacters", renderControlCharacters);
2042         return this;
2043     }
2044 
2045     /**
2046      * @return Control if the current line highlight should be rendered only the editor is focused. Defaults to {@code
2047      * false}.
2048      */
2049     public Boolean isRenderLineHighlightOnlyWhenFocus() {
2050         return (Boolean) (has("renderLineHighlightOnlyWhenFocus") ? get("renderLineHighlightOnlyWhenFocus") : null);
2051     }
2052 
2053     /**
2054      * @param renderLineHighlightOnlyWhenFocus Control if the current line highlight should be rendered only the editor
2055      * is focused. Defaults to {@code false}.
2056      * @return This same instance, useful for chaining multiple setter methods in one call.
2057      */
2058     public DiffEditorOptions setRenderLineHighlightOnlyWhenFocus(final Boolean renderLineHighlightOnlyWhenFocus) {
2059         put("renderLineHighlightOnlyWhenFocus", renderLineHighlightOnlyWhenFocus);
2060         return this;
2061     }
2062 
2063     /**
2064      * @return Render the editor selection with rounded borders. Defaults to {@code true}.
2065      */
2066     public Boolean isRoundedSelection() {
2067         return (Boolean) (has("roundedSelection") ? get("roundedSelection") : null);
2068     }
2069 
2070     /**
2071      * @param roundedSelection Render the editor selection with rounded borders. Defaults to {@code true}.
2072      * @return This same instance, useful for chaining multiple setter methods in one call.
2073      */
2074     public DiffEditorOptions setRoundedSelection(final Boolean roundedSelection) {
2075         put("roundedSelection", roundedSelection);
2076         return this;
2077     }
2078 
2079     /**
2080      * @return Control whether a screen reader announces inline suggestion content immediately.
2081      */
2082     public Boolean isScreenReaderAnnounceInlineSuggestion() {
2083         return (Boolean) (has("screenReaderAnnounceInlineSuggestion") ? get("screenReaderAnnounceInlineSuggestion") : null);
2084     }
2085 
2086     /**
2087      * @param screenReaderAnnounceInlineSuggestion Control whether a screen reader announces inline suggestion content
2088      * immediately.
2089      * @return This same instance, useful for chaining multiple setter methods in one call.
2090      */
2091     public DiffEditorOptions setScreenReaderAnnounceInlineSuggestion(final Boolean screenReaderAnnounceInlineSuggestion) {
2092         put("screenReaderAnnounceInlineSuggestion", screenReaderAnnounceInlineSuggestion);
2093         return this;
2094     }
2095 
2096     /**
2097      * @return Enable that scrolling can go one screen size after the last line. Defaults to {@code true}.
2098      */
2099     public Boolean isScrollBeyondLastLine() {
2100         return (Boolean) (has("scrollBeyondLastLine") ? get("scrollBeyondLastLine") : null);
2101     }
2102 
2103     /**
2104      * @param scrollBeyondLastLine Enable that scrolling can go one screen size after the last line. Defaults to {@code
2105      * true}.
2106      * @return This same instance, useful for chaining multiple setter methods in one call.
2107      */
2108     public DiffEditorOptions setScrollBeyondLastLine(final Boolean scrollBeyondLastLine) {
2109         put("scrollBeyondLastLine", scrollBeyondLastLine);
2110         return this;
2111     }
2112 
2113     /**
2114      * @return Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling
2115      * vertically on a trackpad. Defaults to {@code true}.}
2116      */
2117     public Boolean isScrollPredominantAxis() {
2118         return (Boolean) (has("scrollPredominantAxis") ? get("scrollPredominantAxis") : null);
2119     }
2120 
2121     /**
2122      * @param scrollPredominantAxis Enable that the editor scrolls only the predominant axis. Prevents horizontal drift
2123      * when scrolling vertically on a trackpad. Defaults to {@code true}.}
2124      * @return This same instance, useful for chaining multiple setter methods in one call.
2125      */
2126     public DiffEditorOptions setScrollPredominantAxis(final Boolean scrollPredominantAxis) {
2127         put("scrollPredominantAxis", scrollPredominantAxis);
2128         return this;
2129     }
2130 
2131     /**
2132      * @return Should the corresponding line be selected when clicking on the line number? Defaults to {@code true}.
2133      */
2134     public Boolean isSelectOnLineNumbers() {
2135         return (Boolean) (has("selectOnLineNumbers") ? get("selectOnLineNumbers") : null);
2136     }
2137 
2138     /**
2139      * @param selectOnLineNumbers Should the corresponding line be selected when clicking on the line number? Defaults
2140      * to {@code true}.
2141      * @return This same instance, useful for chaining multiple setter methods in one call.
2142      */
2143     public DiffEditorOptions setSelectOnLineNumbers(final Boolean selectOnLineNumbers) {
2144         put("selectOnLineNumbers", selectOnLineNumbers);
2145         return this;
2146     }
2147 
2148     /**
2149      * @return Enable Linux primary clipboard. Defaults to {@code true}.
2150      */
2151     public Boolean isSelectionClipboard() {
2152         return (Boolean) (has("selectionClipboard") ? get("selectionClipboard") : null);
2153     }
2154 
2155     /**
2156      * @param selectionClipboard Enable Linux primary clipboard. Defaults to {@code true}.
2157      * @return This same instance, useful for chaining multiple setter methods in one call.
2158      */
2159     public DiffEditorOptions setSelectionClipboard(final Boolean selectionClipboard) {
2160         put("selectionClipboard", selectionClipboard);
2161         return this;
2162     }
2163 
2164     /**
2165      * @return Enable selection highlight. Defaults to {@code true}.
2166      */
2167     public Boolean isSelectionHighlight() {
2168         return (Boolean) (has("selectionHighlight") ? get("selectionHighlight") : null);
2169     }
2170 
2171     /**
2172      * @param selectionHighlight Enable selection highlight. Defaults to {@code true}.
2173      * @return This same instance, useful for chaining multiple setter methods in one call.
2174      */
2175     public DiffEditorOptions setSelectionHighlight(final Boolean selectionHighlight) {
2176         put("selectionHighlight", selectionHighlight);
2177         return this;
2178     }
2179 
2180     /**
2181      * @return Controls strikethrough deprecated variables.
2182      */
2183     public Boolean isShowDeprecated() {
2184         return (Boolean) (has("showDeprecated") ? get("showDeprecated") : null);
2185     }
2186 
2187     /**
2188      * @param showDeprecated Controls strikethrough deprecated variables.
2189      * @return This same instance, useful for chaining multiple setter methods in one call.
2190      */
2191     public DiffEditorOptions setShowDeprecated(final Boolean showDeprecated) {
2192         put("showDeprecated", showDeprecated);
2193         return this;
2194     }
2195 
2196     /**
2197      * @return Controls fading out of unused variables
2198      */
2199     public Boolean isShowUnused() {
2200         return (Boolean) (has("showUnused") ? get("showUnused") : null);
2201     }
2202 
2203     /**
2204      * @param showUnused Controls fading out of unused variables
2205      * @return This same instance, useful for chaining multiple setter methods in one call.
2206      */
2207     public DiffEditorOptions setShowUnused(final Boolean showUnused) {
2208         put("showUnused", showUnused);
2209         return this;
2210     }
2211 
2212     /**
2213      * @return Enable that the editor animates scrolling to a position. Defaults to {@code false}
2214      */
2215     public Boolean isSmoothScrolling() {
2216         return (Boolean) (has("smoothScrolling") ? get("smoothScrolling") : null);
2217     }
2218 
2219     /**
2220      * @param smoothScrolling Enable that the editor animates scrolling to a position. Defaults to {@code false}
2221      * @return This same instance, useful for chaining multiple setter methods in one call.
2222      */
2223     public DiffEditorOptions setSmoothScrolling(final Boolean smoothScrolling) {
2224         put("smoothScrolling", smoothScrolling);
2225         return this;
2226     }
2227 
2228     /**
2229      * @return Keep peek editors open even when double clicking their content or when hitting Escape. Defaults to {@code
2230      * false}
2231      */
2232     public Boolean isStablePeek() {
2233         return (Boolean) (has("stablePeek") ? get("stablePeek") : null);
2234     }
2235 
2236     /**
2237      * @param stablePeek Keep peek editors open even when double clicking their content or when hitting Escape. Defaults
2238      * to {@code false}
2239      * @return This same instance, useful for chaining multiple setter methods in one call.
2240      */
2241     public DiffEditorOptions setStablePeek(final Boolean stablePeek) {
2242         put("stablePeek", stablePeek);
2243         return this;
2244     }
2245 
2246     /**
2247      * @return Enable the suggestion box to pop-up on trigger characters. Defaults to {@code true}.
2248      */
2249     public Boolean isSuggestOnTriggerCharacters() {
2250         return (Boolean) (has("suggestOnTriggerCharacters") ? get("suggestOnTriggerCharacters") : null);
2251     }
2252 
2253     /**
2254      * @param suggestOnTriggerCharacters Enable the suggestion box to pop-up on trigger characters. Defaults to {@code
2255      * true}.
2256      * @return This same instance, useful for chaining multiple setter methods in one call.
2257      */
2258     public DiffEditorOptions setSuggestOnTriggerCharacters(final Boolean suggestOnTriggerCharacters) {
2259         put("suggestOnTriggerCharacters", suggestOnTriggerCharacters);
2260         return this;
2261     }
2262 
2263     /**
2264      * @return Controls whether the editor receives tabs or defers them to the workbench for navigation.
2265      */
2266     public Boolean isTabFocusMode() {
2267         return (Boolean) (has("tabFocusMode") ? get("tabFocusMode") : null);
2268     }
2269 
2270     /**
2271      * @param tabFocusMode Controls whether the editor receives tabs or defers them to the workbench for navigation.
2272      * @return This same instance, useful for chaining multiple setter methods in one call.
2273      */
2274     public DiffEditorOptions setTabFocusMode(final Boolean tabFocusMode) {
2275         put("tabFocusMode", tabFocusMode);
2276         return this;
2277     }
2278 
2279     /**
2280      * @return Controls whether clicking on the empty content after a folded line will unfold the line. Defaults to
2281      * {@code false}.
2282      */
2283     public Boolean isUnfoldOnClickAfterEndOfLine() {
2284         return (Boolean) (has("unfoldOnClickAfterEndOfLine") ? get("unfoldOnClickAfterEndOfLine") : null);
2285     }
2286 
2287     /**
2288      * @param unfoldOnClickAfterEndOfLine Controls whether clicking on the empty content after a folded line will unfold
2289      * the line. Defaults to {@code false}.
2290      * @return This same instance, useful for chaining multiple setter methods in one call.
2291      */
2292     public DiffEditorOptions setUnfoldOnClickAfterEndOfLine(final Boolean unfoldOnClickAfterEndOfLine) {
2293         put("unfoldOnClickAfterEndOfLine", unfoldOnClickAfterEndOfLine);
2294         return this;
2295     }
2296 
2297     /**
2298      * @return Control if the editor should use shadow DOM.
2299      */
2300     public Boolean isUseShadowDOM() {
2301         return (Boolean) (has("useShadowDOM") ? get("useShadowDOM") : null);
2302     }
2303 
2304     /**
2305      * @param useShadowDOM Control if the editor should use shadow DOM.
2306      * @return This same instance, useful for chaining multiple setter methods in one call.
2307      */
2308     public DiffEditorOptions setUseShadowDOM(final Boolean useShadowDOM) {
2309         put("useShadowDOM", useShadowDOM);
2310         return this;
2311     }
2312 
2313     /**
2314      * @return Inserting and deleting whitespace follows tab stops.
2315      */
2316     public Boolean isUseTabStops() {
2317         return (Boolean) (has("useTabStops") ? get("useTabStops") : null);
2318     }
2319 
2320     /**
2321      * @param useTabStops Inserting and deleting whitespace follows tab stops.
2322      * @return This same instance, useful for chaining multiple setter methods in one call.
2323      */
2324     public DiffEditorOptions setUseTabStops(final Boolean useTabStops) {
2325         put("useTabStops", useTabStops);
2326         return this;
2327     }
2328 
2329     /**
2330      * @return Force word wrapping when the text appears to be of a minified/generated file. Defaults to {@code true}.
2331      */
2332     public Boolean isWordWrapMinified() {
2333         return (Boolean) (has("wordWrapMinified") ? get("wordWrapMinified") : null);
2334     }
2335 
2336     /**
2337      * @param wordWrapMinified Force word wrapping when the text appears to be of a minified/generated file. Defaults to
2338      * {@code true}.
2339      * @return This same instance, useful for chaining multiple setter methods in one call.
2340      */
2341     public DiffEditorOptions setWordWrapMinified(final Boolean wordWrapMinified) {
2342         put("wordWrapMinified", wordWrapMinified);
2343         return this;
2344     }
2345 
2346     /**
2347      * @return Controls the number of lines in the editor that can be read out by a screen reader.
2348      */
2349     public Number getAccessibilityPageSize() {
2350         return (Number) (has("accessibilityPageSize") ? get("accessibilityPageSize") : null);
2351     }
2352 
2353     /**
2354      * @param accessibilityPageSize Controls the number of lines in the editor that can be read out by a screen reader.
2355      * @return This same instance, useful for chaining multiple setter methods in one call.
2356      */
2357     public DiffEditorOptions setAccessibilityPageSize(final Number accessibilityPageSize) {
2358         put("accessibilityPageSize", accessibilityPageSize);
2359         return this;
2360     }
2361 
2362     /**
2363      * @return Timeout for running code actions on save.
2364      */
2365     public Number getCodeActionsOnSaveTimeout() {
2366         return (Number) (has("codeActionsOnSaveTimeout") ? get("codeActionsOnSaveTimeout") : null);
2367     }
2368 
2369     /**
2370      * @param codeActionsOnSaveTimeout Timeout for running code actions on save.
2371      * @return This same instance, useful for chaining multiple setter methods in one call.
2372      */
2373     public DiffEditorOptions setCodeActionsOnSaveTimeout(final Number codeActionsOnSaveTimeout) {
2374         put("codeActionsOnSaveTimeout", codeActionsOnSaveTimeout);
2375         return this;
2376     }
2377 
2378     /**
2379      * @return Code lens font size. Default to 90% of the editor font size.
2380      */
2381     public Number getCodeLensFontSize() {
2382         return (Number) (has("codeLensFontSize") ? get("codeLensFontSize") : null);
2383     }
2384 
2385     /**
2386      * @param codeLensFontSize Code lens font size. Default to 90% of the editor font size.
2387      * @return This same instance, useful for chaining multiple setter methods in one call.
2388      */
2389     public DiffEditorOptions setCodeLensFontSize(final Number codeLensFontSize) {
2390         put("codeLensFontSize", codeLensFontSize);
2391         return this;
2392     }
2393 
2394     /**
2395      * @return Controls the minimal number of visible leading and trailing lines surrounding the cursor. Defaults to
2396      * {@code 0}.
2397      */
2398     public Number getCursorSurroundingLines() {
2399         return (Number) (has("cursorSurroundingLines") ? get("cursorSurroundingLines") : null);
2400     }
2401 
2402     /**
2403      * @param cursorSurroundingLines Controls the minimal number of visible leading and trailing lines surrounding the
2404      * cursor. Defaults to {@code 0}.
2405      * @return This same instance, useful for chaining multiple setter methods in one call.
2406      */
2407     public DiffEditorOptions setCursorSurroundingLines(final Number cursorSurroundingLines) {
2408         put("cursorSurroundingLines", cursorSurroundingLines);
2409         return this;
2410     }
2411 
2412     /**
2413      * @return Control the width of the cursor when cursorStyle is set to {@code line}
2414      */
2415     public Number getCursorWidth() {
2416         return (Number) (has("cursorWidth") ? get("cursorWidth") : null);
2417     }
2418 
2419     /**
2420      * @param cursorWidth Control the width of the cursor when cursorStyle is set to {@code line}
2421      * @return This same instance, useful for chaining multiple setter methods in one call.
2422      */
2423     public DiffEditorOptions setCursorWidth(final Number cursorWidth) {
2424         put("cursorWidth", cursorWidth);
2425         return this;
2426     }
2427 
2428     /**
2429      * @return Fast scrolling multiplier speed when pressing {@code Alt} Defaults to {@code 5}.
2430      */
2431     public Number getFastScrollSensitivity() {
2432         return (Number) (has("fastScrollSensitivity") ? get("fastScrollSensitivity") : null);
2433     }
2434 
2435     /**
2436      * @param fastScrollSensitivity Fast scrolling multiplier speed when pressing {@code Alt} Defaults to {@code 5}.
2437      * @return This same instance, useful for chaining multiple setter methods in one call.
2438      */
2439     public DiffEditorOptions setFastScrollSensitivity(final Number fastScrollSensitivity) {
2440         put("fastScrollSensitivity", fastScrollSensitivity);
2441         return this;
2442     }
2443 
2444     /**
2445      * @return Maximum number of foldable regions. Defaults to {@code 5000}.
2446      */
2447     public Number getFoldingMaximumRegions() {
2448         return (Number) (has("foldingMaximumRegions") ? get("foldingMaximumRegions") : null);
2449     }
2450 
2451     /**
2452      * @param foldingMaximumRegions Maximum number of foldable regions. Defaults to {@code 5000}.
2453      * @return This same instance, useful for chaining multiple setter methods in one call.
2454      */
2455     public DiffEditorOptions setFoldingMaximumRegions(final Number foldingMaximumRegions) {
2456         put("foldingMaximumRegions", foldingMaximumRegions);
2457         return this;
2458     }
2459 
2460     /**
2461      * @return The font size
2462      */
2463     public Number getFontSize() {
2464         return (Number) (has("fontSize") ? get("fontSize") : null);
2465     }
2466 
2467     /**
2468      * @param fontSize The font size
2469      * @return This same instance, useful for chaining multiple setter methods in one call.
2470      */
2471     public DiffEditorOptions setFontSize(final Number fontSize) {
2472         put("fontSize", fontSize);
2473         return this;
2474     }
2475 
2476     /**
2477      * @return This editor is used inside a diff editor.
2478      */
2479     public Boolean isInDiffEditor() {
2480         return (Boolean) (has("inDiffEditor") ? get("inDiffEditor") : null);
2481     }
2482 
2483     /**
2484      * @param inDiffEditor This editor is used inside a diff editor.
2485      * @return This same instance, useful for chaining multiple setter methods in one call.
2486      */
2487     public DiffEditorOptions setInDiffEditor(final Boolean inDiffEditor) {
2488         put("inDiffEditor", inDiffEditor);
2489         return this;
2490     }
2491 
2492     /**
2493      * @return Emulate selection behaviour of tab characters when using spaces for indentation. This means selection
2494      * will stick to tab stops.
2495      */
2496     public Boolean isStickyTabStops() {
2497         return (Boolean) (has("stickyTabStops") ? get("stickyTabStops") : null);
2498     }
2499 
2500     /**
2501      * @param stickyTabStops Emulate selection behaviour of tab characters when using spaces for indentation. This means
2502      * selection will stick to tab stops.
2503      * @return This same instance, useful for chaining multiple setter methods in one call.
2504      */
2505     public DiffEditorOptions setStickyTabStops(final Boolean stickyTabStops) {
2506         put("stickyTabStops", stickyTabStops);
2507         return this;
2508     }
2509 
2510     /**
2511      * @return The letter spacing
2512      */
2513     public Number getLetterSpacing() {
2514         return (Number) (has("letterSpacing") ? get("letterSpacing") : null);
2515     }
2516 
2517     /**
2518      * @param letterSpacing The letter spacing
2519      * @return This same instance, useful for chaining multiple setter methods in one call.
2520      */
2521     public DiffEditorOptions setLetterSpacing(final Number letterSpacing) {
2522         put("letterSpacing", letterSpacing);
2523         return this;
2524     }
2525 
2526     /**
2527      * @return The line height
2528      */
2529     public Number getLineHeight() {
2530         return (Number) (has("lineHeight") ? get("lineHeight") : null);
2531     }
2532 
2533     /**
2534      * @param lineHeight The line height
2535      * @return This same instance, useful for chaining multiple setter methods in one call.
2536      */
2537     public DiffEditorOptions setLineHeight(final Number lineHeight) {
2538         put("lineHeight", lineHeight);
2539         return this;
2540     }
2541 
2542     /**
2543      * @return Control the rendering of line numbers. If it is a function, it will be invoked when rendering a line
2544      * number and the return value will be rendered. Otherwise, if it is a truey, line numbers will be rendered normally
2545      * (equivalent of using an identity function). Otherwise, line numbers will not be rendered. Defaults to {@code on}.
2546      */
2547     public Number getLineNumbersMinChars() {
2548         return (Number) (has("lineNumbersMinChars") ? get("lineNumbersMinChars") : null);
2549     }
2550 
2551     /**
2552      * @param lineNumbersMinChars Control the rendering of line numbers. If it is a function, it will be invoked when
2553      * rendering a line number and the return value will be rendered. Otherwise, if it is a truey, line numbers will be
2554      * rendered normally (equivalent of using an identity function). Otherwise, line numbers will not be rendered.
2555      * Defaults to {@code on}.
2556      * @return This same instance, useful for chaining multiple setter methods in one call.
2557      */
2558     public DiffEditorOptions setLineNumbersMinChars(final Number lineNumbersMinChars) {
2559         put("lineNumbersMinChars", lineNumbersMinChars);
2560         return this;
2561     }
2562 
2563     /**
2564      * @return A multiplier to be used on the {@code deltaX} and {@code deltaY} of mouse wheel scroll events. Defaults
2565      * to {@code 1}.
2566      */
2567     public Number getMouseWheelScrollSensitivity() {
2568         return (Number) (has("mouseWheelScrollSensitivity") ? get("mouseWheelScrollSensitivity") : null);
2569     }
2570 
2571     /**
2572      * @param mouseWheelScrollSensitivity A multiplier to be used on the {@code deltaX} and {@code deltaY} of mouse
2573      * wheel scroll events. Defaults to {@code 1}.
2574      * @return This same instance, useful for chaining multiple setter methods in one call.
2575      */
2576     public DiffEditorOptions setMouseWheelScrollSensitivity(final Number mouseWheelScrollSensitivity) {
2577         put("mouseWheelScrollSensitivity", mouseWheelScrollSensitivity);
2578         return this;
2579     }
2580 
2581     /**
2582      * @return Controls the max number of text cursors that can be in an active editor at once.
2583      */
2584     public Number getMultiCursorLimit() {
2585         return (Number) (has("multiCursorLimit") ? get("multiCursorLimit") : null);
2586     }
2587 
2588     /**
2589      * @param multiCursorLimit Controls the max number of text cursors that can be in an active editor at once.
2590      * @return This same instance, useful for chaining multiple setter methods in one call.
2591      */
2592     public DiffEditorOptions setMultiCursorLimit(final Number multiCursorLimit) {
2593         put("multiCursorLimit", multiCursorLimit);
2594         return this;
2595     }
2596 
2597     /**
2598      * @return The number of vertical lanes the overview ruler should render. Defaults to {@code 3}.
2599      */
2600     public Number getOverviewRulerLanes() {
2601         return (Number) (has("overviewRulerLanes") ? get("overviewRulerLanes") : null);
2602     }
2603 
2604     /**
2605      * @param overviewRulerLanes The number of vertical lanes the overview ruler should render. Defaults to {@code 3}.
2606      * @return This same instance, useful for chaining multiple setter methods in one call.
2607      */
2608     public DiffEditorOptions setOverviewRulerLanes(final Number overviewRulerLanes) {
2609         put("overviewRulerLanes", overviewRulerLanes);
2610         return this;
2611     }
2612 
2613     /**
2614      * @return Quick suggestions show delay (in ms) Defaults to {@code 10} (ms)
2615      */
2616     public Number getQuickSuggestionsDelay() {
2617         return (Number) (has("quickSuggestionsDelay") ? get("quickSuggestionsDelay") : null);
2618     }
2619 
2620     /**
2621      * @param quickSuggestionsDelay Quick suggestions show delay (in ms) Defaults to {@code 10} (ms)
2622      * @return This same instance, useful for chaining multiple setter methods in one call.
2623      */
2624     public DiffEditorOptions setQuickSuggestionsDelay(final Number quickSuggestionsDelay) {
2625         put("quickSuggestionsDelay", quickSuggestionsDelay);
2626         return this;
2627     }
2628 
2629     /**
2630      * @return When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
2631      * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport. Defaults to
2632      * {@code 30} (px).
2633      */
2634     public Number getRevealHorizontalRightPadding() {
2635         return (Number) (has("revealHorizontalRightPadding") ? get("revealHorizontalRightPadding") : null);
2636     }
2637 
2638     /**
2639      * @param revealHorizontalRightPadding When revealing the cursor, a virtual padding (px) is added to the cursor,
2640      * turning it into a rectangle. This virtual padding ensures that the cursor gets revealed before hitting the edge
2641      * of the viewport. Defaults to {@code 30} (px).
2642      * @return This same instance, useful for chaining multiple setter methods in one call.
2643      */
2644     public DiffEditorOptions setRevealHorizontalRightPadding(final Number revealHorizontalRightPadding) {
2645         put("revealHorizontalRightPadding", revealHorizontalRightPadding);
2646         return this;
2647     }
2648 
2649     /**
2650      * @return Enable that scrolling can go beyond the last column by a number of columns. Defaults to {@code 5}.
2651      */
2652     public Number getScrollBeyondLastColumn() {
2653         return (Number) (has("scrollBeyondLastColumn") ? get("scrollBeyondLastColumn") : null);
2654     }
2655 
2656     /**
2657      * @param scrollBeyondLastColumn Enable that scrolling can go beyond the last column by a number of columns.
2658      * Defaults to {@code 5}.
2659      * @return This same instance, useful for chaining multiple setter methods in one call.
2660      */
2661     public DiffEditorOptions setScrollBeyondLastColumn(final Number scrollBeyondLastColumn) {
2662         put("scrollBeyondLastColumn", scrollBeyondLastColumn);
2663         return this;
2664     }
2665 
2666     /**
2667      * @return Performance guard: Stop rendering a line after x characters. Defaults to {@code 10000}. Use {@code -1} to
2668      * never stop rendering
2669      */
2670     public Number getStopRenderingLineAfter() {
2671         return (Number) (has("stopRenderingLineAfter") ? get("stopRenderingLineAfter") : null);
2672     }
2673 
2674     /**
2675      * @param stopRenderingLineAfter Performance guard: Stop rendering a line after x characters. Defaults to {@code
2676      * 10000}. Use {@code -1} to never stop rendering
2677      * @return This same instance, useful for chaining multiple setter methods in one call.
2678      */
2679     public DiffEditorOptions setStopRenderingLineAfter(final Number stopRenderingLineAfter) {
2680         put("stopRenderingLineAfter", stopRenderingLineAfter);
2681         return this;
2682     }
2683 
2684     /**
2685      * @return The font size for the suggest widget. Defaults to the editor font size.
2686      */
2687     public Number getSuggestFontSize() {
2688         return (Number) (has("suggestFontSize") ? get("suggestFontSize") : null);
2689     }
2690 
2691     /**
2692      * @param suggestFontSize The font size for the suggest widget. Defaults to the editor font size.
2693      * @return This same instance, useful for chaining multiple setter methods in one call.
2694      */
2695     public DiffEditorOptions setSuggestFontSize(final Number suggestFontSize) {
2696         put("suggestFontSize", suggestFontSize);
2697         return this;
2698     }
2699 
2700     /**
2701      * @return The line height for the suggest widget. Defaults to the editor line height.
2702      */
2703     public Number getSuggestLineHeight() {
2704         return (Number) (has("suggestLineHeight") ? get("suggestLineHeight") : null);
2705     }
2706 
2707     /**
2708      * @param suggestLineHeight The line height for the suggest widget. Defaults to the editor line height.
2709      * @return This same instance, useful for chaining multiple setter methods in one call.
2710      */
2711     public DiffEditorOptions setSuggestLineHeight(final Number suggestLineHeight) {
2712         put("suggestLineHeight", suggestLineHeight);
2713         return this;
2714     }
2715 
2716     /**
2717      * @return The {@code tabindex} property of the editor&#039;s textarea.
2718      */
2719     public Number getTabIndex() {
2720         return (Number) (has("tabIndex") ? get("tabIndex") : null);
2721     }
2722 
2723     /**
2724      * @param tabIndex The {@code tabindex} property of the editor&#039;s textarea.
2725      * @return This same instance, useful for chaining multiple setter methods in one call.
2726      */
2727     public DiffEditorOptions setTabIndex(final Number tabIndex) {
2728         put("tabIndex", tabIndex);
2729         return this;
2730     }
2731 
2732     /**
2733      * @return Control the wrapping of the editor. When {@code wordWrap} = {@code off}, the lines will never wrap. When
2734      * {@code wordWrap} = {@code on}, the lines will wrap at the viewport width. When {@code wordWrap} = {@code
2735      * wordWrapColumn}, the lines will wrap at wordWrapColumn. When {@code wordWrap} = {@code bounded}, the lines will
2736      * wrap at min(viewport width, wordWrapColumn). Defaults to {@code 80}.
2737      */
2738     public Number getWordWrapColumn() {
2739         return (Number) (has("wordWrapColumn") ? get("wordWrapColumn") : null);
2740     }
2741 
2742     /**
2743      * @param wordWrapColumn Control the wrapping of the editor. When {@code wordWrap} = {@code off}, the lines will
2744      * never wrap. When {@code wordWrap} = {@code on}, the lines will wrap at the viewport width. When {@code wordWrap}
2745      * = {@code wordWrapColumn}, the lines will wrap at wordWrapColumn. When {@code wordWrap} = {@code bounded}, the
2746      * lines will wrap at min(viewport width, wordWrapColumn). Defaults to {@code 80}.
2747      * @return This same instance, useful for chaining multiple setter methods in one call.
2748      */
2749     public DiffEditorOptions setWordWrapColumn(final Number wordWrapColumn) {
2750         put("wordWrapColumn", wordWrapColumn);
2751         return this;
2752     }
2753 
2754     public String getLineDecorationsWidth() {
2755         return (String) (has("lineDecorationsWidth") ? get("lineDecorationsWidth") : null);
2756     }
2757 
2758     public DiffEditorOptions setLineDecorationsWidth(final Number lineDecorationsWidth) {
2759         put("lineDecorationsWidth", lineDecorationsWidth != null ? lineDecorationsWidth.toString() + "px" : null);
2760         return this;
2761     }
2762 
2763     public DiffEditorOptions setLineDecorationsWidth(final String lineDecorationsWidth) {
2764         put("lineDecorationsWidth", lineDecorationsWidth);
2765         return this;
2766     }
2767 
2768     /**
2769      * @return The aria label for the editor&#039;s textarea (when it is focused).
2770      */
2771     public String getAriaLabel() {
2772         return (String) (has("ariaLabel") ? get("ariaLabel") : null);
2773     }
2774 
2775     /**
2776      * @param ariaLabel The aria label for the editor&#039;s textarea (when it is focused).
2777      * @return This same instance, useful for chaining multiple setter methods in one call.
2778      */
2779     public DiffEditorOptions setAriaLabel(final String ariaLabel) {
2780         put("ariaLabel", ariaLabel);
2781         return this;
2782     }
2783 
2784     /**
2785      * @return Code lens font family. Defaults to editor font family.
2786      */
2787     public String getCodeLensFontFamily() {
2788         return (String) (has("codeLensFontFamily") ? get("codeLensFontFamily") : null);
2789     }
2790 
2791     /**
2792      * @param codeLensFontFamily Code lens font family. Defaults to editor font family.
2793      * @return This same instance, useful for chaining multiple setter methods in one call.
2794      */
2795     public DiffEditorOptions setCodeLensFontFamily(final String codeLensFontFamily) {
2796         put("codeLensFontFamily", codeLensFontFamily);
2797         return this;
2798     }
2799 
2800     /**
2801      * @return Class name to be added to the editor.
2802      */
2803     public String getExtraEditorClassName() {
2804         return (String) (has("extraEditorClassName") ? get("extraEditorClassName") : null);
2805     }
2806 
2807     /**
2808      * @param extraEditorClassName Class name to be added to the editor.
2809      * @return This same instance, useful for chaining multiple setter methods in one call.
2810      */
2811     public DiffEditorOptions setExtraEditorClassName(final String extraEditorClassName) {
2812         put("extraEditorClassName", extraEditorClassName);
2813         return this;
2814     }
2815 
2816     /**
2817      * @return The font family
2818      */
2819     public String getFontFamily() {
2820         return (String) (has("fontFamily") ? get("fontFamily") : null);
2821     }
2822 
2823     /**
2824      * @param fontFamily The font family
2825      * @return This same instance, useful for chaining multiple setter methods in one call.
2826      */
2827     public DiffEditorOptions setFontFamily(final String fontFamily) {
2828         put("fontFamily", fontFamily);
2829         return this;
2830     }
2831 
2832     /**
2833      * @return Sets a placeholder for the editor. If set, the placeholder is shown if the editor is empty.
2834      */
2835     public String getPlaceholder() {
2836         return (String) (has("placeholder") ? get("placeholder") : null);
2837     }
2838 
2839     /**
2840      * @param placeholder Sets a placeholder for the editor. If set, the placeholder is shown if the editor is empty.
2841      * @return This same instance, useful for chaining multiple setter methods in one call.
2842      */
2843     public DiffEditorOptions setPlaceholder(final String placeholder) {
2844         put("placeholder", placeholder);
2845         return this;
2846     }
2847 
2848     /**
2849      * @return Locales used for segmenting lines into words when doing word related navigations or operations.&lt;p&gt;Specify
2850      * the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.). Defaults to empty
2851      * array
2852      */
2853     public JSONArray getWordSegmenterLocales() {
2854         return (JSONArray) (has("wordSegmenterLocales") ? get("wordSegmenterLocales") : null);
2855     }
2856 
2857     /**
2858      * @param wordSegmenterLocales Locales used for segmenting lines into words when doing word related navigations or
2859      * operations.&lt;p&gt;Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW,
2860      * etc.). Defaults to empty array
2861      * @return This same instance, useful for chaining multiple setter methods in one call.
2862      */
2863     public DiffEditorOptions setWordSegmenterLocales(final JSONArray wordSegmenterLocales) {
2864         put("wordSegmenterLocales", wordSegmenterLocales);
2865         return this;
2866     }
2867 
2868     /**
2869      * @return Locales used for segmenting lines into words when doing word related navigations or operations.&lt;p&gt;Specify
2870      * the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.). Defaults to empty
2871      * array
2872      */
2873     public DiffEditorOptions addWordSegmenterLocale(final String ... items) {
2874         JSONArray x = getWordSegmenterLocales();
2875         if (x == null) {
2876             x = new JSONArray();
2877             setWordSegmenterLocales(x);
2878         }
2879         for (String item : items) x.put(item);
2880         return this;
2881     }
2882 
2883     /**
2884      * @param wordSegmenterLocales Locales used for segmenting lines into words when doing word related navigations or
2885      * operations.&lt;p&gt;Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW,
2886      * etc.). Defaults to empty array
2887      * @return This same instance, useful for chaining multiple setter methods in one call.
2888      */
2889     public DiffEditorOptions setWordSegmenterLocales(final java.util.List<String> wordSegmenterLocales) {
2890         return setWordSegmenterLocales(new JSONArray(wordSegmenterLocales));
2891     }
2892 
2893     /**
2894      * @return A string containing the word separators used when doing word navigation. Defaults to
2895      * `~!@#$%^&amp;*()-=+[{]}|;:&#039;&quot;,.&lt;&gt;/?
2896      */
2897     public String getWordSeparators() {
2898         return (String) (has("wordSeparators") ? get("wordSeparators") : null);
2899     }
2900 
2901     /**
2902      * @param wordSeparators A string containing the word separators used when doing word navigation. Defaults to
2903      * `~!@#$%^&amp;*()-=+[{]}|;:&#039;&quot;,.&lt;&gt;/?
2904      * @return This same instance, useful for chaining multiple setter methods in one call.
2905      */
2906     public DiffEditorOptions setWordSeparators(final String wordSeparators) {
2907         put("wordSeparators", wordSeparators);
2908         return this;
2909     }
2910 
2911     /**
2912      * @return Configure word wrapping characters. A break will be introduced after these characters. Defaults to tab
2913      * stops, closing brackets and parentheses, and several other Unicode punctuation marks.
2914      */
2915     public String getWordWrapBreakAfterCharacters() {
2916         return (String) (has("wordWrapBreakAfterCharacters") ? get("wordWrapBreakAfterCharacters") : null);
2917     }
2918 
2919     /**
2920      * @param wordWrapBreakAfterCharacters Configure word wrapping characters. A break will be introduced after these
2921      * characters. Defaults to tab stops, closing brackets and parentheses, and several other Unicode punctuation marks.
2922      * @return This same instance, useful for chaining multiple setter methods in one call.
2923      */
2924     public DiffEditorOptions setWordWrapBreakAfterCharacters(final String wordWrapBreakAfterCharacters) {
2925         put("wordWrapBreakAfterCharacters", wordWrapBreakAfterCharacters);
2926         return this;
2927     }
2928 
2929     /**
2930      * @return Configure word wrapping characters. A break will be introduced before these characters. Defaults to
2931      * opening brackets and parentheses, and several other Unicode punctuation marks.
2932      */
2933     public String getWordWrapBreakBeforeCharacters() {
2934         return (String) (has("wordWrapBreakBeforeCharacters") ? get("wordWrapBreakBeforeCharacters") : null);
2935     }
2936 
2937     /**
2938      * @param wordWrapBreakBeforeCharacters Configure word wrapping characters. A break will be introduced before these
2939      * characters. Defaults to opening brackets and parentheses, and several other Unicode punctuation marks.
2940      * @return This same instance, useful for chaining multiple setter methods in one call.
2941      */
2942     public DiffEditorOptions setWordWrapBreakBeforeCharacters(final String wordWrapBreakBeforeCharacters) {
2943         put("wordWrapBreakBeforeCharacters", wordWrapBreakBeforeCharacters);
2944         return this;
2945     }
2946 
2947     /**
2948      * @return The initial editor dimension (to avoid measuring the container).
2949      */
2950     public EditorDimension getDimension() {
2951         return (EditorDimension) (has("dimension") ? get("dimension") : null);
2952     }
2953 
2954     /**
2955      * @param dimension The initial editor dimension (to avoid measuring the container).
2956      * @return This same instance, useful for chaining multiple setter methods in one call.
2957      */
2958     public DiffEditorOptions setDimension(final EditorDimension dimension) {
2959         put("dimension", dimension);
2960         return this;
2961     }
2962 
2963     /**
2964      * @return Options for whether unchanged regions should be hidden or visible.
2965      */
2966     public EditorHideUnchangedRegions getHideUnchangedRegions() {
2967         return (EditorHideUnchangedRegions) (has("hideUnchangedRegions") ? get("hideUnchangedRegions") : null);
2968     }
2969 
2970     /**
2971      * @param hideUnchangedRegions Options for whether unchanged regions should be hidden or visible.
2972      * @return This same instance, useful for chaining multiple setter methods in one call.
2973      */
2974     public DiffEditorOptions setHideUnchangedRegions(final EditorHideUnchangedRegions hideUnchangedRegions) {
2975         put("hideUnchangedRegions", hideUnchangedRegions);
2976         return this;
2977     }
2978 
2979     /**
2980      * @return Controls the diff algorithm.
2981      */
2982     public String getDiffAlgorithm() {
2983         return (String) (has("diffAlgorithm") ? get("diffAlgorithm") : null);
2984     }
2985 
2986     /**
2987      * @param diffAlgorithm Controls the diff algorithm.
2988      * @return This same instance, useful for chaining multiple setter methods in one call.
2989      */
2990     public DiffEditorOptions setDiffAlgorithm(final EDiffAlgorithm diffAlgorithm) {
2991         put("diffAlgorithm", diffAlgorithm != null ? diffAlgorithm.toString() : null);
2992         return this;
2993     }
2994 
2995     /**
2996      * @param diffAlgorithm Controls the diff algorithm.
2997      * @return This same instance, useful for chaining multiple setter methods in one call.
2998      */
2999     public DiffEditorOptions setDiffAlgorithm(final String diffAlgorithm) {
3000         put("diffAlgorithm", diffAlgorithm);
3001         return this;
3002     }
3003 
3004     /**
3005      * @return Controls the wrapping of the diff editor.
3006      */
3007     public String getDiffWordWrap() {
3008         return (String) (has("diffWordWrap") ? get("diffWordWrap") : null);
3009     }
3010 
3011     /**
3012      * @param diffWordWrap Controls the wrapping of the diff editor.
3013      * @return This same instance, useful for chaining multiple setter methods in one call.
3014      */
3015     public DiffEditorOptions setDiffWordWrap(final EDiffWordWrap diffWordWrap) {
3016         put("diffWordWrap", diffWordWrap != null ? diffWordWrap.toString() : null);
3017         return this;
3018     }
3019 
3020     /**
3021      * @param diffWordWrap Controls the wrapping of the diff editor.
3022      * @return This same instance, useful for chaining multiple setter methods in one call.
3023      */
3024     public DiffEditorOptions setDiffWordWrap(final String diffWordWrap) {
3025         put("diffWordWrap", diffWordWrap);
3026         return this;
3027     }
3028 
3029     /**
3030      * @return Initial theme to be used for rendering. The current out-of-the-box available themes are: {@code vs}
3031      * (default), {@code vs-dark}, {@code hc-black}. You can create custom themes via {@code monaco.editor.defineTheme}.
3032      * To switch a theme, use {@code monaco.editor.setTheme}
3033      */
3034     public String getTheme() {
3035         return (String) (has("theme") ? get("theme") : null);
3036     }
3037 
3038     /**
3039      * @param theme Initial theme to be used for rendering. The current out-of-the-box available themes are: {@code vs}
3040      * (default), {@code vs-dark}, {@code hc-black}. You can create custom themes via {@code monaco.editor.defineTheme}.
3041      * To switch a theme, use {@code monaco.editor.setTheme}
3042      * @return This same instance, useful for chaining multiple setter methods in one call.
3043      */
3044     public DiffEditorOptions setTheme(final ETheme theme) {
3045         put("theme", theme != null ? theme.toString() : null);
3046         return this;
3047     }
3048 
3049     /**
3050      * @param theme Initial theme to be used for rendering. The current out-of-the-box available themes are: {@code vs}
3051      * (default), {@code vs-dark}, {@code hc-black}. You can create custom themes via {@code monaco.editor.defineTheme}.
3052      * To switch a theme, use {@code monaco.editor.setTheme}
3053      * @return This same instance, useful for chaining multiple setter methods in one call.
3054      */
3055     public DiffEditorOptions setTheme(final String theme) {
3056         put("theme", theme);
3057         return this;
3058     }
3059 
3060     /**
3061      * @return Whether the diff editor aria label should be verbose.
3062      */
3063     public Boolean isAccessibilityVerbose() {
3064         return (Boolean) (has("accessibilityVerbose") ? get("accessibilityVerbose") : null);
3065     }
3066 
3067     /**
3068      * @param accessibilityVerbose Whether the diff editor aria label should be verbose.
3069      * @return This same instance, useful for chaining multiple setter methods in one call.
3070      */
3071     public DiffEditorOptions setAccessibilityVerbose(final Boolean accessibilityVerbose) {
3072         put("accessibilityVerbose", accessibilityVerbose);
3073         return this;
3074     }
3075 
3076     /**
3077      * @return If set, the diff editor is optimized for small views. Defaults to {@code false}.
3078      */
3079     public Boolean isCompactMode() {
3080         return (Boolean) (has("compactMode") ? get("compactMode") : null);
3081     }
3082 
3083     /**
3084      * @param compactMode If set, the diff editor is optimized for small views. Defaults to {@code false}.
3085      * @return This same instance, useful for chaining multiple setter methods in one call.
3086      */
3087     public DiffEditorOptions setCompactMode(final Boolean compactMode) {
3088         put("compactMode", compactMode);
3089         return this;
3090     }
3091 
3092     /**
3093      * @return Should the diff editor enable code lens? Defaults to {@code false}.
3094      */
3095     public Boolean isDiffCodeLens() {
3096         return (Boolean) (has("diffCodeLens") ? get("diffCodeLens") : null);
3097     }
3098 
3099     /**
3100      * @param diffCodeLens Should the diff editor enable code lens? Defaults to {@code false}.
3101      * @return This same instance, useful for chaining multiple setter methods in one call.
3102      */
3103     public DiffEditorOptions setDiffCodeLens(final Boolean diffCodeLens) {
3104         put("diffCodeLens", diffCodeLens);
3105         return this;
3106     }
3107 
3108     /**
3109      * @return Allow the user to resize the diff editor split view. Defaults to {@code true}.
3110      */
3111     public Boolean isEnableSplitViewResizing() {
3112         return (Boolean) (has("enableSplitViewResizing") ? get("enableSplitViewResizing") : null);
3113     }
3114 
3115     /**
3116      * @param enableSplitViewResizing Allow the user to resize the diff editor split view. Defaults to {@code true}.
3117      * @return This same instance, useful for chaining multiple setter methods in one call.
3118      */
3119     public DiffEditorOptions setEnableSplitViewResizing(final Boolean enableSplitViewResizing) {
3120         put("enableSplitViewResizing", enableSplitViewResizing);
3121         return this;
3122     }
3123 
3124     /**
3125      * @return Compute the diff by ignoring leading/trailing whitespace Defaults to {@code true}.
3126      */
3127     public Boolean isIgnoreTrimWhitespace() {
3128         return (Boolean) (has("ignoreTrimWhitespace") ? get("ignoreTrimWhitespace") : null);
3129     }
3130 
3131     /**
3132      * @param ignoreTrimWhitespace Compute the diff by ignoring leading/trailing whitespace Defaults to {@code true}.
3133      * @return This same instance, useful for chaining multiple setter methods in one call.
3134      */
3135     public DiffEditorOptions setIgnoreTrimWhitespace(final Boolean ignoreTrimWhitespace) {
3136         put("ignoreTrimWhitespace", ignoreTrimWhitespace);
3137         return this;
3138     }
3139 
3140     /**
3141      * @return If the diff editor should only show the difference review mode.
3142      */
3143     public Boolean isOnlyShowAccessibleDiffViewer() {
3144         return (Boolean) (has("onlyShowAccessibleDiffViewer") ? get("onlyShowAccessibleDiffViewer") : null);
3145     }
3146 
3147     /**
3148      * @param onlyShowAccessibleDiffViewer If the diff editor should only show the difference review mode.
3149      * @return This same instance, useful for chaining multiple setter methods in one call.
3150      */
3151     public DiffEditorOptions setOnlyShowAccessibleDiffViewer(final Boolean onlyShowAccessibleDiffViewer) {
3152         put("onlyShowAccessibleDiffViewer", onlyShowAccessibleDiffViewer);
3153         return this;
3154     }
3155 
3156     /**
3157      * @return Indicates if the gutter menu should be rendered.
3158      */
3159     public Boolean isRenderGutterMenu() {
3160         return (Boolean) (has("renderGutterMenu") ? get("renderGutterMenu") : null);
3161     }
3162 
3163     /**
3164      * @param renderGutterMenu Indicates if the gutter menu should be rendered.
3165      * @return This same instance, useful for chaining multiple setter methods in one call.
3166      */
3167     public DiffEditorOptions setRenderGutterMenu(final Boolean renderGutterMenu) {
3168         put("renderGutterMenu", renderGutterMenu);
3169         return this;
3170     }
3171 
3172     /**
3173      * @return Render +/- indicators for added/deleted changes. Defaults to {@code true}.
3174      */
3175     public Boolean isRenderIndicators() {
3176         return (Boolean) (has("renderIndicators") ? get("renderIndicators") : null);
3177     }
3178 
3179     /**
3180      * @param renderIndicators Render +/- indicators for added/deleted changes. Defaults to {@code true}.
3181      * @return This same instance, useful for chaining multiple setter methods in one call.
3182      */
3183     public DiffEditorOptions setRenderIndicators(final Boolean renderIndicators) {
3184         put("renderIndicators", renderIndicators);
3185         return this;
3186     }
3187 
3188     /**
3189      * @return Shows icons in the glyph margin to revert changes. Default to {@code true}.
3190      */
3191     public Boolean isRenderMarginRevertIcon() {
3192         return (Boolean) (has("renderMarginRevertIcon") ? get("renderMarginRevertIcon") : null);
3193     }
3194 
3195     /**
3196      * @param renderMarginRevertIcon Shows icons in the glyph margin to revert changes. Default to {@code true}.
3197      * @return This same instance, useful for chaining multiple setter methods in one call.
3198      */
3199     public DiffEditorOptions setRenderMarginRevertIcon(final Boolean renderMarginRevertIcon) {
3200         put("renderMarginRevertIcon", renderMarginRevertIcon);
3201         return this;
3202     }
3203 
3204     /**
3205      * @return Is the diff editor should render overview ruler Defaults to {@code true}
3206      */
3207     public Boolean isRenderOverviewRuler() {
3208         return (Boolean) (has("renderOverviewRuler") ? get("renderOverviewRuler") : null);
3209     }
3210 
3211     /**
3212      * @param renderOverviewRuler Is the diff editor should render overview ruler Defaults to {@code true}
3213      * @return This same instance, useful for chaining multiple setter methods in one call.
3214      */
3215     public DiffEditorOptions setRenderOverviewRuler(final Boolean renderOverviewRuler) {
3216         put("renderOverviewRuler", renderOverviewRuler);
3217         return this;
3218     }
3219 
3220     /**
3221      * @return Render the differences in two side-by-side editors. Defaults to {@code true}.
3222      */
3223     public Boolean isRenderSideBySide() {
3224         return (Boolean) (has("renderSideBySide") ? get("renderSideBySide") : null);
3225     }
3226 
3227     /**
3228      * @param renderSideBySide Render the differences in two side-by-side editors. Defaults to {@code true}.
3229      * @return This same instance, useful for chaining multiple setter methods in one call.
3230      */
3231     public DiffEditorOptions setRenderSideBySide(final Boolean renderSideBySide) {
3232         put("renderSideBySide", renderSideBySide);
3233         return this;
3234     }
3235 
3236     /**
3237      * @return When &lt;code&gt;renderSideBySide&lt;/code&gt; is enabled, &lt;code&gt;useInlineViewWhenSpaceIsLimited&lt;/code&gt; is set, and
3238      * the diff editor has a width less than &lt;code&gt;renderSideBySideInlineBreakpoint&lt;/code&gt;, the inline view is used.
3239      */
3240     public Boolean isUseInlineViewWhenSpaceIsLimited() {
3241         return (Boolean) (has("useInlineViewWhenSpaceIsLimited") ? get("useInlineViewWhenSpaceIsLimited") : null);
3242     }
3243 
3244     /**
3245      * @param useInlineViewWhenSpaceIsLimited When &lt;code&gt;renderSideBySide&lt;/code&gt; is enabled,
3246      * &lt;code&gt;useInlineViewWhenSpaceIsLimited&lt;/code&gt; is set, and the diff editor has a width less than
3247      * &lt;code&gt;renderSideBySideInlineBreakpoint&lt;/code&gt;, the inline view is used.
3248      * @return This same instance, useful for chaining multiple setter methods in one call.
3249      */
3250     public DiffEditorOptions setUseInlineViewWhenSpaceIsLimited(final Boolean useInlineViewWhenSpaceIsLimited) {
3251         put("useInlineViewWhenSpaceIsLimited", useInlineViewWhenSpaceIsLimited);
3252         return this;
3253     }
3254 
3255     /**
3256      * @return Timeout in milliseconds after which diff computation is cancelled. Defaults to {@code 5000}.
3257      */
3258     public Number getMaxComputationTime() {
3259         return (Number) (has("maxComputationTime") ? get("maxComputationTime") : null);
3260     }
3261 
3262     /**
3263      * @param maxComputationTime Timeout in milliseconds after which diff computation is cancelled. Defaults to {@code
3264      * 5000}.
3265      * @return This same instance, useful for chaining multiple setter methods in one call.
3266      */
3267     public DiffEditorOptions setMaxComputationTime(final Number maxComputationTime) {
3268         put("maxComputationTime", maxComputationTime);
3269         return this;
3270     }
3271 
3272     /**
3273      * @return Maximum supported file size in MB. Defaults to {@code 50}.
3274      */
3275     public Number getMaxFileSize() {
3276         return (Number) (has("maxFileSize") ? get("maxFileSize") : null);
3277     }
3278 
3279     /**
3280      * @param maxFileSize Maximum supported file size in MB. Defaults to {@code 50}.
3281      * @return This same instance, useful for chaining multiple setter methods in one call.
3282      */
3283     public DiffEditorOptions setMaxFileSize(final Number maxFileSize) {
3284         put("maxFileSize", maxFileSize);
3285         return this;
3286     }
3287 
3288     /**
3289      * @return When &lt;code&gt;renderSideBySide&lt;/code&gt; is enabled, &lt;code&gt;useInlineViewWhenSpaceIsLimited&lt;/code&gt; is set, and
3290      * the diff editor has a width less than &lt;code&gt;renderSideBySideInlineBreakpoint&lt;/code&gt;, the inline view is used.
3291      */
3292     public Number getRenderSideBySideInlineBreakpoint() {
3293         return (Number) (has("renderSideBySideInlineBreakpoint") ? get("renderSideBySideInlineBreakpoint") : null);
3294     }
3295 
3296     /**
3297      * @param renderSideBySideInlineBreakpoint When &lt;code&gt;renderSideBySide&lt;/code&gt; is enabled,
3298      * &lt;code&gt;useInlineViewWhenSpaceIsLimited&lt;/code&gt; is set, and the diff editor has a width less than
3299      * &lt;code&gt;renderSideBySideInlineBreakpoint&lt;/code&gt;, the inline view is used.
3300      * @return This same instance, useful for chaining multiple setter methods in one call.
3301      */
3302     public DiffEditorOptions setRenderSideBySideInlineBreakpoint(final Number renderSideBySideInlineBreakpoint) {
3303         put("renderSideBySideInlineBreakpoint", renderSideBySideInlineBreakpoint);
3304         return this;
3305     }
3306 
3307     /**
3308      * @return The default ratio when rendering side-by-side editors. Must be a number between &lt;code&gt;0&lt;/code&gt; and
3309      * &lt;code&gt;1&lt;/code&gt;, min sizes apply. Defaults to &lt;code&gt;0.5&lt;/code&gt;
3310      */
3311     public Number getSplitViewDefaultRatio() {
3312         return (Number) (has("splitViewDefaultRatio") ? get("splitViewDefaultRatio") : null);
3313     }
3314 
3315     /**
3316      * @param splitViewDefaultRatio The default ratio when rendering side-by-side editors. Must be a number between
3317      * &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt;, min sizes apply. Defaults to &lt;code&gt;0.5&lt;/code&gt;
3318      * @return This same instance, useful for chaining multiple setter methods in one call.
3319      */
3320     public DiffEditorOptions setSplitViewDefaultRatio(final Number splitViewDefaultRatio) {
3321         put("splitViewDefaultRatio", splitViewDefaultRatio);
3322         return this;
3323     }
3324 
3325     /**
3326      * @return Aria label for modified editor.
3327      */
3328     public String getModifiedAriaLabel() {
3329         return (String) (has("modifiedAriaLabel") ? get("modifiedAriaLabel") : null);
3330     }
3331 
3332     /**
3333      * @param modifiedAriaLabel Aria label for modified editor.
3334      * @return This same instance, useful for chaining multiple setter methods in one call.
3335      */
3336     public DiffEditorOptions setModifiedAriaLabel(final String modifiedAriaLabel) {
3337         put("modifiedAriaLabel", modifiedAriaLabel);
3338         return this;
3339     }
3340 
3341     /**
3342      * @return Aria label for original editor.
3343      */
3344     public String getOriginalAriaLabel() {
3345         return (String) (has("originalAriaLabel") ? get("originalAriaLabel") : null);
3346     }
3347 
3348     /**
3349      * @param originalAriaLabel Aria label for original editor.
3350      * @return This same instance, useful for chaining multiple setter methods in one call.
3351      */
3352     public DiffEditorOptions setOriginalAriaLabel(final String originalAriaLabel) {
3353         put("originalAriaLabel", originalAriaLabel);
3354         return this;
3355     }
3356 
3357     /**
3358      * @return This options object as a serializable JSON object
3359      */
3360     JSONObject getJSONObject() {
3361         return this;
3362     }
3363 }