{
  "$schema": "http://json-schema.org/draft-04/schema",
  "additionalProperties": false,
  "patternProperties": {
    "^([a-z0-9_-]+|\\*)$": {
      "description": "define name of language server",
      "properties": {
        "blocklist": {
          "items": {
            "description": "define list of blocked language servers",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "type": "array"
        },
        "cmd": {
          "description": "define command line arguments for the language server",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "config": {
          "description": "define configuration for the language server",
          "type": "object"
        },
        "disabled": {
          "default": true,
          "description": "set true if you want to enable server",
          "type": "boolean"
        },
        "initialization_options": {
          "description": "define initialization_options for the language server",
          "type": "object"
        },
        "root_uri": {
          "description": "define root_uri for current project",
          "pattern": "^file://\\S+$",
          "type": "string"
        },
        "root_uri_patterns": {
          "default": [],
          "description": "define patterns with file or directory names for finding root_uri",
          "items": {
            "description": "file or directory name",
            "type": "string"
          },
          "type": "array"
        },
        "allowlist": {
          "items": {
            "description": "define list of allowed language servers",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "type": "string"
          },
          "type": "array"
        },
        "workspace_config": {
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "title": "vim-lsp-settings-local",
  "type": "object"
}
