json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "definitions": {
          "configurations": {
              "type": "array",
              "items": {
                  "type": "object",
                  "required": [
                      "name"
                  ],
                  "properties": {
                      "name": {
                          "description": "Platform name. Mac, Linux, or Win32 are the defaults unless a custom platform is added.",
                          "type": "string"
                      },
                      "includePath": {
                          "description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive.",
                          "type": "array",
                          "items": {
                              "type": "string"
                          }
                      },
                      "defines": {
                          "description": "A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use = to set a value, e.g. VERSION=1.",
                          "type": "array",
                          "items": {
                              "type": "string"
                          }
                      },
                      "intelliSenseMode": {
                          "type": "string",
                          "enum": [
                              "msvc-x64",
                              "clang-x64"
                          ],
                          "description": "If set, it overrides the default mode used by the IntelliSense engine. Windows defaults to msvc and Linux/Mac default to clang."
                      },
                      "browse": {
                          "type": "object",
                          "properties": {
                              "limitSymbolsToIncludedHeaders": {
                                  "description": "true to process only those files directly or indirectly included as headers, false to process all files under the specified include paths",
                                  "type": "boolean"
                              },
                              "databaseFilename": {
                                  "description": "Path to the generated symbol database. If a relative path is specified, it will be made relative to the workspace's default storage location.",
                                  "type": "string"
                              },
                              "path": {
                                  "description": "A list of paths for the tag parser to use while searching for included headers. Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example: '/usr/include' will search through all subdirectories while '/usr/include/*' will not.",
                                  "type": "array",
                                  "items": {
                                      "type": "string"
                                  }
                              }
                          }
                      }
                  }
              }
          }
      },
      "properties": {
          "configurations": {
              "$ref": "#/definitions/configurations"
          }
      },
      "required": [
          "configurations"
      ]
  }