{
  "title": "Code Console",
  "description": "Code Console settings.",
  "jupyter.lab.setting-icon": "ui-components:console",
  "jupyter.lab.setting-icon-label": "Code Console Settings",
  "jupyter.lab.menus": {
    "main": [
      {
        "id": "jp-mainmenu-file",
        "items": [
          {
            "type": "submenu",
            "submenu": {
              "id": "jp-mainmenu-file-new",
              "items": [
                {
                  "command": "console:create",
                  "rank": 1
                }
              ]
            }
          }
        ]
      },
      {
        "id": "jp-mainmenu-settings",
        "items": [
          {
            "type": "separator",
            "rank": 9
          },
          {
            "type": "submenu",
            "submenu": {
              "id": "jp-mainmenu-settings-consoleexecute",
              "label": "Console Run Keystroke",
              "items": [
                {
                  "command": "console:interaction-mode",
                  "args": {
                    "interactionMode": "terminal"
                  }
                },
                {
                  "command": "console:interaction-mode",
                  "args": {
                    "interactionMode": "notebook"
                  }
                }
              ]
            },
            "rank": 9
          },
          {
            "type": "separator",
            "rank": 9
          }
        ]
      }
    ],
    "context": [
      {
        "command": "console:clear",
        "selector": ".jp-CodeConsole-content",
        "rank": 10
      },
      {
        "command": "console:restart-kernel",
        "selector": ".jp-CodeConsole",
        "rank": 30
      }
    ]
  },
  "jupyter.lab.shortcuts": [
    {
      "command": "console:linebreak",
      "keys": ["Enter"],
      "selector": ".jp-CodeConsole[data-jp-interaction-mode='notebook'] .jp-CodeConsole-promptCell"
    },
    {
      "command": "console:run-forced",
      "keys": ["Shift Enter"],
      "selector": ".jp-CodeConsole[data-jp-interaction-mode='notebook'] .jp-CodeConsole-promptCell"
    },
    {
      "command": "console:linebreak",
      "keys": ["Accel Enter"],
      "selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell"
    },
    {
      "command": "console:run-forced",
      "keys": ["Shift Enter"],
      "selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell"
    },
    {
      "command": "console:run-unforced",
      "keys": ["Enter"],
      "selector": ".jp-CodeConsole[data-jp-interaction-mode='terminal'] .jp-CodeConsole-promptCell"
    }
  ],
  "definitions": {
    "editorConfig": {
      "properties": {
        "autoClosingBrackets": {
          "type": "boolean",
          "title": "Auto Closing Brackets"
        },
        "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."
        },
        "fontFamily": {
          "type": ["string", "null"],
          "title": "Font Family"
        },
        "fontSize": {
          "type": ["integer", "null"],
          "title": "Font Size",
          "minimum": 1,
          "maximum": 100
        },
        "lineHeight": {
          "title": "Line Height",
          "type": ["number", "null"]
        },
        "lineNumbers": {
          "type": "boolean",
          "title": "Show Line Numbers"
        },
        "lineWrap": {
          "type": "string",
          "enum": ["off", "on", "wordWrapColumn", "bounded"],
          "title": "Line Wrap"
        },
        "matchBrackets": {
          "type": "boolean",
          "title": "Match Brackets"
        },
        "readOnly": {
          "type": "boolean",
          "title": "Read Only"
        },
        "insertSpaces": {
          "type": "boolean",
          "title": "Insert Spaces"
        },
        "tabSize": {
          "type": "number",
          "title": "Tab Size"
        },
        "wordWrapColumn": {
          "type": "integer",
          "title": "Word Wrap Column"
        },
        "rulers": {
          "type": "array",
          "title": "Rulers",
          "items": {
            "type": "number"
          }
        },
        "codeFolding": {
          "type": "boolean",
          "title": "Code Folding"
        },
        "lineWiseCopyCut": {
          "type": "boolean",
          "title": "Line-wise Ctrl-C",
          "description": "When enabled, which is the default, doing copy or cut when there is no selection will copy or cut the whole lines that have cursors on them."
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  },
  "properties": {
    "interactionMode": {
      "title": "Interaction mode",
      "description": "Whether the console interaction mimics the notebook\nor terminal keyboard shortcuts.",
      "type": "string",
      "enum": ["notebook", "terminal"],
      "default": "notebook"
    },
    "showAllKernelActivity": {
      "title": "Show All Kernel Activity",
      "description": "Whether the console defaults to showing all\nkernel activity or just kernel activity originating from itself.",
      "type": "boolean",
      "default": false
    },
    "promptCellConfig": {
      "title": "Prompt Cell Configuration",
      "description": "The configuration for all prompt cells.",
      "$ref": "#/definitions/editorConfig",
      "default": {
        "autoClosingBrackets": false,
        "cursorBlinkRate": 530,
        "fontFamily": null,
        "fontSize": null,
        "lineHeight": null,
        "lineNumbers": false,
        "lineWrap": "off",
        "matchBrackets": true,
        "readOnly": false,
        "insertSpaces": true,
        "tabSize": 4,
        "wordWrapColumn": 80,
        "rulers": [],
        "codeFolding": false,
        "lineWiseCopyCut": true
      }
    }
  },
  "additionalProperties": false,
  "type": "object"
}
