{
  "title": "Text Editor",
  "description": "Text editor settings.",
  "jupyter.lab.setting-icon": "ui-components:text-editor",
  "jupyter.lab.setting-icon-label": "Editor",
  "jupyter.lab.menus": {
    "main": [
      {
        "id": "jp-mainmenu-file",
        "items": [
          {
            "type": "submenu",
            "submenu": {
              "id": "jp-mainmenu-file-new",
              "items": [
                {
                  "command": "fileeditor:create-new",
                  "rank": 30
                },
                {
                  "command": "fileeditor:create-new-markdown-file",
                  "rank": 30
                }
              ]
            }
          }
        ]
      },
      {
        "id": "jp-mainmenu-settings",
        "items": [
          {
            "type": "separator",
            "rank": 30
          },
          {
            "type": "submenu",
            "submenu": {
              "id": "jp-mainmenu-settings-fileeditorindent",
              "label": "Text Editor Indentation",
              "items": [
                {
                  "command": "fileeditor:change-tabs",
                  "args": {
                    "insertSpaces": false,
                    "size": 4
                  }
                },
                {
                  "command": "fileeditor:change-tabs",
                  "args": {
                    "insertSpaces": true,
                    "size": 1
                  }
                },
                {
                  "command": "fileeditor:change-tabs",
                  "args": {
                    "insertSpaces": true,
                    "size": 2
                  }
                },
                {
                  "command": "fileeditor:change-tabs",
                  "args": {
                    "insertSpaces": true,
                    "size": 4
                  }
                },
                {
                  "command": "fileeditor:change-tabs",
                  "args": {
                    "insertSpaces": true,
                    "size": 8
                  }
                }
              ]
            },
            "rank": 30
          },
          {
            "command": "fileeditor:toggle-autoclosing-brackets-universal",
            "rank": 30
          },
          {
            "command": "fileeditor:change-font-size",
            "rank": 30,
            "args": {
              "delta": 1,
              "isMenu": true
            }
          },
          {
            "command": "fileeditor:change-font-size",
            "rank": 30,
            "args": {
              "delta": -1,
              "isMenu": true
            }
          }
        ]
      }
    ],
    "context": [
      {
        "command": "fileeditor:undo",
        "selector": ".jp-FileEditor",
        "rank": 1
      },
      {
        "command": "fileeditor:redo",
        "selector": ".jp-FileEditor",
        "rank": 2
      },
      {
        "command": "fileeditor:cut",
        "selector": ".jp-FileEditor",
        "rank": 3
      },
      {
        "command": "fileeditor:copy",
        "selector": ".jp-FileEditor",
        "rank": 4
      },
      {
        "command": "fileeditor:paste",
        "selector": ".jp-FileEditor",
        "rank": 5
      },
      {
        "command": "fileeditor:select-all",
        "selector": ".jp-FileEditor",
        "rank": 6
      },
      {
        "command": "fileeditor:create-console",
        "selector": ".jp-FileEditor",
        "rank": 10
      },
      {
        "command": "fileeditor:markdown-preview",
        "selector": ".jp-FileEditor",
        "rank": 11
      }
    ]
  },
  "jupyter.lab.toolbars": {
    "Editor": []
  },
  "jupyter.lab.transform": true,
  "properties": {
    "editorConfig": {
      "title": "Editor Configuration",
      "description": "The configuration for all text editors.\nIf `fontFamily`, `fontSize` or `lineHeight` are `null`,\nvalues from current theme are used.",
      "$ref": "#/definitions/editorConfig",
      "default": {
        "autoClosingBrackets": false,
        "codeFolding": false,
        "cursorBlinkRate": 530,
        "fontFamily": null,
        "fontSize": null,
        "insertSpaces": true,
        "lineHeight": null,
        "lineNumbers": true,
        "lineWrap": "on",
        "matchBrackets": true,
        "readOnly": false,
        "rulers": [],
        "showTrailingSpace": false,
        "tabSize": 4,
        "wordWrapColumn": 80,
        "showTrailingSpace": false
      }
    },
    "toolbar": {
      "title": "Text editor toolbar items",
      "description": "Note: To disable a toolbar item,\ncopy it to User Preferences and add the\n\"disabled\" key. Toolbar description:",
      "items": {
        "$ref": "#/definitions/toolbarItem"
      },
      "type": "array",
      "default": []
    }
  },
  "additionalProperties": false,
  "type": "object",
  "definitions": {
    "editorConfig": {
      "properties": {
        "autoClosingBrackets": {
          "type": "boolean",
          "default": false,
          "title": "Auto Closing Brackets"
        },
        "codeFolding": {
          "type": "boolean",
          "default": false,
          "title": "Code Folding"
        },
        "cursorBlinkRate": {
          "type": "number",
          "title": "Cursor blinking rate",
          "description": "Half-period in milliseconds used for cursor blinking. The default blink rate is 530ms. By setting this to zero, blinking can be disabled. A negative value hides the cursor entirely.",
          "cursorBlinkRate": 530
        },
        "fontFamily": {
          "type": ["string", "null"],
          "title": "Font Family",
          "default": null
        },
        "fontSize": {
          "type": ["integer", "null"],
          "title": "Font Size",
          "minimum": 1,
          "maximum": 100,
          "default": null
        },
        "insertSpaces": {
          "type": "boolean",
          "title": "Insert Spaces",
          "default": true
        },
        "lineHeight": {
          "type": ["number", "null"],
          "title": "Line Height",
          "default": null
        },
        "lineNumbers": {
          "type": "boolean",
          "title": "Line Numbers",
          "default": true
        },
        "lineWrap": {
          "type": "string",
          "title": "Line Wrap",
          "enum": ["off", "on", "wordWrapColumn", "bounded"],
          "default": "on"
        },
        "matchBrackets": {
          "type": "boolean",
          "title": "Match Brackets",
          "default": true
        },
        "readOnly": {
          "type": "boolean",
          "title": "Read Only",
          "default": false
        },
        "rulers": {
          "type": "array",
          "title": "Rulers",
          "items": {
            "type": "number"
          },
          "default": []
        },
        "showTrailingSpace": {
          "type": "boolean",
          "title": "Show Trailing Space",
          "default": false
        },
        "tabSize": {
          "type": "number",
          "title": "Tab Size",
          "default": 4
        },
        "wordWrapColumn": {
          "type": "integer",
          "title": "Word Wrap Column",
          "default": 80
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "toolbarItem": {
      "properties": {
        "name": {
          "title": "Unique name",
          "type": "string"
        },
        "args": {
          "title": "Command arguments",
          "type": "object"
        },
        "command": {
          "title": "Command id",
          "type": "string",
          "default": ""
        },
        "disabled": {
          "title": "Whether the item is ignored or not",
          "type": "boolean",
          "default": false
        },
        "icon": {
          "title": "Item icon id",
          "description": "If defined, it will override the command icon",
          "type": "string"
        },
        "label": {
          "title": "Item label",
          "description": "If defined, it will override the command label",
          "type": "string"
        },
        "type": {
          "title": "Item type",
          "type": "string",
          "enum": ["command", "spacer"]
        },
        "rank": {
          "title": "Item rank",
          "type": "number",
          "minimum": 0,
          "default": 50
        }
      },
      "required": ["name"],
      "additionalProperties": false,
      "type": "object"
    }
  }
}
