Browse Source

Updated json schema

Tig 10 months ago
parent
commit
96691f5901
1 changed files with 304 additions and 68 deletions
  1. 304 68
      docfx/schemas/tui-config-schema.json

+ 304 - 68
docfx/schemas/tui-config-schema.json

@@ -3,26 +3,94 @@
   "description": "The JSON schema for the Terminal.Gui Configuration Manager (https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json).",
   "type": "object",
   "properties": {
-    "Application.AlternateForwardKey": {
-      "description": "Alternative key for navigating forwards through views. SCtrl+Tab is the primary key.",
+    "Application.ArrangeKey": {
+      "description": "Key eanable arrange mode (move/size with keyboard).",
       "$ref": "#/definitions/Key"
     },
-    "Application.AlternateBackwardKey": {
-      "description": "Alternative key for navigating backwards through views. Shift+Ctrl+Tab is the primary key.",
+    "Application.Force16Colors": {
+      "description": "Force the application to use 16 colors.",
+      "type": "boolean"
+    },
+    "Application.ForceDriver": {
+      "description": "Force the application to use a specific driver.",
+      "type": "string"
+    },
+    "Application.IsMouseDisabled": {
+      "description": "Disable or enable the mouse. The mouse is enabled by default.",
+      "type": "boolean"
+    },
+    "Application.NextTabGroupKey": {
+      "description": "Key to navigate to the next tab group.",
+      "$ref": "#/definitions/Key"
+    },
+    "Application.NextTabKey": {
+      "description": "Key to navigate to the next tab.",
+      "$ref": "#/definitions/Key"
+    },
+    "Application.PrevTabGroupKey": {
+      "description": "Key to navigate to the previous tab group.",
+      "$ref": "#/definitions/Key"
+    },
+    "Application.PrevTabKey": {
+      "description": "Key to navigate to the previous tab.",
       "$ref": "#/definitions/Key"
     },
     "Application.QuitKey": {
       "description": "The key to quit the application. Esc is the default.",
       "$ref": "#/definitions/Key"
     },
-    "Application.IsMouseDisabled": {
-      "description": "Disable or enable the mouse. The mouse is enabled by default.",
+    "AppSettings": {
+      "description": "Application-specific settings.",
+      "type": "object",
+      "properties": {
+        "ConfigurationEditor.EditorColorScheme": {
+          "description": "Color scheme for the configuration editor.",
+          "$ref": "#/definitions/ColorScheme"
+        },
+        "UICatalog.StatusBar": {
+          "description": "Enable or disable the status bar in the UI catalog.",
+          "type": "boolean"
+        }
+      }
+    },
+    "Colors16": {
+      "description": "Mapping of 16 colors to their names.",
+      "type": "object",
+      "additionalProperties": {
+        "$ref": "#/definitions/Color"
+      }
+    },
+    "ConfigurationManager.ThrowOnJsonErrors": {
+      "description": "Throw exceptions on JSON errors.",
+      "type": "boolean"
+    },
+    "ContextMenu.DefaultKey": {
+      "description": "Default key for the context menu.",
+      "$ref": "#/definitions/Key"
+    },
+    "FileDialog.MaxSearchResults": {
+      "description": "Maximum number of search results in the file dialog.",
+      "type": "integer"
+    },
+    "FileDialogStyle.DefaultUseColors": {
+      "description": "Use colors in the file dialog by default.",
       "type": "boolean"
     },
-    "Application.UseSystemConsole": {
-      "description": "If true, forces the use of the System.Console-based (aka NetDriver) driver. The default is false.",
+    "FileDialogStyle.DefaultUseUnicodeCharacters": {
+      "description": "Use Unicode characters in the file dialog by default.",
       "type": "boolean"
     },
+    "Glyphs": {
+      "description": "Custom glyphs used in the application.",
+      "type": "object",
+      "additionalProperties": {
+        "type": "string"
+      }
+    },
+    "Key.Separator": {
+      "description": "Separator used in key combinations.",
+      "type": "string"
+    },
     "Theme": {
       "description": "The currently selected theme. The default is 'Default'.",
       "type": "string"
@@ -30,13 +98,8 @@
     "Themes": {
       "description": "An array of Theme objects. Each Theme specifies a set of settings for an application. Set Theme to the name of the active theme.",
       "type": "array",
-      "properties": {
-        "Themes": {
-          "$ref": "#/definitions/Theme"
-        }
-      },
-      "additionalProperties": {
-        "$ref": "#/definitions/ColorScheme"
+      "items": {
+        "$ref": "#/definitions/Theme"
       }
     }
   },
@@ -45,34 +108,81 @@
       "description": "A Theme is a collection of settings that are named.",
       "type": "object",
       "properties": {
+        "Button.DefaultHighlightStyle": {
+          "description": "Default highlight style for buttons.",
+          "type": "string"
+        },
+        "Button.DefaultShadow": {
+          "description": "Default shadow style for buttons.",
+          "type": "string"
+        },
+        "CheckBox.DefaultHighlightStyle": {
+          "description": "Default highlight style for checkboxes.",
+          "type": "string"
+        },
         "ColorSchemes": {
           "description": "The ColorSchemes defined for this Theme.",
-          "$ref": "#/definitions/ColorSchemes"
-        }
-      }
-    },
-    "ColorSchemes": {
-      "description": "A list of ColorSchemes. Each ColorScheme specifies a set of Attributes (Foreground & Background).",
-      "type": "array",
-      "properties": {
-        "TopLevel": {
-          "$ref": "#/definitions/ColorScheme"
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/ColorScheme"
+          }
         },
-        "Base": {
-          "$ref": "#/definitions/ColorScheme"
+        "Dialog.DefaultBorderStyle": {
+          "description": "Default border style for dialogs.",
+          "type": "string"
         },
-        "Dialog": {
-          "$ref": "#/definitions/ColorScheme"
+        "Dialog.DefaultButtonAlignment": {
+          "description": "Default button alignment for dialogs.",
+          "type": "string"
         },
-        "Menu": {
-          "$ref": "#/definitions/ColorScheme"
+        "Dialog.DefaultButtonAlignmentModes": {
+          "description": "Default button alignment modes for dialogs.",
+          "type": "string"
         },
-        "Error": {
-          "$ref": "#/definitions/ColorScheme"
+        "Dialog.DefaultMinimumHeight": {
+          "description": "Default minimum height for dialogs.",
+          "type": "integer"
+        },
+        "Dialog.DefaultMinimumWidth": {
+          "description": "Default minimum width for dialogs.",
+          "type": "integer"
+        },
+        "Dialog.DefaultShadow": {
+          "description": "Default shadow style for dialogs.",
+          "type": "string"
+        },
+        "FrameView.DefaultBorderStyle": {
+          "description": "Default border style for frame views.",
+          "type": "string"
+        },
+        "MessageBox.DefaultBorderStyle": {
+          "description": "Default border style for message boxes.",
+          "type": "string"
+        },
+        "MessageBox.DefaultButtonAlignment": {
+          "description": "Default button alignment for message boxes.",
+          "type": "string"
+        },
+        "MessageBox.DefaultMinimumHeight": {
+          "description": "Default minimum height for message boxes.",
+          "type": "integer"
+        },
+        "MessageBox.DefaultMinimumWidth": {
+          "description": "Default minimum width for message boxes.",
+          "type": "integer"
+        },
+        "NerdFonts.Enable": {
+          "description": "Enable or disable Nerd Fonts.",
+          "type": "boolean"
+        },
+        "Window.DefaultBorderStyle": {
+          "description": "Default border style for windows.",
+          "type": "string"
+        },
+        "Window.DefaultShadow": {
+          "description": "Default shadow style for windows.",
+          "type": "string"
         }
-      },
-      "additionalProperties": {
-        "$ref": "#/definitions/ColorScheme"
       }
     },
     "ColorScheme": {
@@ -96,7 +206,7 @@
           "$ref": "#/definitions/Attribute"
         },
         "Disabled": {
-          "description": "The foreground and background color for text when the view disabled.",
+          "description": "The foreground and background color for text when the view is disabled.",
           "$ref": "#/definitions/Attribute"
         }
       }
@@ -118,40 +228,165 @@
       ]
     },
     "Color": {
-      "description": "One be either one of 16 standard color names or an rgb(r,g,b) tuple.",
+      "description": "One be either one of the W3C standard color names, an rgb(r,g,b) tuple, or a hex color string in the format #RRGGBB.",
       "$schema": "http://json-schema.org/draft-07/schema#",
       "type": "string",
-      "properties": {
-        "color": {
-          "oneOf": [
-            {
-              "type": "string",
-              "enum": [
-                "Black",
-                "Blue",
-                "Green",
-                "Cyan",
-                "Red",
-                "Magenta",
-                "Brown",
-                "Gray",
-                "DarkGray",
-                "BrightBlue",
-                "BrightGreen",
-                "BrightCyan",
-                "BrightRed",
-                "BrightMagenta",
-                "BrightYellow",
-                "White"
-              ]
-            },
-            {
-              "type": "string",
-              "pattern": "^rgb\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*\\)$"
-            }
+      "oneOf": [
+        {
+          "type": "string",
+          "enum": [
+            "AliceBlue",
+            "AntiqueWhite",
+            "Aqua",
+            "Aquamarine",
+            "Azure",
+            "Beige",
+            "Bisque",
+            "Black",
+            "BlanchedAlmond",
+            "Blue",
+            "BlueViolet",
+            "Brown",
+            "BurlyWood",
+            "CadetBlue",
+            "Chartreuse",
+            "Chocolate",
+            "Coral",
+            "CornflowerBlue",
+            "Cornsilk",
+            "Crimson",
+            "Cyan",
+            "DarkBlue",
+            "DarkCyan",
+            "DarkGoldenRod",
+            "DarkGray",
+            "DarkGreen",
+            "DarkKhaki",
+            "DarkMagenta",
+            "DarkOliveGreen",
+            "DarkOrange",
+            "DarkOrchid",
+            "DarkRed",
+            "DarkSalmon",
+            "DarkSeaGreen",
+            "DarkSlateBlue",
+            "DarkSlateGray",
+            "DarkTurquoise",
+            "DarkViolet",
+            "DeepPink",
+            "DeepSkyBlue",
+            "DimGray",
+            "DodgerBlue",
+            "FireBrick",
+            "FloralWhite",
+            "ForestGreen",
+            "Fuchsia",
+            "Gainsboro",
+            "GhostWhite",
+            "Gold",
+            "GoldenRod",
+            "Gray",
+            "Green",
+            "GreenYellow",
+            "HoneyDew",
+            "HotPink",
+            "IndianRed",
+            "Indigo",
+            "Ivory",
+            "Khaki",
+            "Lavender",
+            "LavenderBlush",
+            "LawnGreen",
+            "LemonChiffon",
+            "LightBlue",
+            "LightCoral",
+            "LightCyan",
+            "LightGoldenRodYellow",
+            "LightGray",
+            "LightGreen",
+            "LightPink",
+            "LightSalmon",
+            "LightSeaGreen",
+            "LightSkyBlue",
+            "LightSlateGray",
+            "LightSteelBlue",
+            "LightYellow",
+            "Lime",
+            "LimeGreen",
+            "Linen",
+            "Magenta",
+            "Maroon",
+            "MediumAquaMarine",
+            "MediumBlue",
+            "MediumOrchid",
+            "MediumPurple",
+            "MediumSeaGreen",
+            "MediumSlateBlue",
+            "MediumSpringGreen",
+            "MediumTurquoise",
+            "MediumVioletRed",
+            "MidnightBlue",
+            "MintCream",
+            "MistyRose",
+            "Moccasin",
+            "NavajoWhite",
+            "Navy",
+            "OldLace",
+            "Olive",
+            "OliveDrab",
+            "Orange",
+            "OrangeRed",
+            "Orchid",
+            "PaleGoldenRod",
+            "PaleGreen",
+            "PaleTurquoise",
+            "PaleVioletRed",
+            "PapayaWhip",
+            "PeachPuff",
+            "Peru",
+            "Pink",
+            "Plum",
+            "PowderBlue",
+            "Purple",
+            "RebeccaPurple",
+            "Red",
+            "RosyBrown",
+            "RoyalBlue",
+            "SaddleBrown",
+            "Salmon",
+            "SandyBrown",
+            "SeaGreen",
+            "SeaShell",
+            "Sienna",
+            "Silver",
+            "SkyBlue",
+            "SlateBlue",
+            "SlateGray",
+            "Snow",
+            "SpringGreen",
+            "SteelBlue",
+            "Tan",
+            "Teal",
+            "Thistle",
+            "Tomato",
+            "Turquoise",
+            "Violet",
+            "Wheat",
+            "White",
+            "WhiteSmoke",
+            "Yellow",
+            "YellowGreen"
           ]
+        },
+        {
+          "type": "string",
+          "pattern": "^rgb\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*\\)$"
+        },
+        {
+          "type": "string",
+          "pattern": "^#[0-9a-fA-F]{6}$"
         }
-      }
+      ]
     },
     "Key": {
       "description": "A key pressed on the keyboard.",
@@ -289,4 +524,5 @@
       ]
     }
   }
-}
+}
+