<commit_before>{
  "$schema": "http://json-schema.org/draft-06/schema",
  "title": "JupyterLab Plugin Settings/Preferences Schema",
  "description": "JupyterLab plugin settings/preferences schema",
  "version": "1.0.0",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "jupyter.lab.setting-icon-class": {
      "type": "string",
      "default": "jp-FileIcon"
    },
    "jupyter.lab.setting-icon-label": {
      "type": "string",
      "default": "Plugin"
    },
    "jupyter.lab.keyboard-shortcuts": {
      "items": { "$ref": "#/definitions/shortcut" },
      "type": "array",
      "default": []
    }
  },
  "definitions": {
    "shortcut": {
      "properties": {
        "command": { "type": "string" },
        "keys": {
          "items": { "type": "string" },
          "minItems": 1,
          "type": "array"
        },
        "selector": { "type": "string" },
        "title": { "type": "string" },
        "category": { "type": "string" }
      },
      "type": "object"
    }
  }
}<commit_msg>Update plugin schema to allow `args` for shortcuts and defined required fields.<commit_after>{
  "$schema": "http://json-schema.org/draft-06/schema",
  "title": "JupyterLab Plugin Settings/Preferences Schema",
  "description": "JupyterLab plugin settings/preferences schema",
  "version": "1.0.0",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "jupyter.lab.setting-icon-class": {
      "type": "string",
      "default": "jp-FileIcon"
    },
    "jupyter.lab.setting-icon-label": {
      "type": "string",
      "default": "Plugin"
    },
    "jupyter.lab.keyboard-shortcuts": {
      "items": { "$ref": "#/definitions/shortcut" },
      "type": "array",
      "default": []
    }
  },
  "definitions": {
    "shortcut": {
      "properties": {
        "args": { "required": false, "type": "object" },
        "command": { "required": true, "type": "string" },
        "keys": {
          "items": { "type": "string" },
          "minItems": 1,
          "required": true,
          "type": "array"
        },
        "selector": { "required": true, "type": "string" },
        "title": { "required": true, "type": "string" },
        "category": { "required": true, "type": "string" }
      },
      "type": "object"
    }
  }
}
{'fraction_non_alphanumeric': 0.2130074203404627, 'fraction_numerical': 0.005237887385421213, 'mean_word_length': 2.4727272727272727, 'pattern_counts': {'":': 78, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3387912', 'n_tokens_mistral': 789, 'n_tokens_neox': 772, 'n_words': 150}