Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / lib / index.js
index 480b6b5ef856065ca91a086e0f889017f1e274ab..0844379df26bda73fe97e975f1a36949d087de4e 100644 (file)
 "use strict";
 
 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
     return new (P || (P = Promise))(function (resolve, reject) {
         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
 };
@@ -102,26 +103,48 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
 Object.defineProperty(exports, "__esModule", { value: true });
+exports.activate = void 0;
 const path_1 = __importDefault(__webpack_require__(1));
 const fs_1 = __importDefault(__webpack_require__(2));
-const vscode_languageserver_protocol_1 = __webpack_require__(3);
-const catalog_json_1 = __importDefault(__webpack_require__(30));
-const hash_1 = __webpack_require__(31);
-const coc_nvim_1 = __webpack_require__(32);
+const util_1 = __webpack_require__(3);
+const vscode_languageserver_protocol_1 = __webpack_require__(4);
+const catalog_json_1 = __importDefault(__webpack_require__(33));
+const hash_1 = __webpack_require__(34);
+const vscode_uri_1 = __webpack_require__(35);
+const coc_nvim_1 = __webpack_require__(36);
+const requests_1 = __webpack_require__(37);
+const strip_bom_1 = __importDefault(__webpack_require__(38));
 var ForceValidateRequest;
 (function (ForceValidateRequest) {
     ForceValidateRequest.type = new vscode_languageserver_protocol_1.RequestType('json/validate');
 })(ForceValidateRequest || (ForceValidateRequest = {}));
+var VSCodeContentRequest;
+(function (VSCodeContentRequest) {
+    VSCodeContentRequest.type = new vscode_languageserver_protocol_1.RequestType('vscode/content');
+})(VSCodeContentRequest || (VSCodeContentRequest = {}));
+var SchemaContentChangeNotification;
+(function (SchemaContentChangeNotification) {
+    SchemaContentChangeNotification.type = new vscode_languageserver_protocol_1.NotificationType('json/schemaContent');
+})(SchemaContentChangeNotification || (SchemaContentChangeNotification = {}));
+var SchemaAssociationNotification;
+(function (SchemaAssociationNotification) {
+    SchemaAssociationNotification.type = new vscode_languageserver_protocol_1.NotificationType('json/schemaAssociations');
+})(SchemaAssociationNotification || (SchemaAssociationNotification = {}));
+var SettingIds;
+(function (SettingIds) {
+    SettingIds.enableFormatter = 'json.format.enable';
+    SettingIds.enableSchemaDownload = 'json.schemaDownload.enable';
+    SettingIds.maxItemsComputed = 'json.maxItemsComputed';
+})(SettingIds || (SettingIds = {}));
 function activate(context) {
     return __awaiter(this, void 0, void 0, function* () {
         let { subscriptions, logger } = context;
+        const httpService = getHTTPRequestService();
         const config = coc_nvim_1.workspace.getConfiguration().get('json', {});
         if (!config.enable)
             return;
         const file = context.asAbsolutePath('lib/server.js');
         const selector = ['json', 'jsonc'];
-        let schemaContent = yield readFile(path_1.default.join(coc_nvim_1.workspace.pluginRoot, 'data/schema.json'), 'utf8');
-        let settingsSchema = JSON.parse(schemaContent);
         let fileSchemaErrors = new Map();
         coc_nvim_1.events.on('BufEnter', bufnr => {
             let doc = coc_nvim_1.workspace.getDocument(bufnr);
@@ -145,6 +168,10 @@ function activate(context) {
                 configurationSection: ['json', 'http'],
                 fileEvents: coc_nvim_1.workspace.createFileSystemWatcher('**/*.json')
             },
+            initializationOptions: {
+                handledSchemaProtocols: ['file'],
+                customCapabilities: { rangeFormatting: { editLimit: 1000 } }
+            },
             outputChannelName: 'json',
             diagnosticCollectionName: 'json',
             middleware: {
@@ -214,54 +241,33 @@ function activate(context) {
         let client = new coc_nvim_1.LanguageClient('json', 'Json language server', serverOptions, clientOptions);
         subscriptions.push(coc_nvim_1.services.registLanguageClient(client));
         client.onReady().then(() => {
-            for (let doc of coc_nvim_1.workspace.documents) {
-                onDocumentCreate(doc.textDocument).catch(_e => {
-                    // noop
-                });
+            // associations
+            client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
+            coc_nvim_1.extensions.onDidUnloadExtension(() => {
+                client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
+            }, null, subscriptions);
+            coc_nvim_1.extensions.onDidLoadExtension(() => {
+                client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
+            }, null, subscriptions);
+            let schemaDownloadEnabled = true;
+            function updateSchemaDownloadSetting() {
+                schemaDownloadEnabled = coc_nvim_1.workspace.getConfiguration().get(SettingIds.enableSchemaDownload) !== false;
             }
-            let associations = {};
-            for (let item of catalog_json_1.default.schemas) {
-                let { fileMatch, url } = item;
-                if (Array.isArray(fileMatch)) {
-                    for (let key of fileMatch) {
-                        associations[key] = [url];
-                    }
-                }
-                else if (typeof fileMatch === 'string') {
-                    associations[fileMatch] = [url];
+            updateSchemaDownloadSetting();
+            coc_nvim_1.workspace.onDidChangeConfiguration(e => {
+                if (e.affectsConfiguration(SettingIds.enableSchemaDownload)) {
+                    updateSchemaDownloadSetting();
                 }
-            }
-            coc_nvim_1.extensions.all.forEach(extension => {
-                let { packageJSON } = extension;
-                let { contributes } = packageJSON;
-                if (!contributes)
-                    return;
-                let { jsonValidation } = contributes;
-                if (jsonValidation && jsonValidation.length) {
-                    for (let item of jsonValidation) {
-                        let { url, fileMatch } = item;
-                        // fileMatch
-                        if (url && !/^http(s)?:/.test(url)) {
-                            let file = path_1.default.join(extension.extensionPath, url);
-                            if (fs_1.default.existsSync(file))
-                                url = coc_nvim_1.Uri.file(file).toString();
-                        }
-                        if (url) {
-                            let curr = associations[fileMatch];
-                            if (!curr) {
-                                associations[fileMatch] = [url];
-                            }
-                            else if (curr && curr.indexOf(url) == -1) {
-                                curr.push(url);
-                            }
-                        }
-                    }
+            }, null, subscriptions);
+            const schemaDocuments = {};
+            client.onRequest(VSCodeContentRequest.type, (uriPath) => __awaiter(this, void 0, void 0, function* () {
+                const uri = vscode_uri_1.URI.parse(uriPath);
+                if (uri.scheme === 'untitled') {
+                    return Promise.reject(new vscode_languageserver_protocol_1.ResponseError(3, `Unable to load ${uri.scheme}`));
                 }
-            });
-            associations['coc-settings.json'] = ['vscode://settings'];
-            client.sendNotification('json/schemaAssociations', associations);
-            client.onRequest('vscode/content', (uri) => __awaiter(this, void 0, void 0, function* () {
-                if (uri == 'vscode://settings') {
+                if (uriPath == 'vscode://settings') {
+                    let schemaContent = yield util_1.promisify(fs_1.default.readFile)(path_1.default.join(coc_nvim_1.workspace.pluginRoot, 'data/schema.json'), 'utf8');
+                    let settingsSchema = JSON.parse(schemaContent);
                     let schema = Object.assign({}, settingsSchema);
                     schema.properties = schema.properties || {};
                     if (coc_nvim_1.extensions.schemes)
@@ -282,43 +288,37 @@ function activate(context) {
                     });
                     return JSON.stringify(schema);
                 }
-                logger.error(`Unknown schema for ${uri}`);
+                if (uri.scheme !== 'http' && uri.scheme !== 'https') {
+                    let doc = yield coc_nvim_1.workspace.loadFile(uriPath);
+                    schemaDocuments[uri.toString()] = true;
+                    return doc.getDocumentContent();
+                }
+                else if (schemaDownloadEnabled) {
+                    return yield Promise.resolve(httpService.getContent(uriPath));
+                }
+                else {
+                    logger.warn(`Schema download disabled!`);
+                }
                 return '{}';
             }));
+            const handleContentChange = (uriString) => {
+                if (schemaDocuments[uriString]) {
+                    client.sendNotification(SchemaContentChangeNotification.type, uriString);
+                    return true;
+                }
+                return false;
+            };
+            coc_nvim_1.workspace.onDidChangeTextDocument(e => handleContentChange(e.textDocument.uri));
+            coc_nvim_1.workspace.onDidCloseTextDocument(doc => {
+                const uriString = doc.uri;
+                if (handleContentChange(uriString)) {
+                    delete schemaDocuments[uriString];
+                }
+                fileSchemaErrors.delete(doc.uri);
+            }, null, subscriptions);
         }, _e => {
             // noop
         });
-        function onDocumentCreate(document) {
-            return __awaiter(this, void 0, void 0, function* () {
-                if (!coc_nvim_1.workspace.match(selector, document))
-                    return;
-                if (client.serviceState !== coc_nvim_1.ServiceStat.Running)
-                    return;
-                let file = coc_nvim_1.Uri.parse(document.uri).fsPath;
-                let associations = {};
-                let content = document.getText();
-                if (content.indexOf('"$schema"') !== -1)
-                    return;
-                let miniProgrameRoot = yield coc_nvim_1.workspace.resolveRootFolder(coc_nvim_1.Uri.parse(document.uri), ['project.config.json']);
-                if (miniProgrameRoot) {
-                    if (path_1.default.dirname(file) == miniProgrameRoot) {
-                        return;
-                    }
-                    let arr = ['page', 'component'].map(str => {
-                        return coc_nvim_1.Uri.file(context.asAbsolutePath(`data/${str}.json`)).toString();
-                    });
-                    associations['/' + file] = arr;
-                    associations['app.json'] = [coc_nvim_1.Uri.file(context.asAbsolutePath('data/app.json')).toString()];
-                }
-                if (Object.keys(associations).length > 0) {
-                    client.sendNotification('json/schemaAssociations', associations);
-                }
-            });
-        }
-        coc_nvim_1.workspace.onDidOpenTextDocument(onDocumentCreate, null, subscriptions);
-        coc_nvim_1.workspace.onDidCloseTextDocument(doc => {
-            fileSchemaErrors.delete(doc.uri);
-        }, null, subscriptions);
         let statusItem = coc_nvim_1.workspace.createStatusBarItem(0, { progress: true });
         subscriptions.push(statusItem);
         subscriptions.push(coc_nvim_1.commands.registerCommand('json.retryResolveSchema', () => __awaiter(this, void 0, void 0, function* () {
@@ -328,7 +328,7 @@ function activate(context) {
             statusItem.isProgress = true;
             statusItem.text = 'loading schema';
             statusItem.show();
-            client.sendRequest(ForceValidateRequest.type, doc.uri).then(diagnostics => {
+            client.sendRequest(ForceValidateRequest.type, doc.uri).then((diagnostics) => {
                 statusItem.text = '⚠️';
                 statusItem.isProgress = false;
                 const schemaErrorIndex = diagnostics.findIndex(candidate => candidate.code === /* SchemaResolveError */ 0x300);
@@ -413,18 +413,71 @@ function getSchemaId(schema, rootPath) {
         }
     }
     else if (rootPath && (url[0] === '.' || url[0] === '/')) {
-        url = coc_nvim_1.Uri.file(path_1.default.normalize(path_1.default.join(rootPath, url))).toString();
+        url = vscode_uri_1.URI.file(path_1.default.normalize(path_1.default.join(rootPath, url))).toString();
     }
     return url;
 }
-function readFile(fullpath, encoding) {
-    return new Promise((resolve, reject) => {
-        fs_1.default.readFile(fullpath, encoding, (err, content) => {
-            if (err)
-                reject(err);
-            resolve(content);
-        });
+function getHTTPRequestService() {
+    return {
+        getContent(uri, _encoding) {
+            const headers = { 'Accept-Encoding': 'gzip, deflate' };
+            return coc_nvim_1.fetch(uri, { headers }).then(res => {
+                if (typeof res === 'string') {
+                    return res;
+                }
+                if (Buffer.isBuffer(res)) {
+                    return strip_bom_1.default(res.toString('utf8'));
+                }
+                return JSON.stringify(res);
+            });
+        }
+    };
+}
+function getSchemaAssociations(_context) {
+    const associations = [];
+    associations.push({ fileMatch: ['coc-settings.json'], uri: 'vscode://settings' });
+    for (let item of catalog_json_1.default.schemas) {
+        let { fileMatch, url } = item;
+        if (Array.isArray(fileMatch)) {
+            associations.push({ fileMatch, uri: url });
+        }
+        else if (typeof fileMatch === 'string') {
+            associations.push({ fileMatch: [fileMatch], uri: url });
+        }
+    }
+    coc_nvim_1.extensions.all.forEach(extension => {
+        const packageJSON = extension.packageJSON;
+        if (packageJSON && packageJSON.contributes && packageJSON.contributes.jsonValidation) {
+            const jsonValidation = packageJSON.contributes.jsonValidation;
+            if (Array.isArray(jsonValidation)) {
+                jsonValidation.forEach(jv => {
+                    let { fileMatch, url } = jv;
+                    if (typeof fileMatch === 'string') {
+                        fileMatch = [fileMatch];
+                    }
+                    if (Array.isArray(fileMatch) && typeof url === 'string') {
+                        let uri = url;
+                        if (uri[0] === '.' && uri[1] === '/') {
+                            uri = requests_1.joinPath(vscode_uri_1.URI.file(extension.extensionPath), uri).toString();
+                        }
+                        fileMatch = fileMatch.map(fm => {
+                            if (fm[0] === '%') {
+                                fm = fm.replace(/%APP_SETTINGS_HOME%/, '/User');
+                                fm = fm.replace(/%MACHINE_SETTINGS_HOME%/, '/Machine');
+                                fm = fm.replace(/%APP_WORKSPACES_HOME%/, '/Workspaces');
+                            }
+                            else if (!fm.match(/^(\w+:\/\/|\/|!)/)) {
+                                fm = '/' + fm;
+                            }
+                            return fm;
+                        });
+                        associations.push({ fileMatch, uri });
+                    }
+                });
+            }
+        }
     });
+    return associations;
 }
 
 
@@ -442,6 +495,12 @@ module.exports = require("fs");
 
 /***/ }),
 /* 3 */
+/***/ (function(module, exports) {
+
+module.exports = require("util");
+
+/***/ }),
+/* 4 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -454,7 +513,7 @@ function __export(m) {
     for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r
 }\r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
 exports.ErrorCodes = vscode_jsonrpc_1.ErrorCodes;\r
 exports.ResponseError = vscode_jsonrpc_1.ResponseError;\r
 exports.CancellationToken = vscode_jsonrpc_1.CancellationToken;\r
@@ -482,42 +541,46 @@ exports.createServerPipeTransport = vscode_jsonrpc_1.createServerPipeTransport;
 exports.generateRandomPipeName = vscode_jsonrpc_1.generateRandomPipeName;\r
 exports.createClientSocketTransport = vscode_jsonrpc_1.createClientSocketTransport;\r
 exports.createServerSocketTransport = vscode_jsonrpc_1.createServerSocketTransport;\r
-__export(__webpack_require__(17));\r
+exports.ProgressType = vscode_jsonrpc_1.ProgressType;\r
 __export(__webpack_require__(18));\r
-const callHierarchy = __webpack_require__(27);\r
-const progress = __webpack_require__(28);\r
-const sr = __webpack_require__(29);\r
+__export(__webpack_require__(19));\r
+const callHierarchy = __webpack_require__(31);\r
+const st = __webpack_require__(32);\r
 var Proposed;\r
 (function (Proposed) {\r
-    let SelectionRangeRequest;\r
-    (function (SelectionRangeRequest) {\r
-        SelectionRangeRequest.type = sr.SelectionRangeRequest.type;\r
-    })(SelectionRangeRequest = Proposed.SelectionRangeRequest || (Proposed.SelectionRangeRequest = {}));\r
-    let CallHierarchyRequest;\r
-    (function (CallHierarchyRequest) {\r
-        CallHierarchyRequest.type = callHierarchy.CallHierarchyRequest.type;\r
-    })(CallHierarchyRequest = Proposed.CallHierarchyRequest || (Proposed.CallHierarchyRequest = {}));\r
-    let CallHierarchyDirection;\r
-    (function (CallHierarchyDirection) {\r
-        CallHierarchyDirection.CallsFrom = callHierarchy.CallHierarchyDirection.CallsFrom;\r
-        CallHierarchyDirection.CallsTo = callHierarchy.CallHierarchyDirection.CallsTo;\r
-    })(CallHierarchyDirection = Proposed.CallHierarchyDirection || (Proposed.CallHierarchyDirection = {}));\r
-    let ProgressStartNotification;\r
-    (function (ProgressStartNotification) {\r
-        ProgressStartNotification.type = progress.ProgressStartNotification.type;\r
-    })(ProgressStartNotification = Proposed.ProgressStartNotification || (Proposed.ProgressStartNotification = {}));\r
-    let ProgressReportNotification;\r
-    (function (ProgressReportNotification) {\r
-        ProgressReportNotification.type = progress.ProgressReportNotification.type;\r
-    })(ProgressReportNotification = Proposed.ProgressReportNotification || (Proposed.ProgressReportNotification = {}));\r
-    let ProgressDoneNotification;\r
-    (function (ProgressDoneNotification) {\r
-        ProgressDoneNotification.type = progress.ProgressDoneNotification.type;\r
-    })(ProgressDoneNotification = Proposed.ProgressDoneNotification || (Proposed.ProgressDoneNotification = {}));\r
-    let ProgressCancelNotification;\r
-    (function (ProgressCancelNotification) {\r
-        ProgressCancelNotification.type = progress.ProgressCancelNotification.type;\r
-    })(ProgressCancelNotification = Proposed.ProgressCancelNotification || (Proposed.ProgressCancelNotification = {}));\r
+    let CallHierarchyPrepareRequest;\r
+    (function (CallHierarchyPrepareRequest) {\r
+        CallHierarchyPrepareRequest.method = callHierarchy.CallHierarchyPrepareRequest.method;\r
+        CallHierarchyPrepareRequest.type = callHierarchy.CallHierarchyPrepareRequest.type;\r
+    })(CallHierarchyPrepareRequest = Proposed.CallHierarchyPrepareRequest || (Proposed.CallHierarchyPrepareRequest = {}));\r
+    let CallHierarchyIncomingCallsRequest;\r
+    (function (CallHierarchyIncomingCallsRequest) {\r
+        CallHierarchyIncomingCallsRequest.method = callHierarchy.CallHierarchyIncomingCallsRequest.method;\r
+        CallHierarchyIncomingCallsRequest.type = callHierarchy.CallHierarchyIncomingCallsRequest.type;\r
+    })(CallHierarchyIncomingCallsRequest = Proposed.CallHierarchyIncomingCallsRequest || (Proposed.CallHierarchyIncomingCallsRequest = {}));\r
+    let CallHierarchyOutgoingCallsRequest;\r
+    (function (CallHierarchyOutgoingCallsRequest) {\r
+        CallHierarchyOutgoingCallsRequest.method = callHierarchy.CallHierarchyOutgoingCallsRequest.method;\r
+        CallHierarchyOutgoingCallsRequest.type = callHierarchy.CallHierarchyOutgoingCallsRequest.type;\r
+    })(CallHierarchyOutgoingCallsRequest = Proposed.CallHierarchyOutgoingCallsRequest || (Proposed.CallHierarchyOutgoingCallsRequest = {}));\r
+    Proposed.SemanticTokenTypes = st.SemanticTokenTypes;\r
+    Proposed.SemanticTokenModifiers = st.SemanticTokenModifiers;\r
+    Proposed.SemanticTokens = st.SemanticTokens;\r
+    let SemanticTokensRequest;\r
+    (function (SemanticTokensRequest) {\r
+        SemanticTokensRequest.method = st.SemanticTokensRequest.method;\r
+        SemanticTokensRequest.type = st.SemanticTokensRequest.type;\r
+    })(SemanticTokensRequest = Proposed.SemanticTokensRequest || (Proposed.SemanticTokensRequest = {}));\r
+    let SemanticTokensEditsRequest;\r
+    (function (SemanticTokensEditsRequest) {\r
+        SemanticTokensEditsRequest.method = st.SemanticTokensEditsRequest.method;\r
+        SemanticTokensEditsRequest.type = st.SemanticTokensEditsRequest.type;\r
+    })(SemanticTokensEditsRequest = Proposed.SemanticTokensEditsRequest || (Proposed.SemanticTokensEditsRequest = {}));\r
+    let SemanticTokensRangeRequest;\r
+    (function (SemanticTokensRangeRequest) {\r
+        SemanticTokensRangeRequest.method = st.SemanticTokensRangeRequest.method;\r
+        SemanticTokensRangeRequest.type = st.SemanticTokensRangeRequest.type;\r
+    })(SemanticTokensRangeRequest = Proposed.SemanticTokensRangeRequest || (Proposed.SemanticTokensRangeRequest = {}));\r
 })(Proposed = exports.Proposed || (exports.Proposed = {}));\r
 function createProtocolConnection(reader, writer, logger, strategy) {\r
     return vscode_jsonrpc_1.createMessageConnection(reader, writer, logger, strategy);\r
@@ -526,7 +589,7 @@ exports.createProtocolConnection = createProtocolConnection;
 
 
 /***/ }),
-/* 4 */
+/* 5 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -534,14 +597,14 @@ exports.createProtocolConnection = createProtocolConnection;
  * Copyright (c) Microsoft Corporation. All rights reserved.\r
  * Licensed under the MIT License. See License.txt in the project root for license information.\r
  * ------------------------------------------------------------------------------------------ */\r
-/// <reference path="./thenable.ts" />\r
+/// <reference path="../typings/thenable.d.ts" />\r
 \r
 function __export(m) {\r
     for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r
 }\r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const Is = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(6);\r
+const Is = __webpack_require__(6);\r
+const messages_1 = __webpack_require__(7);\r
 exports.RequestType = messages_1.RequestType;\r
 exports.RequestType0 = messages_1.RequestType0;\r
 exports.RequestType1 = messages_1.RequestType1;\r
@@ -566,30 +629,39 @@ exports.NotificationType6 = messages_1.NotificationType6;
 exports.NotificationType7 = messages_1.NotificationType7;\r
 exports.NotificationType8 = messages_1.NotificationType8;\r
 exports.NotificationType9 = messages_1.NotificationType9;\r
-const messageReader_1 = __webpack_require__(7);\r
+const messageReader_1 = __webpack_require__(8);\r
 exports.MessageReader = messageReader_1.MessageReader;\r
 exports.StreamMessageReader = messageReader_1.StreamMessageReader;\r
 exports.IPCMessageReader = messageReader_1.IPCMessageReader;\r
 exports.SocketMessageReader = messageReader_1.SocketMessageReader;\r
-const messageWriter_1 = __webpack_require__(9);\r
+const messageWriter_1 = __webpack_require__(10);\r
 exports.MessageWriter = messageWriter_1.MessageWriter;\r
 exports.StreamMessageWriter = messageWriter_1.StreamMessageWriter;\r
 exports.IPCMessageWriter = messageWriter_1.IPCMessageWriter;\r
 exports.SocketMessageWriter = messageWriter_1.SocketMessageWriter;\r
-const events_1 = __webpack_require__(8);\r
+const events_1 = __webpack_require__(9);\r
 exports.Disposable = events_1.Disposable;\r
 exports.Event = events_1.Event;\r
 exports.Emitter = events_1.Emitter;\r
-const cancellation_1 = __webpack_require__(10);\r
+const cancellation_1 = __webpack_require__(11);\r
 exports.CancellationTokenSource = cancellation_1.CancellationTokenSource;\r
 exports.CancellationToken = cancellation_1.CancellationToken;\r
-const linkedMap_1 = __webpack_require__(11);\r
-__export(__webpack_require__(12));\r
-__export(__webpack_require__(16));\r
+const linkedMap_1 = __webpack_require__(12);\r
+__export(__webpack_require__(13));\r
+__export(__webpack_require__(17));\r
 var CancelNotification;\r
 (function (CancelNotification) {\r
     CancelNotification.type = new messages_1.NotificationType('$/cancelRequest');\r
 })(CancelNotification || (CancelNotification = {}));\r
+var ProgressNotification;\r
+(function (ProgressNotification) {\r
+    ProgressNotification.type = new messages_1.NotificationType('$/progress');\r
+})(ProgressNotification || (ProgressNotification = {}));\r
+class ProgressType {\r
+    constructor() {\r
+    }\r
+}\r
+exports.ProgressType = ProgressType;\r
 exports.NullLogger = Object.freeze({\r
     error: () => { },\r
     warn: () => { },\r
@@ -604,6 +676,9 @@ var Trace;
 })(Trace = exports.Trace || (exports.Trace = {}));\r
 (function (Trace) {\r
     function fromString(value) {\r
+        if (!Is.string(value)) {\r
+            return Trace.Off;\r
+        }\r
         value = value.toLowerCase();\r
         switch (value) {\r
             case 'off':\r
@@ -703,6 +778,7 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
     let requestHandlers = Object.create(null);\r
     let starNotificationHandler = undefined;\r
     let notificationHandlers = Object.create(null);\r
+    let progressHandlers = new Map();\r
     let timer;\r
     let messageQueue = new linkedMap_1.LinkedMap();\r
     let responsePromises = Object.create(null);\r
@@ -714,6 +790,7 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
     let errorEmitter = new events_1.Emitter();\r
     let closeEmitter = new events_1.Emitter();\r
     let unhandledNotificationEmitter = new events_1.Emitter();\r
+    let unhandledProgressEmitter = new events_1.Emitter();\r
     let disposeEmitter = new events_1.Emitter();\r
     function createRequestQueueKey(id) {\r
         return 'req-' + id.toString();\r
@@ -759,7 +836,6 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
         }\r
         // If the connection is disposed don't sent close events.\r
     }\r
-    ;\r
     function readErrorHandler(error) {\r
         errorEmitter.fire([error, undefined, undefined]);\r
     }\r
@@ -1283,6 +1359,21 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
                 }\r
             }\r
         },\r
+        onProgress: (_type, token, handler) => {\r
+            if (progressHandlers.has(token)) {\r
+                throw new Error(`Progress handler for token ${token} already registered`);\r
+            }\r
+            progressHandlers.set(token, handler);\r
+            return {\r
+                dispose: () => {\r
+                    progressHandlers.delete(token);\r
+                }\r
+            };\r
+        },\r
+        sendProgress: (_type, token, value) => {\r
+            connection.sendNotification(ProgressNotification.type, { token, value });\r
+        },\r
+        onUnhandledProgress: unhandledProgressEmitter.event,\r
         sendRequest: (type, ...params) => {\r
             throwIfClosedOrDisposed();\r
             throwIfNotListening();\r
@@ -1427,7 +1518,8 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
             messageReader.listen(callback);\r
         },\r
         inspect: () => {\r
-            console.log("inspect");\r
+            // eslint-disable-next-line no-console\r
+            console.log('inspect');\r
         }\r
     };\r
     connection.onNotification(LogTraceNotification.type, (params) => {\r
@@ -1436,6 +1528,15 @@ function _createMessageConnection(messageReader, messageWriter, logger, strategy
         }\r
         tracer.log(params.message, trace === Trace.Verbose ? params.verbose : undefined);\r
     });\r
+    connection.onNotification(ProgressNotification.type, (params) => {\r
+        const handler = progressHandlers.get(params.token);\r
+        if (handler) {\r
+            handler(params.value);\r
+        }\r
+        else {\r
+            unhandledProgressEmitter.fire(params);\r
+        }\r
+    });\r
     return connection;\r
 }\r
 function isMessageReader(value) {\r
@@ -1456,7 +1557,7 @@ exports.createMessageConnection = createMessageConnection;
 
 
 /***/ }),
-/* 5 */
+/* 6 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1497,7 +1598,7 @@ exports.stringArray = stringArray;
 
 
 /***/ }),
-/* 6 */
+/* 7 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1507,7 +1608,7 @@ exports.stringArray = stringArray;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const is = __webpack_require__(5);\r
+const is = __webpack_require__(6);\r
 /**\r
  * Predefined error codes.\r
  */\r
@@ -1568,84 +1669,82 @@ class AbstractMessageType {
 exports.AbstractMessageType = AbstractMessageType;\r
 /**\r
  * Classes to type request response pairs\r
+ *\r
+ * The type parameter RO will be removed in the next major version\r
+ * of the JSON RPC library since it is a LSP concept and doesn't\r
+ * belong here. For now it is tagged as default never.\r
  */\r
 class RequestType0 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 0);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType0 = RequestType0;\r
 class RequestType extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 1);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType = RequestType;\r
 class RequestType1 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 1);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType1 = RequestType1;\r
 class RequestType2 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 2);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType2 = RequestType2;\r
 class RequestType3 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 3);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType3 = RequestType3;\r
 class RequestType4 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 4);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType4 = RequestType4;\r
 class RequestType5 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 5);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType5 = RequestType5;\r
 class RequestType6 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 6);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType6 = RequestType6;\r
 class RequestType7 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 7);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType7 = RequestType7;\r
 class RequestType8 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 8);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType8 = RequestType8;\r
 class RequestType9 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 9);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.RequestType9 = RequestType9;\r
+/**\r
+ * The type parameter RO will be removed in the next major version\r
+ * of the JSON RPC library since it is a LSP concept and doesn't\r
+ * belong here. For now it is tagged as default never.\r
+ */\r
 class NotificationType extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 1);\r
@@ -1656,70 +1755,60 @@ exports.NotificationType = NotificationType;
 class NotificationType0 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 0);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType0 = NotificationType0;\r
 class NotificationType1 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 1);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType1 = NotificationType1;\r
 class NotificationType2 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 2);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType2 = NotificationType2;\r
 class NotificationType3 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 3);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType3 = NotificationType3;\r
 class NotificationType4 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 4);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType4 = NotificationType4;\r
 class NotificationType5 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 5);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType5 = NotificationType5;\r
 class NotificationType6 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 6);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType6 = NotificationType6;\r
 class NotificationType7 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 7);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType7 = NotificationType7;\r
 class NotificationType8 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 8);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType8 = NotificationType8;\r
 class NotificationType9 extends AbstractMessageType {\r
     constructor(method) {\r
         super(method, 9);\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.NotificationType9 = NotificationType9;\r
@@ -1750,7 +1839,7 @@ exports.isResponseMessage = isResponseMessage;
 
 
 /***/ }),
-/* 7 */
+/* 8 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1760,8 +1849,8 @@ exports.isResponseMessage = isResponseMessage;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(8);\r
-const Is = __webpack_require__(5);\r
+const events_1 = __webpack_require__(9);\r
+const Is = __webpack_require__(6);\r
 let DefaultSize = 8192;\r
 let CR = Buffer.from('\r', 'ascii')[0];\r
 let LF = Buffer.from('\n', 'ascii')[0];\r
@@ -1982,7 +2071,7 @@ exports.SocketMessageReader = SocketMessageReader;
 
 
 /***/ }),
-/* 8 */
+/* 9 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2050,6 +2139,7 @@ class CallbackList {
                 ret.push(callbacks[i].apply(contexts[i], args));\r
             }\r
             catch (e) {\r
+                // eslint-disable-next-line no-console\r
                 console.error(e);\r
             }\r
         }\r
@@ -2115,12 +2205,12 @@ class Emitter {
         }\r
     }\r
 }\r
-Emitter._noop = function () { };\r
 exports.Emitter = Emitter;\r
+Emitter._noop = function () { };\r
 
 
 /***/ }),
-/* 9 */
+/* 10 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2130,8 +2220,8 @@ exports.Emitter = Emitter;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(8);\r
-const Is = __webpack_require__(5);\r
+const events_1 = __webpack_require__(9);\r
+const Is = __webpack_require__(6);\r
 let ContentLength = 'Content-Length: ';\r
 let CRLF = '\r\n';\r
 var MessageWriter;\r
@@ -2321,7 +2411,7 @@ exports.SocketMessageWriter = SocketMessageWriter;
 
 
 /***/ }),
-/* 10 */
+/* 11 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2331,8 +2421,8 @@ exports.SocketMessageWriter = SocketMessageWriter;
  *--------------------------------------------------------------------------------------------*/\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(8);\r
-const Is = __webpack_require__(5);\r
+const events_1 = __webpack_require__(9);\r
+const Is = __webpack_require__(6);\r
 var CancellationToken;\r
 (function (CancellationToken) {\r
     CancellationToken.None = Object.freeze({\r
@@ -2422,7 +2512,7 @@ exports.CancellationTokenSource = CancellationTokenSource;
 
 
 /***/ }),
-/* 11 */
+/* 12 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2708,7 +2798,7 @@ exports.LinkedMap = LinkedMap;
 
 
 /***/ }),
-/* 12 */
+/* 13 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2719,11 +2809,11 @@ exports.LinkedMap = LinkedMap;
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
 const path_1 = __webpack_require__(1);\r
-const os_1 = __webpack_require__(13);\r
-const crypto_1 = __webpack_require__(14);\r
-const net_1 = __webpack_require__(15);\r
-const messageReader_1 = __webpack_require__(7);\r
-const messageWriter_1 = __webpack_require__(9);\r
+const os_1 = __webpack_require__(14);\r
+const crypto_1 = __webpack_require__(15);\r
+const net_1 = __webpack_require__(16);\r
+const messageReader_1 = __webpack_require__(8);\r
+const messageWriter_1 = __webpack_require__(10);\r
 function generateRandomPipeName() {\r
     const randomSuffix = crypto_1.randomBytes(21).toString('hex');\r
     if (process.platform === 'win32') {\r
@@ -2769,25 +2859,25 @@ exports.createServerPipeTransport = createServerPipeTransport;
 
 
 /***/ }),
-/* 13 */
+/* 14 */
 /***/ (function(module, exports) {
 
 module.exports = require("os");
 
 /***/ }),
-/* 14 */
+/* 15 */
 /***/ (function(module, exports) {
 
 module.exports = require("crypto");
 
 /***/ }),
-/* 15 */
+/* 16 */
 /***/ (function(module, exports) {
 
 module.exports = require("net");
 
 /***/ }),
-/* 16 */
+/* 17 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -2797,9 +2887,9 @@ module.exports = require("net");
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const net_1 = __webpack_require__(15);\r
-const messageReader_1 = __webpack_require__(7);\r
-const messageWriter_1 = __webpack_require__(9);\r
+const net_1 = __webpack_require__(16);\r
+const messageReader_1 = __webpack_require__(8);\r
+const messageWriter_1 = __webpack_require__(10);\r
 function createClientSocketTransport(port, encoding = 'utf-8') {\r
     let connectResolve;\r
     let connected = new Promise((resolve, _reject) => {\r
@@ -2834,7 +2924,7 @@ exports.createServerSocketTransport = createServerSocketTransport;
 
 
 /***/ }),
-/* 17 */
+/* 18 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -2867,6 +2957,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkupContent", function() { return MarkupContent; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItemKind", function() { return CompletionItemKind; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InsertTextFormat", function() { return InsertTextFormat; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItemTag", function() { return CompletionItemTag; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItem", function() { return CompletionItem; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionList", function() { return CompletionList; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkedString", function() { return MarkedString; });
@@ -2876,6 +2967,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentHighlightKind", function() { return DocumentHighlightKind; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentHighlight", function() { return DocumentHighlight; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolKind", function() { return SymbolKind; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolTag", function() { return SymbolTag; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolInformation", function() { return SymbolInformation; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentSymbol", function() { return DocumentSymbol; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeActionKind", function() { return CodeActionKind; });
@@ -2884,9 +2976,9 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeLens", function() { return CodeLens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormattingOptions", function() { return FormattingOptions; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentLink", function() { return DocumentLink; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SelectionRange", function() { return SelectionRange; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EOL", function() { return EOL; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocument", function() { return TextDocument; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocumentSaveReason", function() { return TextDocumentSaveReason; });
 /* --------------------------------------------------------------------------------------------\r
  * Copyright (c) Microsoft Corporation. All rights reserved.\r
  * Licensed under the MIT License. See License.txt in the project root for license information.\r
@@ -3181,6 +3273,11 @@ var DiagnosticSeverity;
      */\r
     DiagnosticSeverity.Hint = 4;\r
 })(DiagnosticSeverity || (DiagnosticSeverity = {}));\r
+/**\r
+ * The diagnostic tags.\r
+ *\r
+ * @since 3.15.0\r
+ */\r
 var DiagnosticTag;\r
 (function (DiagnosticTag) {\r
     /**\r
@@ -3190,6 +3287,12 @@ var DiagnosticTag;
      * an error squiggle.\r
      */\r
     DiagnosticTag.Unnecessary = 1;\r
+    /**\r
+     * Deprecated or obsolete code.\r
+     *\r
+     * Clients are allowed to rendered diagnostics with this tag strike through.\r
+     */\r
+    DiagnosticTag.Deprecated = 2;\r
 })(DiagnosticTag || (DiagnosticTag = {}));\r
 /**\r
  * The Diagnostic namespace provides helper functions to work with\r
@@ -3692,6 +3795,19 @@ var InsertTextFormat;
      */\r
     InsertTextFormat.Snippet = 2;\r
 })(InsertTextFormat || (InsertTextFormat = {}));\r
+/**\r
+ * Completion item tags are extra annotations that tweak the rendering of a completion\r
+ * item.\r
+ *\r
+ * @since 3.15.0\r
+ */\r
+var CompletionItemTag;\r
+(function (CompletionItemTag) {\r
+    /**\r
+     * Render a completion as obsolete, usually using a strike-out.\r
+     */\r
+    CompletionItemTag.Deprecated = 1;\r
+})(CompletionItemTag || (CompletionItemTag = {}));\r
 /**\r
  * The CompletionItem namespace provides functions to deal with\r
  * completion items.\r
@@ -3732,7 +3848,7 @@ var MarkedString;
      * @param plainText The plain text.\r
      */\r
     function fromPlainText(plainText) {\r
-        return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&"); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\r
+        return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\r
     }\r
     MarkedString.fromPlainText = fromPlainText;\r
     /**\r
@@ -3773,7 +3889,6 @@ var ParameterInformation;
         return documentation ? { label: label, documentation: documentation } : { label: label };\r
     }\r
     ParameterInformation.create = create;\r
-    ;\r
 })(ParameterInformation || (ParameterInformation = {}));\r
 /**\r
  * The SignatureInformation namespace provides helper functions to work with\r
@@ -3869,6 +3984,17 @@ var SymbolKind;
     SymbolKind.Operator = 25;\r
     SymbolKind.TypeParameter = 26;\r
 })(SymbolKind || (SymbolKind = {}));\r
+/**\r
+ * Symbol tags are extra annotations that tweak the rendering of a symbol.\r
+ * @since 3.15\r
+ */\r
+var SymbolTag;\r
+(function (SymbolTag) {\r
+    /**\r
+     * Render a symbol as obsolete, usually using a strike-out.\r
+     */\r
+    SymbolTag.Deprecated = 1;\r
+})(SymbolTag || (SymbolTag = {}));\r
 var SymbolInformation;\r
 (function (SymbolInformation) {\r
     /**\r
@@ -3893,18 +4019,7 @@ var SymbolInformation;
     }\r
     SymbolInformation.create = create;\r
 })(SymbolInformation || (SymbolInformation = {}));\r
-/**\r
- * Represents programming constructs like variables, classes, interfaces etc.\r
- * that appear in a document. Document symbols can be hierarchical and they\r
- * have two ranges: one that encloses its definition and one that points to\r
- * its most interesting range, e.g. the range of an identifier.\r
- */\r
-var DocumentSymbol = /** @class */ (function () {\r
-    function DocumentSymbol() {\r
-    }\r
-    return DocumentSymbol;\r
-}());\r
-\r
+var DocumentSymbol;\r
 (function (DocumentSymbol) {\r
     /**\r
      * Creates a new symbol information literal.\r
@@ -3949,6 +4064,10 @@ var DocumentSymbol = /** @class */ (function () {
  */\r
 var CodeActionKind;\r
 (function (CodeActionKind) {\r
+    /**\r
+     * Empty kind.\r
+     */\r
+    CodeActionKind.Empty = '';\r
     /**\r
      * Base kind for quickfix actions: 'quickfix'\r
      */\r
@@ -4003,6 +4122,15 @@ var CodeActionKind;
      * Base kind for an organize imports source action: `source.organizeImports`\r
      */\r
     CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\r
+    /**\r
+     * Base kind for auto-fix source actions: `source.fixAll`.\r
+     *\r
+     * Fix all actions automatically fix errors that have a clear fix that do not require user input.\r
+     * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\r
+     *\r
+     * @since 3.15.0\r
+     */\r
+    CodeActionKind.SourceFixAll = 'source.fixAll';\r
 })(CodeActionKind || (CodeActionKind = {}));\r
 /**\r
  * The CodeActionContext namespace provides helper functions to work with\r
@@ -4040,7 +4168,7 @@ var CodeAction;
         else {\r
             result.edit = commandOrEdit;\r
         }\r
-        if (kind !== void null) {\r
+        if (kind !== void 0) {\r
             result.kind = kind;\r
         }\r
         return result;\r
@@ -4053,6 +4181,7 @@ var CodeAction;
             (candidate.kind === void 0 || Is.string(candidate.kind)) &&\r
             (candidate.edit !== void 0 || candidate.command !== void 0) &&\r
             (candidate.command === void 0 || Command.is(candidate.command)) &&\r
+            (candidate.isPreferred === void 0 || Is.boolean(candidate.isPreferred)) &&\r
             (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));\r
     }\r
     CodeAction.is = is;\r
@@ -4068,8 +4197,9 @@ var CodeLens;
      */\r
     function create(range, data) {\r
         var result = { range: range };\r
-        if (Is.defined(data))\r
+        if (Is.defined(data)) {\r
             result.data = data;\r
+        }\r
         return result;\r
     }\r
     CodeLens.create = create;\r
@@ -4104,20 +4234,11 @@ var FormattingOptions;
     }\r
     FormattingOptions.is = is;\r
 })(FormattingOptions || (FormattingOptions = {}));\r
-/**\r
- * A document link is a range in a text document that links to an internal or external resource, like another\r
- * text document or a web site.\r
- */\r
-var DocumentLink = /** @class */ (function () {\r
-    function DocumentLink() {\r
-    }\r
-    return DocumentLink;\r
-}());\r
-\r
 /**\r
  * The DocumentLink namespace provides helper functions to work with\r
  * [DocumentLink](#DocumentLink) literals.\r
  */\r
+var DocumentLink;\r
 (function (DocumentLink) {\r
     /**\r
      * Creates a new DocumentLink literal.\r
@@ -4135,7 +4256,31 @@ var DocumentLink = /** @class */ (function () {
     }\r
     DocumentLink.is = is;\r
 })(DocumentLink || (DocumentLink = {}));\r
+/**\r
+ * The SelectionRange namespace provides helper function to work with\r
+ * SelectionRange literals.\r
+ */\r
+var SelectionRange;\r
+(function (SelectionRange) {\r
+    /**\r
+     * Creates a new SelectionRange\r
+     * @param range the range.\r
+     * @param parent an optional parent.\r
+     */\r
+    function create(range, parent) {\r
+        return { range: range, parent: parent };\r
+    }\r
+    SelectionRange.create = create;\r
+    function is(value) {\r
+        var candidate = value;\r
+        return candidate !== undefined && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\r
+    }\r
+    SelectionRange.is = is;\r
+})(SelectionRange || (SelectionRange = {}));\r
 var EOL = ['\n', '\r\n', '\r'];\r
+/**\r
+ * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\r
+ */\r
 var TextDocument;\r
 (function (TextDocument) {\r
     /**\r
@@ -4215,32 +4360,13 @@ var TextDocument;
         return data;\r
     }\r
 })(TextDocument || (TextDocument = {}));\r
-/**\r
- * Represents reasons why a text document is saved.\r
- */\r
-var TextDocumentSaveReason;\r
-(function (TextDocumentSaveReason) {\r
-    /**\r
-     * Manually triggered, e.g. by the user pressing save, by starting debugging,\r
-     * or by an API call.\r
-     */\r
-    TextDocumentSaveReason.Manual = 1;\r
-    /**\r
-     * Automatic after a delay.\r
-     */\r
-    TextDocumentSaveReason.AfterDelay = 2;\r
-    /**\r
-     * When the editor lost focus.\r
-     */\r
-    TextDocumentSaveReason.FocusOut = 3;\r
-})(TextDocumentSaveReason || (TextDocumentSaveReason = {}));\r
 var FullTextDocument = /** @class */ (function () {\r
     function FullTextDocument(uri, languageId, version, content) {\r
         this._uri = uri;\r
         this._languageId = languageId;\r
         this._version = version;\r
         this._content = content;\r
-        this._lineOffsets = null;\r
+        this._lineOffsets = undefined;\r
     }\r
     Object.defineProperty(FullTextDocument.prototype, "uri", {\r
         get: function () {\r
@@ -4274,10 +4400,10 @@ var FullTextDocument = /** @class */ (function () {
     FullTextDocument.prototype.update = function (event, version) {\r
         this._content = event.text;\r
         this._version = version;\r
-        this._lineOffsets = null;\r
+        this._lineOffsets = undefined;\r
     };\r
     FullTextDocument.prototype.getLineOffsets = function () {\r
-        if (this._lineOffsets === null) {\r
+        if (this._lineOffsets === undefined) {\r
             var lineOffsets = [];\r
             var text = this._content;\r
             var isLineStart = true;\r
@@ -4383,7 +4509,7 @@ var Is;
 
 
 /***/ }),
-/* 18 */
+/* 19 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4393,41 +4519,71 @@ var Is;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const Is = __webpack_require__(19);\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
-const protocol_implementation_1 = __webpack_require__(20);\r
+const Is = __webpack_require__(20);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
+const protocol_implementation_1 = __webpack_require__(22);\r
 exports.ImplementationRequest = protocol_implementation_1.ImplementationRequest;\r
-const protocol_typeDefinition_1 = __webpack_require__(21);\r
+const protocol_typeDefinition_1 = __webpack_require__(23);\r
 exports.TypeDefinitionRequest = protocol_typeDefinition_1.TypeDefinitionRequest;\r
-const protocol_workspaceFolders_1 = __webpack_require__(22);\r
+const protocol_workspaceFolders_1 = __webpack_require__(24);\r
 exports.WorkspaceFoldersRequest = protocol_workspaceFolders_1.WorkspaceFoldersRequest;\r
 exports.DidChangeWorkspaceFoldersNotification = protocol_workspaceFolders_1.DidChangeWorkspaceFoldersNotification;\r
-const protocol_configuration_1 = __webpack_require__(23);\r
+const protocol_configuration_1 = __webpack_require__(25);\r
 exports.ConfigurationRequest = protocol_configuration_1.ConfigurationRequest;\r
-const protocol_colorProvider_1 = __webpack_require__(24);\r
+const protocol_colorProvider_1 = __webpack_require__(26);\r
 exports.DocumentColorRequest = protocol_colorProvider_1.DocumentColorRequest;\r
 exports.ColorPresentationRequest = protocol_colorProvider_1.ColorPresentationRequest;\r
-const protocol_foldingRange_1 = __webpack_require__(25);\r
+const protocol_foldingRange_1 = __webpack_require__(27);\r
 exports.FoldingRangeRequest = protocol_foldingRange_1.FoldingRangeRequest;\r
-const protocol_declaration_1 = __webpack_require__(26);\r
+const protocol_declaration_1 = __webpack_require__(28);\r
 exports.DeclarationRequest = protocol_declaration_1.DeclarationRequest;\r
+const protocol_selectionRange_1 = __webpack_require__(29);\r
+exports.SelectionRangeRequest = protocol_selectionRange_1.SelectionRangeRequest;\r
+const protocol_progress_1 = __webpack_require__(30);\r
+exports.WorkDoneProgress = protocol_progress_1.WorkDoneProgress;\r
+exports.WorkDoneProgressCreateRequest = protocol_progress_1.WorkDoneProgressCreateRequest;\r
+exports.WorkDoneProgressCancelNotification = protocol_progress_1.WorkDoneProgressCancelNotification;\r
 // @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
 let __noDynamicImport;\r
+/**\r
+ * The DocumentFilter namespace provides helper functions to work with\r
+ * [DocumentFilter](#DocumentFilter) literals.\r
+ */\r
 var DocumentFilter;\r
 (function (DocumentFilter) {\r
     function is(value) {\r
-        let candidate = value;\r
+        const candidate = value;\r
         return Is.string(candidate.language) || Is.string(candidate.scheme) || Is.string(candidate.pattern);\r
     }\r
     DocumentFilter.is = is;\r
 })(DocumentFilter = exports.DocumentFilter || (exports.DocumentFilter = {}));\r
+/**\r
+ * The DocumentSelector namespace provides helper functions to work with\r
+ * [DocumentSelector](#DocumentSelector)s.\r
+ */\r
+var DocumentSelector;\r
+(function (DocumentSelector) {\r
+    function is(value) {\r
+        if (!Array.isArray(value)) {\r
+            return false;\r
+        }\r
+        for (let elem of value) {\r
+            if (!Is.string(elem) && !DocumentFilter.is(elem)) {\r
+                return false;\r
+            }\r
+        }\r
+        return true;\r
+    }\r
+    DocumentSelector.is = is;\r
+})(DocumentSelector = exports.DocumentSelector || (exports.DocumentSelector = {}));\r
 /**\r
  * The `client/registerCapability` request is sent from the server to the client to register a new capability\r
  * handler on the client side.\r
  */\r
 var RegistrationRequest;\r
 (function (RegistrationRequest) {\r
-    RegistrationRequest.type = new vscode_jsonrpc_1.RequestType('client/registerCapability');\r
+    RegistrationRequest.type = new messages_1.ProtocolRequestType('client/registerCapability');\r
 })(RegistrationRequest = exports.RegistrationRequest || (exports.RegistrationRequest = {}));\r
 /**\r
  * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability\r
@@ -4435,7 +4591,7 @@ var RegistrationRequest;
  */\r
 var UnregistrationRequest;\r
 (function (UnregistrationRequest) {\r
-    UnregistrationRequest.type = new vscode_jsonrpc_1.RequestType('client/unregisterCapability');\r
+    UnregistrationRequest.type = new messages_1.ProtocolRequestType('client/unregisterCapability');\r
 })(UnregistrationRequest = exports.UnregistrationRequest || (exports.UnregistrationRequest = {}));\r
 var ResourceOperationKind;\r
 (function (ResourceOperationKind) {\r
@@ -4472,32 +4628,51 @@ var FailureHandlingKind;
     FailureHandlingKind.TextOnlyTransactional = 'textOnlyTransactional';\r
     /**\r
      * The client tries to undo the operations already executed. But there is no\r
-     * guaruntee that this is succeeding.\r
+     * guarantee that this is succeeding.\r
      */\r
     FailureHandlingKind.Undo = 'undo';\r
 })(FailureHandlingKind = exports.FailureHandlingKind || (exports.FailureHandlingKind = {}));\r
 /**\r
- * Defines how the host (editor) should sync\r
- * document changes to the language server.\r
+ * The StaticRegistrationOptions namespace provides helper functions to work with\r
+ * [StaticRegistrationOptions](#StaticRegistrationOptions) literals.\r
  */\r
-var TextDocumentSyncKind;\r
-(function (TextDocumentSyncKind) {\r
-    /**\r
-     * Documents should not be synced at all.\r
-     */\r
-    TextDocumentSyncKind.None = 0;\r
-    /**\r
-     * Documents are synced by always sending the full content\r
-     * of the document.\r
-     */\r
-    TextDocumentSyncKind.Full = 1;\r
-    /**\r
-     * Documents are synced by sending the full content on open.\r
-     * After that only incremental updates to the document are\r
-     * send.\r
-     */\r
-    TextDocumentSyncKind.Incremental = 2;\r
-})(TextDocumentSyncKind = exports.TextDocumentSyncKind || (exports.TextDocumentSyncKind = {}));\r
+var StaticRegistrationOptions;\r
+(function (StaticRegistrationOptions) {\r
+    function hasId(value) {\r
+        const candidate = value;\r
+        return candidate && Is.string(candidate.id) && candidate.id.length > 0;\r
+    }\r
+    StaticRegistrationOptions.hasId = hasId;\r
+})(StaticRegistrationOptions = exports.StaticRegistrationOptions || (exports.StaticRegistrationOptions = {}));\r
+/**\r
+ * The TextDocumentRegistrationOptions namespace provides helper functions to work with\r
+ * [TextDocumentRegistrationOptions](#TextDocumentRegistrationOptions) literals.\r
+ */\r
+var TextDocumentRegistrationOptions;\r
+(function (TextDocumentRegistrationOptions) {\r
+    function is(value) {\r
+        const candidate = value;\r
+        return candidate && (candidate.documentSelector === null || DocumentSelector.is(candidate.documentSelector));\r
+    }\r
+    TextDocumentRegistrationOptions.is = is;\r
+})(TextDocumentRegistrationOptions = exports.TextDocumentRegistrationOptions || (exports.TextDocumentRegistrationOptions = {}));\r
+/**\r
+ * The WorkDoneProgressOptions namespace provides helper functions to work with\r
+ * [WorkDoneProgressOptions](#WorkDoneProgressOptions) literals.\r
+ */\r
+var WorkDoneProgressOptions;\r
+(function (WorkDoneProgressOptions) {\r
+    function is(value) {\r
+        const candidate = value;\r
+        return Is.objectLiteral(candidate) && (candidate.workDoneProgress === undefined || Is.boolean(candidate.workDoneProgress));\r
+    }\r
+    WorkDoneProgressOptions.is = is;\r
+    function hasWorkDoneProgress(value) {\r
+        const candidate = value;\r
+        return candidate && Is.boolean(candidate.workDoneProgress);\r
+    }\r
+    WorkDoneProgressOptions.hasWorkDoneProgress = hasWorkDoneProgress;\r
+})(WorkDoneProgressOptions = exports.WorkDoneProgressOptions || (exports.WorkDoneProgressOptions = {}));\r
 /**\r
  * The initialize request is sent from the client to the server.\r
  * It is sent once as the request after starting up the server.\r
@@ -4507,7 +4682,7 @@ var TextDocumentSyncKind;
  */\r
 var InitializeRequest;\r
 (function (InitializeRequest) {\r
-    InitializeRequest.type = new vscode_jsonrpc_1.RequestType('initialize');\r
+    InitializeRequest.type = new messages_1.ProtocolRequestType('initialize');\r
 })(InitializeRequest = exports.InitializeRequest || (exports.InitializeRequest = {}));\r
 /**\r
  * Known error codes for an `InitializeError`;\r
@@ -4528,7 +4703,7 @@ var InitializeError;
  */\r
 var InitializedNotification;\r
 (function (InitializedNotification) {\r
-    InitializedNotification.type = new vscode_jsonrpc_1.NotificationType('initialized');\r
+    InitializedNotification.type = new messages_1.ProtocolNotificationType('initialized');\r
 })(InitializedNotification = exports.InitializedNotification || (exports.InitializedNotification = {}));\r
 //---- Shutdown Method ----\r
 /**\r
@@ -4539,7 +4714,7 @@ var InitializedNotification;
  */\r
 var ShutdownRequest;\r
 (function (ShutdownRequest) {\r
-    ShutdownRequest.type = new vscode_jsonrpc_1.RequestType0('shutdown');\r
+    ShutdownRequest.type = new messages_1.ProtocolRequestType0('shutdown');\r
 })(ShutdownRequest = exports.ShutdownRequest || (exports.ShutdownRequest = {}));\r
 //---- Exit Notification ----\r
 /**\r
@@ -4548,9 +4723,8 @@ var ShutdownRequest;
  */\r
 var ExitNotification;\r
 (function (ExitNotification) {\r
-    ExitNotification.type = new vscode_jsonrpc_1.NotificationType0('exit');\r
+    ExitNotification.type = new messages_1.ProtocolNotificationType0('exit');\r
 })(ExitNotification = exports.ExitNotification || (exports.ExitNotification = {}));\r
-//---- Configuration notification ----\r
 /**\r
  * The configuration change notification is sent from the client to the server\r
  * when the client's configuration has changed. The notification contains\r
@@ -4558,7 +4732,7 @@ var ExitNotification;
  */\r
 var DidChangeConfigurationNotification;\r
 (function (DidChangeConfigurationNotification) {\r
-    DidChangeConfigurationNotification.type = new vscode_jsonrpc_1.NotificationType('workspace/didChangeConfiguration');\r
+    DidChangeConfigurationNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeConfiguration');\r
 })(DidChangeConfigurationNotification = exports.DidChangeConfigurationNotification || (exports.DidChangeConfigurationNotification = {}));\r
 //---- Message show and log notifications ----\r
 /**\r
@@ -4589,7 +4763,7 @@ var MessageType;
  */\r
 var ShowMessageNotification;\r
 (function (ShowMessageNotification) {\r
-    ShowMessageNotification.type = new vscode_jsonrpc_1.NotificationType('window/showMessage');\r
+    ShowMessageNotification.type = new messages_1.ProtocolNotificationType('window/showMessage');\r
 })(ShowMessageNotification = exports.ShowMessageNotification || (exports.ShowMessageNotification = {}));\r
 /**\r
  * The show message request is sent from the server to the client to show a message\r
@@ -4597,7 +4771,7 @@ var ShowMessageNotification;
  */\r
 var ShowMessageRequest;\r
 (function (ShowMessageRequest) {\r
-    ShowMessageRequest.type = new vscode_jsonrpc_1.RequestType('window/showMessageRequest');\r
+    ShowMessageRequest.type = new messages_1.ProtocolRequestType('window/showMessageRequest');\r
 })(ShowMessageRequest = exports.ShowMessageRequest || (exports.ShowMessageRequest = {}));\r
 /**\r
  * The log message notification is sent from the server to the client to ask\r
@@ -4605,7 +4779,7 @@ var ShowMessageRequest;
  */\r
 var LogMessageNotification;\r
 (function (LogMessageNotification) {\r
-    LogMessageNotification.type = new vscode_jsonrpc_1.NotificationType('window/logMessage');\r
+    LogMessageNotification.type = new messages_1.ProtocolNotificationType('window/logMessage');\r
 })(LogMessageNotification = exports.LogMessageNotification || (exports.LogMessageNotification = {}));\r
 //---- Telemetry notification\r
 /**\r
@@ -4614,8 +4788,30 @@ var LogMessageNotification;
  */\r
 var TelemetryEventNotification;\r
 (function (TelemetryEventNotification) {\r
-    TelemetryEventNotification.type = new vscode_jsonrpc_1.NotificationType('telemetry/event');\r
+    TelemetryEventNotification.type = new messages_1.ProtocolNotificationType('telemetry/event');\r
 })(TelemetryEventNotification = exports.TelemetryEventNotification || (exports.TelemetryEventNotification = {}));\r
+/**\r
+ * Defines how the host (editor) should sync\r
+ * document changes to the language server.\r
+ */\r
+var TextDocumentSyncKind;\r
+(function (TextDocumentSyncKind) {\r
+    /**\r
+     * Documents should not be synced at all.\r
+     */\r
+    TextDocumentSyncKind.None = 0;\r
+    /**\r
+     * Documents are synced by always sending the full content\r
+     * of the document.\r
+     */\r
+    TextDocumentSyncKind.Full = 1;\r
+    /**\r
+     * Documents are synced by sending the full content on open.\r
+     * After that only incremental updates to the document are\r
+     * send.\r
+     */\r
+    TextDocumentSyncKind.Incremental = 2;\r
+})(TextDocumentSyncKind = exports.TextDocumentSyncKind || (exports.TextDocumentSyncKind = {}));\r
 /**\r
  * The document open notification is sent from the client to the server to signal\r
  * newly opened text documents. The document's truth is now managed by the client\r
@@ -4628,7 +4824,8 @@ var TelemetryEventNotification;
  */\r
 var DidOpenTextDocumentNotification;\r
 (function (DidOpenTextDocumentNotification) {\r
-    DidOpenTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/didOpen');\r
+    DidOpenTextDocumentNotification.method = 'textDocument/didOpen';\r
+    DidOpenTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification.method);\r
 })(DidOpenTextDocumentNotification = exports.DidOpenTextDocumentNotification || (exports.DidOpenTextDocumentNotification = {}));\r
 /**\r
  * The document change notification is sent from the client to the server to signal\r
@@ -4636,7 +4833,8 @@ var DidOpenTextDocumentNotification;
  */\r
 var DidChangeTextDocumentNotification;\r
 (function (DidChangeTextDocumentNotification) {\r
-    DidChangeTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/didChange');\r
+    DidChangeTextDocumentNotification.method = 'textDocument/didChange';\r
+    DidChangeTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification.method);\r
 })(DidChangeTextDocumentNotification = exports.DidChangeTextDocumentNotification || (exports.DidChangeTextDocumentNotification = {}));\r
 /**\r
  * The document close notification is sent from the client to the server when\r
@@ -4649,7 +4847,8 @@ var DidChangeTextDocumentNotification;
  */\r
 var DidCloseTextDocumentNotification;\r
 (function (DidCloseTextDocumentNotification) {\r
-    DidCloseTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/didClose');\r
+    DidCloseTextDocumentNotification.method = 'textDocument/didClose';\r
+    DidCloseTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification.method);\r
 })(DidCloseTextDocumentNotification = exports.DidCloseTextDocumentNotification || (exports.DidCloseTextDocumentNotification = {}));\r
 /**\r
  * The document save notification is sent from the client to the server when\r
@@ -4657,15 +4856,36 @@ var DidCloseTextDocumentNotification;
  */\r
 var DidSaveTextDocumentNotification;\r
 (function (DidSaveTextDocumentNotification) {\r
-    DidSaveTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/didSave');\r
+    DidSaveTextDocumentNotification.method = 'textDocument/didSave';\r
+    DidSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification.method);\r
 })(DidSaveTextDocumentNotification = exports.DidSaveTextDocumentNotification || (exports.DidSaveTextDocumentNotification = {}));\r
 /**\r
- * A document will save notification is sent from the client to the server before\r
- * the document is actually saved.\r
+ * Represents reasons why a text document is saved.\r
  */\r
-var WillSaveTextDocumentNotification;\r
-(function (WillSaveTextDocumentNotification) {\r
-    WillSaveTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/willSave');\r
+var TextDocumentSaveReason;\r
+(function (TextDocumentSaveReason) {\r
+    /**\r
+     * Manually triggered, e.g. by the user pressing save, by starting debugging,\r
+     * or by an API call.\r
+     */\r
+    TextDocumentSaveReason.Manual = 1;\r
+    /**\r
+     * Automatic after a delay.\r
+     */\r
+    TextDocumentSaveReason.AfterDelay = 2;\r
+    /**\r
+     * When the editor lost focus.\r
+     */\r
+    TextDocumentSaveReason.FocusOut = 3;\r
+})(TextDocumentSaveReason = exports.TextDocumentSaveReason || (exports.TextDocumentSaveReason = {}));\r
+/**\r
+ * A document will save notification is sent from the client to the server before\r
+ * the document is actually saved.\r
+ */\r
+var WillSaveTextDocumentNotification;\r
+(function (WillSaveTextDocumentNotification) {\r
+    WillSaveTextDocumentNotification.method = 'textDocument/willSave';\r
+    WillSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification.method);\r
 })(WillSaveTextDocumentNotification = exports.WillSaveTextDocumentNotification || (exports.WillSaveTextDocumentNotification = {}));\r
 /**\r
  * A document will save request is sent from the client to the server before\r
@@ -4677,16 +4897,16 @@ var WillSaveTextDocumentNotification;
  */\r
 var WillSaveTextDocumentWaitUntilRequest;\r
 (function (WillSaveTextDocumentWaitUntilRequest) {\r
-    WillSaveTextDocumentWaitUntilRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/willSaveWaitUntil');\r
+    WillSaveTextDocumentWaitUntilRequest.method = 'textDocument/willSaveWaitUntil';\r
+    WillSaveTextDocumentWaitUntilRequest.type = new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest.method);\r
 })(WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentWaitUntilRequest || (exports.WillSaveTextDocumentWaitUntilRequest = {}));\r
-//---- File eventing ----\r
 /**\r
  * The watched files notification is sent from the client to the server when\r
  * the client detects changes to file watched by the language client.\r
  */\r
 var DidChangeWatchedFilesNotification;\r
 (function (DidChangeWatchedFilesNotification) {\r
-    DidChangeWatchedFilesNotification.type = new vscode_jsonrpc_1.NotificationType('workspace/didChangeWatchedFiles');\r
+    DidChangeWatchedFilesNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeWatchedFiles');\r
 })(DidChangeWatchedFilesNotification = exports.DidChangeWatchedFilesNotification || (exports.DidChangeWatchedFilesNotification = {}));\r
 /**\r
  * The file event type\r
@@ -4721,14 +4941,13 @@ var WatchKind;
      */\r
     WatchKind.Delete = 4;\r
 })(WatchKind = exports.WatchKind || (exports.WatchKind = {}));\r
-//---- Diagnostic notification ----\r
 /**\r
  * Diagnostics notification are sent from the server to the client to signal\r
  * results of validation runs.\r
  */\r
 var PublishDiagnosticsNotification;\r
 (function (PublishDiagnosticsNotification) {\r
-    PublishDiagnosticsNotification.type = new vscode_jsonrpc_1.NotificationType('textDocument/publishDiagnostics');\r
+    PublishDiagnosticsNotification.type = new messages_1.ProtocolNotificationType('textDocument/publishDiagnostics');\r
 })(PublishDiagnosticsNotification = exports.PublishDiagnosticsNotification || (exports.PublishDiagnosticsNotification = {}));\r
 /**\r
  * How a completion was triggered\r
@@ -4763,7 +4982,10 @@ var CompletionTriggerKind;
  */\r
 var CompletionRequest;\r
 (function (CompletionRequest) {\r
-    CompletionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/completion');\r
+    CompletionRequest.method = 'textDocument/completion';\r
+    CompletionRequest.type = new messages_1.ProtocolRequestType(CompletionRequest.method);\r
+    /** @deprecated Use CompletionRequest.type */\r
+    CompletionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(CompletionRequest = exports.CompletionRequest || (exports.CompletionRequest = {}));\r
 /**\r
  * Request to resolve additional information for a given completion item.The request's\r
@@ -4772,9 +4994,9 @@ var CompletionRequest;
  */\r
 var CompletionResolveRequest;\r
 (function (CompletionResolveRequest) {\r
-    CompletionResolveRequest.type = new vscode_jsonrpc_1.RequestType('completionItem/resolve');\r
+    CompletionResolveRequest.method = 'completionItem/resolve';\r
+    CompletionResolveRequest.type = new messages_1.ProtocolRequestType(CompletionResolveRequest.method);\r
 })(CompletionResolveRequest = exports.CompletionResolveRequest || (exports.CompletionResolveRequest = {}));\r
-//---- Hover Support -------------------------------\r
 /**\r
  * Request to request hover information at a given text document position. The request's\r
  * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of\r
@@ -4782,13 +5004,34 @@ var CompletionResolveRequest;
  */\r
 var HoverRequest;\r
 (function (HoverRequest) {\r
-    HoverRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/hover');\r
+    HoverRequest.method = 'textDocument/hover';\r
+    HoverRequest.type = new messages_1.ProtocolRequestType(HoverRequest.method);\r
 })(HoverRequest = exports.HoverRequest || (exports.HoverRequest = {}));\r
+/**\r
+ * How a signature help was triggered.\r
+ *\r
+ * @since 3.15.0\r
+ */\r
+var SignatureHelpTriggerKind;\r
+(function (SignatureHelpTriggerKind) {\r
+    /**\r
+     * Signature help was invoked manually by the user or by a command.\r
+     */\r
+    SignatureHelpTriggerKind.Invoked = 1;\r
+    /**\r
+     * Signature help was triggered by a trigger character.\r
+     */\r
+    SignatureHelpTriggerKind.TriggerCharacter = 2;\r
+    /**\r
+     * Signature help was triggered by the cursor moving or by the document content changing.\r
+     */\r
+    SignatureHelpTriggerKind.ContentChange = 3;\r
+})(SignatureHelpTriggerKind = exports.SignatureHelpTriggerKind || (exports.SignatureHelpTriggerKind = {}));\r
 var SignatureHelpRequest;\r
 (function (SignatureHelpRequest) {\r
-    SignatureHelpRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/signatureHelp');\r
+    SignatureHelpRequest.method = 'textDocument/signatureHelp';\r
+    SignatureHelpRequest.type = new messages_1.ProtocolRequestType(SignatureHelpRequest.method);\r
 })(SignatureHelpRequest = exports.SignatureHelpRequest || (exports.SignatureHelpRequest = {}));\r
-//---- Goto Definition -------------------------------------\r
 /**\r
  * A request to resolve the definition location of a symbol at a given text\r
  * document position. The request's parameter is of type [TextDocumentPosition]\r
@@ -4798,7 +5041,10 @@ var SignatureHelpRequest;
  */\r
 var DefinitionRequest;\r
 (function (DefinitionRequest) {\r
-    DefinitionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/definition');\r
+    DefinitionRequest.method = 'textDocument/definition';\r
+    DefinitionRequest.type = new messages_1.ProtocolRequestType(DefinitionRequest.method);\r
+    /** @deprecated Use DefinitionRequest.type */\r
+    DefinitionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(DefinitionRequest = exports.DefinitionRequest || (exports.DefinitionRequest = {}));\r
 /**\r
  * A request to resolve project-wide references for the symbol denoted\r
@@ -4808,9 +5054,11 @@ var DefinitionRequest;
  */\r
 var ReferencesRequest;\r
 (function (ReferencesRequest) {\r
-    ReferencesRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/references');\r
+    ReferencesRequest.method = 'textDocument/references';\r
+    ReferencesRequest.type = new messages_1.ProtocolRequestType(ReferencesRequest.method);\r
+    /** @deprecated Use ReferencesRequest.type */\r
+    ReferencesRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(ReferencesRequest = exports.ReferencesRequest || (exports.ReferencesRequest = {}));\r
-//---- Document Highlight ----------------------------------\r
 /**\r
  * Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given\r
  * text document position. The request's parameter is of type [TextDocumentPosition]\r
@@ -4819,9 +5067,11 @@ var ReferencesRequest;
  */\r
 var DocumentHighlightRequest;\r
 (function (DocumentHighlightRequest) {\r
-    DocumentHighlightRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/documentHighlight');\r
+    DocumentHighlightRequest.method = 'textDocument/documentHighlight';\r
+    DocumentHighlightRequest.type = new messages_1.ProtocolRequestType(DocumentHighlightRequest.method);\r
+    /** @deprecated Use DocumentHighlightRequest.type */\r
+    DocumentHighlightRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(DocumentHighlightRequest = exports.DocumentHighlightRequest || (exports.DocumentHighlightRequest = {}));\r
-//---- Document Symbol Provider ---------------------------\r
 /**\r
  * A request to list all symbols found in a given text document. The request's\r
  * parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the\r
@@ -4830,9 +5080,21 @@ var DocumentHighlightRequest;
  */\r
 var DocumentSymbolRequest;\r
 (function (DocumentSymbolRequest) {\r
-    DocumentSymbolRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/documentSymbol');\r
+    DocumentSymbolRequest.method = 'textDocument/documentSymbol';\r
+    DocumentSymbolRequest.type = new messages_1.ProtocolRequestType(DocumentSymbolRequest.method);\r
+    /** @deprecated Use DocumentSymbolRequest.type */\r
+    DocumentSymbolRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(DocumentSymbolRequest = exports.DocumentSymbolRequest || (exports.DocumentSymbolRequest = {}));\r
-//---- Workspace Symbol Provider ---------------------------\r
+/**\r
+ * A request to provide commands for the given text document and range.\r
+ */\r
+var CodeActionRequest;\r
+(function (CodeActionRequest) {\r
+    CodeActionRequest.method = 'textDocument/codeAction';\r
+    CodeActionRequest.type = new messages_1.ProtocolRequestType(CodeActionRequest.method);\r
+    /** @deprecated Use CodeActionRequest.type */\r
+    CodeActionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
+})(CodeActionRequest = exports.CodeActionRequest || (exports.CodeActionRequest = {}));\r
 /**\r
  * A request to list project-wide symbols matching the query string given\r
  * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is\r
@@ -4841,99 +5103,105 @@ var DocumentSymbolRequest;
  */\r
 var WorkspaceSymbolRequest;\r
 (function (WorkspaceSymbolRequest) {\r
-    WorkspaceSymbolRequest.type = new vscode_jsonrpc_1.RequestType('workspace/symbol');\r
+    WorkspaceSymbolRequest.method = 'workspace/symbol';\r
+    WorkspaceSymbolRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolRequest.method);\r
+    /** @deprecated Use WorkspaceSymbolRequest.type */\r
+    WorkspaceSymbolRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(WorkspaceSymbolRequest = exports.WorkspaceSymbolRequest || (exports.WorkspaceSymbolRequest = {}));\r
-/**\r
- * A request to provide commands for the given text document and range.\r
- */\r
-var CodeActionRequest;\r
-(function (CodeActionRequest) {\r
-    CodeActionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/codeAction');\r
-})(CodeActionRequest = exports.CodeActionRequest || (exports.CodeActionRequest = {}));\r
 /**\r
  * A request to provide code lens for the given text document.\r
  */\r
 var CodeLensRequest;\r
 (function (CodeLensRequest) {\r
-    CodeLensRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/codeLens');\r
+    CodeLensRequest.type = new messages_1.ProtocolRequestType('textDocument/codeLens');\r
+    /** @deprecated Use CodeLensRequest.type */\r
+    CodeLensRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(CodeLensRequest = exports.CodeLensRequest || (exports.CodeLensRequest = {}));\r
 /**\r
  * A request to resolve a command for a given code lens.\r
  */\r
 var CodeLensResolveRequest;\r
 (function (CodeLensResolveRequest) {\r
-    CodeLensResolveRequest.type = new vscode_jsonrpc_1.RequestType('codeLens/resolve');\r
+    CodeLensResolveRequest.type = new messages_1.ProtocolRequestType('codeLens/resolve');\r
 })(CodeLensResolveRequest = exports.CodeLensResolveRequest || (exports.CodeLensResolveRequest = {}));\r
+/**\r
+ * A request to provide document links\r
+ */\r
+var DocumentLinkRequest;\r
+(function (DocumentLinkRequest) {\r
+    DocumentLinkRequest.method = 'textDocument/documentLink';\r
+    DocumentLinkRequest.type = new messages_1.ProtocolRequestType(DocumentLinkRequest.method);\r
+    /** @deprecated Use DocumentLinkRequest.type */\r
+    DocumentLinkRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
+})(DocumentLinkRequest = exports.DocumentLinkRequest || (exports.DocumentLinkRequest = {}));\r
+/**\r
+ * Request to resolve additional information for a given document link. The request's\r
+ * parameter is of type [DocumentLink](#DocumentLink) the response\r
+ * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.\r
+ */\r
+var DocumentLinkResolveRequest;\r
+(function (DocumentLinkResolveRequest) {\r
+    DocumentLinkResolveRequest.type = new messages_1.ProtocolRequestType('documentLink/resolve');\r
+})(DocumentLinkResolveRequest = exports.DocumentLinkResolveRequest || (exports.DocumentLinkResolveRequest = {}));\r
 /**\r
  * A request to to format a whole document.\r
  */\r
 var DocumentFormattingRequest;\r
 (function (DocumentFormattingRequest) {\r
-    DocumentFormattingRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/formatting');\r
+    DocumentFormattingRequest.method = 'textDocument/formatting';\r
+    DocumentFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentFormattingRequest.method);\r
 })(DocumentFormattingRequest = exports.DocumentFormattingRequest || (exports.DocumentFormattingRequest = {}));\r
 /**\r
  * A request to to format a range in a document.\r
  */\r
 var DocumentRangeFormattingRequest;\r
 (function (DocumentRangeFormattingRequest) {\r
-    DocumentRangeFormattingRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/rangeFormatting');\r
+    DocumentRangeFormattingRequest.method = 'textDocument/rangeFormatting';\r
+    DocumentRangeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest.method);\r
 })(DocumentRangeFormattingRequest = exports.DocumentRangeFormattingRequest || (exports.DocumentRangeFormattingRequest = {}));\r
 /**\r
  * A request to format a document on type.\r
  */\r
 var DocumentOnTypeFormattingRequest;\r
 (function (DocumentOnTypeFormattingRequest) {\r
-    DocumentOnTypeFormattingRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/onTypeFormatting');\r
+    DocumentOnTypeFormattingRequest.method = 'textDocument/onTypeFormatting';\r
+    DocumentOnTypeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest.method);\r
 })(DocumentOnTypeFormattingRequest = exports.DocumentOnTypeFormattingRequest || (exports.DocumentOnTypeFormattingRequest = {}));\r
 /**\r
  * A request to rename a symbol.\r
  */\r
 var RenameRequest;\r
 (function (RenameRequest) {\r
-    RenameRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/rename');\r
+    RenameRequest.method = 'textDocument/rename';\r
+    RenameRequest.type = new messages_1.ProtocolRequestType(RenameRequest.method);\r
 })(RenameRequest = exports.RenameRequest || (exports.RenameRequest = {}));\r
 /**\r
  * A request to test and perform the setup necessary for a rename.\r
  */\r
 var PrepareRenameRequest;\r
 (function (PrepareRenameRequest) {\r
-    PrepareRenameRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/prepareRename');\r
+    PrepareRenameRequest.method = 'textDocument/prepareRename';\r
+    PrepareRenameRequest.type = new messages_1.ProtocolRequestType(PrepareRenameRequest.method);\r
 })(PrepareRenameRequest = exports.PrepareRenameRequest || (exports.PrepareRenameRequest = {}));\r
-/**\r
- * A request to provide document links\r
- */\r
-var DocumentLinkRequest;\r
-(function (DocumentLinkRequest) {\r
-    DocumentLinkRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/documentLink');\r
-})(DocumentLinkRequest = exports.DocumentLinkRequest || (exports.DocumentLinkRequest = {}));\r
-/**\r
- * Request to resolve additional information for a given document link. The request's\r
- * parameter is of type [DocumentLink](#DocumentLink) the response\r
- * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.\r
- */\r
-var DocumentLinkResolveRequest;\r
-(function (DocumentLinkResolveRequest) {\r
-    DocumentLinkResolveRequest.type = new vscode_jsonrpc_1.RequestType('documentLink/resolve');\r
-})(DocumentLinkResolveRequest = exports.DocumentLinkResolveRequest || (exports.DocumentLinkResolveRequest = {}));\r
 /**\r
  * A request send from the client to the server to execute a command. The request might return\r
  * a workspace edit which the client will apply to the workspace.\r
  */\r
 var ExecuteCommandRequest;\r
 (function (ExecuteCommandRequest) {\r
-    ExecuteCommandRequest.type = new vscode_jsonrpc_1.RequestType('workspace/executeCommand');\r
+    ExecuteCommandRequest.type = new messages_1.ProtocolRequestType('workspace/executeCommand');\r
 })(ExecuteCommandRequest = exports.ExecuteCommandRequest || (exports.ExecuteCommandRequest = {}));\r
 /**\r
  * A request sent from the server to the client to modified certain resources.\r
  */\r
 var ApplyWorkspaceEditRequest;\r
 (function (ApplyWorkspaceEditRequest) {\r
-    ApplyWorkspaceEditRequest.type = new vscode_jsonrpc_1.RequestType('workspace/applyEdit');\r
+    ApplyWorkspaceEditRequest.type = new messages_1.ProtocolRequestType('workspace/applyEdit');\r
 })(ApplyWorkspaceEditRequest = exports.ApplyWorkspaceEditRequest || (exports.ApplyWorkspaceEditRequest = {}));\r
 
 
 /***/ }),
-/* 19 */
+/* 20 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4975,14 +5243,17 @@ function typedArray(value, check) {
     return Array.isArray(value) && value.every(check);\r
 }\r
 exports.typedArray = typedArray;\r
-function thenable(value) {\r
-    return value && func(value.then);\r
+function objectLiteral(value) {\r
+    // Strictly speaking class instances pass this check as well. Since the LSP\r
+    // doesn't use classes we ignore this for now. If we do we need to add something\r
+    // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\r
+    return value !== null && typeof value === 'object';\r
 }\r
-exports.thenable = thenable;\r
+exports.objectLiteral = objectLiteral;\r
 
 
 /***/ }),
-/* 20 */
+/* 21 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4992,7 +5263,46 @@ exports.thenable = thenable;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+class ProtocolRequestType0 extends vscode_jsonrpc_1.RequestType0 {\r
+    constructor(method) {\r
+        super(method);\r
+    }\r
+}\r
+exports.ProtocolRequestType0 = ProtocolRequestType0;\r
+class ProtocolRequestType extends vscode_jsonrpc_1.RequestType {\r
+    constructor(method) {\r
+        super(method);\r
+    }\r
+}\r
+exports.ProtocolRequestType = ProtocolRequestType;\r
+class ProtocolNotificationType extends vscode_jsonrpc_1.NotificationType {\r
+    constructor(method) {\r
+        super(method);\r
+    }\r
+}\r
+exports.ProtocolNotificationType = ProtocolNotificationType;\r
+class ProtocolNotificationType0 extends vscode_jsonrpc_1.NotificationType0 {\r
+    constructor(method) {\r
+        super(method);\r
+    }\r
+}\r
+exports.ProtocolNotificationType0 = ProtocolNotificationType0;\r
+
+
+/***/ }),
+/* 22 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* --------------------------------------------------------------------------------------------\r
+ * Copyright (c) Microsoft Corporation. All rights reserved.\r
+ * Licensed under the MIT License. See License.txt in the project root for license information.\r
+ * ------------------------------------------------------------------------------------------ */\r
+\r
+Object.defineProperty(exports, "__esModule", { value: true });\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 // @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
 let __noDynamicImport;\r
 /**\r
@@ -5003,12 +5313,15 @@ let __noDynamicImport;
  */\r
 var ImplementationRequest;\r
 (function (ImplementationRequest) {\r
-    ImplementationRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/implementation');\r
+    ImplementationRequest.method = 'textDocument/implementation';\r
+    ImplementationRequest.type = new messages_1.ProtocolRequestType(ImplementationRequest.method);\r
+    /** @deprecated Use ImplementationRequest.type */\r
+    ImplementationRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(ImplementationRequest = exports.ImplementationRequest || (exports.ImplementationRequest = {}));\r
 
 
 /***/ }),
-/* 21 */
+/* 23 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5018,7 +5331,8 @@ var ImplementationRequest;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 // @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
 let __noDynamicImport;\r
 /**\r
@@ -5029,12 +5343,15 @@ let __noDynamicImport;
  */\r
 var TypeDefinitionRequest;\r
 (function (TypeDefinitionRequest) {\r
-    TypeDefinitionRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/typeDefinition');\r
+    TypeDefinitionRequest.method = 'textDocument/typeDefinition';\r
+    TypeDefinitionRequest.type = new messages_1.ProtocolRequestType(TypeDefinitionRequest.method);\r
+    /** @deprecated Use TypeDefinitionRequest.type */\r
+    TypeDefinitionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(TypeDefinitionRequest = exports.TypeDefinitionRequest || (exports.TypeDefinitionRequest = {}));\r
 
 
 /***/ }),
-/* 22 */
+/* 24 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5044,13 +5361,13 @@ var TypeDefinitionRequest;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
  * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.\r
  */\r
 var WorkspaceFoldersRequest;\r
 (function (WorkspaceFoldersRequest) {\r
-    WorkspaceFoldersRequest.type = new vscode_jsonrpc_1.RequestType0('workspace/workspaceFolders');\r
+    WorkspaceFoldersRequest.type = new messages_1.ProtocolRequestType0('workspace/workspaceFolders');\r
 })(WorkspaceFoldersRequest = exports.WorkspaceFoldersRequest || (exports.WorkspaceFoldersRequest = {}));\r
 /**\r
  * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace\r
@@ -5058,12 +5375,12 @@ var WorkspaceFoldersRequest;
  */\r
 var DidChangeWorkspaceFoldersNotification;\r
 (function (DidChangeWorkspaceFoldersNotification) {\r
-    DidChangeWorkspaceFoldersNotification.type = new vscode_jsonrpc_1.NotificationType('workspace/didChangeWorkspaceFolders');\r
+    DidChangeWorkspaceFoldersNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeWorkspaceFolders');\r
 })(DidChangeWorkspaceFoldersNotification = exports.DidChangeWorkspaceFoldersNotification || (exports.DidChangeWorkspaceFoldersNotification = {}));\r
 
 
 /***/ }),
-/* 23 */
+/* 25 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5073,7 +5390,7 @@ var DidChangeWorkspaceFoldersNotification;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
  * The 'workspace/configuration' request is sent from the server to the client to fetch a certain\r
  * configuration setting.\r
@@ -5085,12 +5402,12 @@ const vscode_jsonrpc_1 = __webpack_require__(4);
  */\r
 var ConfigurationRequest;\r
 (function (ConfigurationRequest) {\r
-    ConfigurationRequest.type = new vscode_jsonrpc_1.RequestType('workspace/configuration');\r
+    ConfigurationRequest.type = new messages_1.ProtocolRequestType('workspace/configuration');\r
 })(ConfigurationRequest = exports.ConfigurationRequest || (exports.ConfigurationRequest = {}));\r
 
 
 /***/ }),
-/* 24 */
+/* 26 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5100,7 +5417,8 @@ var ConfigurationRequest;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
  * A request to list all color symbols found in a given text document. The request's\r
  * parameter is of type [DocumentColorParams](#DocumentColorParams) the\r
@@ -5109,7 +5427,10 @@ const vscode_jsonrpc_1 = __webpack_require__(4);
  */\r
 var DocumentColorRequest;\r
 (function (DocumentColorRequest) {\r
-    DocumentColorRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/documentColor');\r
+    DocumentColorRequest.method = 'textDocument/documentColor';\r
+    DocumentColorRequest.type = new messages_1.ProtocolRequestType(DocumentColorRequest.method);\r
+    /** @deprecated Use DocumentColorRequest.type */\r
+    DocumentColorRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(DocumentColorRequest = exports.DocumentColorRequest || (exports.DocumentColorRequest = {}));\r
 /**\r
  * A request to list all presentation for a color. The request's\r
@@ -5119,12 +5440,12 @@ var DocumentColorRequest;
  */\r
 var ColorPresentationRequest;\r
 (function (ColorPresentationRequest) {\r
-    ColorPresentationRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/colorPresentation');\r
+    ColorPresentationRequest.type = new messages_1.ProtocolRequestType('textDocument/colorPresentation');\r
 })(ColorPresentationRequest = exports.ColorPresentationRequest || (exports.ColorPresentationRequest = {}));\r
 
 
 /***/ }),
-/* 25 */
+/* 27 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5134,7 +5455,8 @@ var ColorPresentationRequest;
  *  Licensed under the MIT License. See License.txt in the project root for license information.\r
  *--------------------------------------------------------------------------------------------*/\r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
  * Enum of known range kinds\r
  */\r
@@ -5161,12 +5483,15 @@ var FoldingRangeKind;
  */\r
 var FoldingRangeRequest;\r
 (function (FoldingRangeRequest) {\r
-    FoldingRangeRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/foldingRange');\r
+    FoldingRangeRequest.method = 'textDocument/foldingRange';\r
+    FoldingRangeRequest.type = new messages_1.ProtocolRequestType(FoldingRangeRequest.method);\r
+    /** @deprecated Use FoldingRangeRequest.type */\r
+    FoldingRangeRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(FoldingRangeRequest = exports.FoldingRangeRequest || (exports.FoldingRangeRequest = {}));\r
 
 
 /***/ }),
-/* 26 */
+/* 28 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5176,7 +5501,8 @@ var FoldingRangeRequest;
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 // @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
 let __noDynamicImport;\r
 /**\r
@@ -5188,150 +5514,229 @@ let __noDynamicImport;
  */\r
 var DeclarationRequest;\r
 (function (DeclarationRequest) {\r
-    DeclarationRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/declaration');\r
+    DeclarationRequest.method = 'textDocument/declaration';\r
+    DeclarationRequest.type = new messages_1.ProtocolRequestType(DeclarationRequest.method);\r
+    /** @deprecated Use DeclarationRequest.type */\r
+    DeclarationRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
 })(DeclarationRequest = exports.DeclarationRequest || (exports.DeclarationRequest = {}));\r
 
 
 /***/ }),
-/* 27 */
+/* 29 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+\r
+/*---------------------------------------------------------------------------------------------\r
+ *  Copyright (c) Microsoft Corporation. All rights reserved.\r
+ *  Licensed under the MIT License. See License.txt in the project root for license information.\r
+ *--------------------------------------------------------------------------------------------*/\r
+Object.defineProperty(exports, "__esModule", { value: true });\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
+/**\r
+ * A request to provide selection ranges in a document. The request's\r
+ * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the\r
+ * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable\r
+ * that resolves to such.\r
+ */\r
+var SelectionRangeRequest;\r
+(function (SelectionRangeRequest) {\r
+    SelectionRangeRequest.method = 'textDocument/selectionRange';\r
+    SelectionRangeRequest.type = new messages_1.ProtocolRequestType(SelectionRangeRequest.method);\r
+    /** @deprecated  Use SelectionRangeRequest.type */\r
+    SelectionRangeRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
+})(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));\r
+
+
+/***/ }),
+/* 30 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* --------------------------------------------------------------------------------------------\r
- * Copyright (c) TypeFox and others. All rights reserved.\r
+ * Copyright (c) Microsoft Corporation. All rights reserved.\r
  * Licensed under the MIT License. See License.txt in the project root for license information.\r
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
+const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
+var WorkDoneProgress;\r
+(function (WorkDoneProgress) {\r
+    WorkDoneProgress.type = new vscode_jsonrpc_1.ProgressType();\r
+})(WorkDoneProgress = exports.WorkDoneProgress || (exports.WorkDoneProgress = {}));\r
 /**\r
- * The direction of a call hierarchy request.\r
+ * The `window/workDoneProgress/create` request is sent from the server to the client to initiate progress\r
+ * reporting from the server.\r
  */\r
-var CallHierarchyDirection;\r
-(function (CallHierarchyDirection) {\r
-    /**\r
-     * The callers\r
-     */\r
-    CallHierarchyDirection.CallsFrom = 1;\r
-    /**\r
-     * The callees\r
-     */\r
-    CallHierarchyDirection.CallsTo = 2;\r
-})(CallHierarchyDirection = exports.CallHierarchyDirection || (exports.CallHierarchyDirection = {}));\r
+var WorkDoneProgressCreateRequest;\r
+(function (WorkDoneProgressCreateRequest) {\r
+    WorkDoneProgressCreateRequest.type = new messages_1.ProtocolRequestType('window/workDoneProgress/create');\r
+})(WorkDoneProgressCreateRequest = exports.WorkDoneProgressCreateRequest || (exports.WorkDoneProgressCreateRequest = {}));\r
 /**\r
- * Request to provide the call hierarchy at a given text document position.\r
- *\r
- * The request's parameter is of type [CallHierarchyParams](#CallHierarchyParams). The response\r
- * is of type [CallHierarchyCall[]](#CallHierarchyCall) or a Thenable that resolves to such.\r
- *\r
- * Evaluates the symbol defined (or referenced) at the given position, and returns all incoming or outgoing calls to the symbol(s).\r
+ * The `window/workDoneProgress/cancel` notification is sent from  the client to the server to cancel a progress\r
+ * initiated on the server side.\r
  */\r
-var CallHierarchyRequest;\r
-(function (CallHierarchyRequest) {\r
-    CallHierarchyRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/callHierarchy');\r
-})(CallHierarchyRequest = exports.CallHierarchyRequest || (exports.CallHierarchyRequest = {}));\r
+var WorkDoneProgressCancelNotification;\r
+(function (WorkDoneProgressCancelNotification) {\r
+    WorkDoneProgressCancelNotification.type = new messages_1.ProtocolNotificationType('window/workDoneProgress/cancel');\r
+})(WorkDoneProgressCancelNotification = exports.WorkDoneProgressCancelNotification || (exports.WorkDoneProgressCancelNotification = {}));\r
 
 
 /***/ }),
-/* 28 */
+/* 31 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
+ * Copyright (c) TypeFox and others. All rights reserved.\r
  * Licensed under the MIT License. See License.txt in the project root for license information.\r
  * ------------------------------------------------------------------------------------------ */\r
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
-/**\r
- * The `window/progress/start` notification is sent from the server to the client\r
- * to initiate a progress.\r
- */\r
-var ProgressStartNotification;\r
-(function (ProgressStartNotification) {\r
-    ProgressStartNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/start');\r
-})(ProgressStartNotification = exports.ProgressStartNotification || (exports.ProgressStartNotification = {}));\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
- * The `window/progress/report` notification is sent from the server to the client\r
- * to initiate a progress.\r
+ * A request to result a `CallHierarchyItem` in a document at a given position.\r
+ * Can be used as an input to a incoming or outgoing call hierarchy.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
  */\r
-var ProgressReportNotification;\r
-(function (ProgressReportNotification) {\r
-    ProgressReportNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/report');\r
-})(ProgressReportNotification = exports.ProgressReportNotification || (exports.ProgressReportNotification = {}));\r
+var CallHierarchyPrepareRequest;\r
+(function (CallHierarchyPrepareRequest) {\r
+    CallHierarchyPrepareRequest.method = 'textDocument/prepareCallHierarchy';\r
+    CallHierarchyPrepareRequest.type = new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest.method);\r
+})(CallHierarchyPrepareRequest = exports.CallHierarchyPrepareRequest || (exports.CallHierarchyPrepareRequest = {}));\r
 /**\r
- * The `window/progress/done` notification is sent from the server to the client\r
- * to initiate a progress.\r
+ * A request to resolve the incoming calls for a given `CallHierarchyItem`.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
  */\r
-var ProgressDoneNotification;\r
-(function (ProgressDoneNotification) {\r
-    ProgressDoneNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/done');\r
-})(ProgressDoneNotification = exports.ProgressDoneNotification || (exports.ProgressDoneNotification = {}));\r
+var CallHierarchyIncomingCallsRequest;\r
+(function (CallHierarchyIncomingCallsRequest) {\r
+    CallHierarchyIncomingCallsRequest.method = 'callHierarchy/incomingCalls';\r
+    CallHierarchyIncomingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest.method);\r
+})(CallHierarchyIncomingCallsRequest = exports.CallHierarchyIncomingCallsRequest || (exports.CallHierarchyIncomingCallsRequest = {}));\r
 /**\r
- * The `window/progress/cancel` notification is sent client to the server to cancel a progress\r
- * initiated on the server side.\r
+ * A request to resolve the outgoing calls for a given `CallHierarchyItem`.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
  */\r
-var ProgressCancelNotification;\r
-(function (ProgressCancelNotification) {\r
-    ProgressCancelNotification.type = new vscode_jsonrpc_1.NotificationType('window/progress/cancel');\r
-})(ProgressCancelNotification = exports.ProgressCancelNotification || (exports.ProgressCancelNotification = {}));\r
+var CallHierarchyOutgoingCallsRequest;\r
+(function (CallHierarchyOutgoingCallsRequest) {\r
+    CallHierarchyOutgoingCallsRequest.method = 'callHierarchy/outgoingCalls';\r
+    CallHierarchyOutgoingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest.method);\r
+})(CallHierarchyOutgoingCallsRequest = exports.CallHierarchyOutgoingCallsRequest || (exports.CallHierarchyOutgoingCallsRequest = {}));\r
 
 
 /***/ }),
-/* 29 */
+/* 32 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
+/* --------------------------------------------------------------------------------------------\r
+ * Copyright (c) Microsoft Corporation. All rights reserved.\r
+ * Licensed under the MIT License. See License.txt in the project root for license information.\r
+ * ------------------------------------------------------------------------------------------ */\r
 \r
-/*---------------------------------------------------------------------------------------------\r
- *  Copyright (c) Microsoft Corporation. All rights reserved.\r
- *  Licensed under the MIT License. See License.txt in the project root for license information.\r
- *--------------------------------------------------------------------------------------------*/\r
 Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(4);\r
-const vscode_languageserver_types_1 = __webpack_require__(17);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
- * The SelectionRange namespace provides helper function to work with\r
- * SelectionRange literals.\r
+ * A set of predefined token types. This set is not fixed\r
+ * an clients can specify additional token types via the\r
+ * corresponding client capabilities.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
  */\r
-var SelectionRange;\r
-(function (SelectionRange) {\r
-    /**\r
-     * Creates a new SelectionRange\r
-     * @param range the range.\r
-     * @param parent an optional parent.\r
-     */\r
-    function create(range, parent) {\r
-        return { range, parent };\r
-    }\r
-    SelectionRange.create = create;\r
+var SemanticTokenTypes;\r
+(function (SemanticTokenTypes) {\r
+    SemanticTokenTypes["comment"] = "comment";\r
+    SemanticTokenTypes["keyword"] = "keyword";\r
+    SemanticTokenTypes["string"] = "string";\r
+    SemanticTokenTypes["number"] = "number";\r
+    SemanticTokenTypes["regexp"] = "regexp";\r
+    SemanticTokenTypes["operator"] = "operator";\r
+    SemanticTokenTypes["namespace"] = "namespace";\r
+    SemanticTokenTypes["type"] = "type";\r
+    SemanticTokenTypes["struct"] = "struct";\r
+    SemanticTokenTypes["class"] = "class";\r
+    SemanticTokenTypes["interface"] = "interface";\r
+    SemanticTokenTypes["enum"] = "enum";\r
+    SemanticTokenTypes["typeParameter"] = "typeParameter";\r
+    SemanticTokenTypes["function"] = "function";\r
+    SemanticTokenTypes["member"] = "member";\r
+    SemanticTokenTypes["property"] = "property";\r
+    SemanticTokenTypes["macro"] = "macro";\r
+    SemanticTokenTypes["variable"] = "variable";\r
+    SemanticTokenTypes["parameter"] = "parameter";\r
+    SemanticTokenTypes["label"] = "label";\r
+})(SemanticTokenTypes = exports.SemanticTokenTypes || (exports.SemanticTokenTypes = {}));\r
+/**\r
+ * A set of predefined token modifiers. This set is not fixed\r
+ * an clients can specify additional token types via the\r
+ * corresponding client capabilities.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
+var SemanticTokenModifiers;\r
+(function (SemanticTokenModifiers) {\r
+    SemanticTokenModifiers["documentation"] = "documentation";\r
+    SemanticTokenModifiers["declaration"] = "declaration";\r
+    SemanticTokenModifiers["definition"] = "definition";\r
+    SemanticTokenModifiers["reference"] = "reference";\r
+    SemanticTokenModifiers["static"] = "static";\r
+    SemanticTokenModifiers["abstract"] = "abstract";\r
+    SemanticTokenModifiers["deprecated"] = "deprecated";\r
+    SemanticTokenModifiers["async"] = "async";\r
+    SemanticTokenModifiers["volatile"] = "volatile";\r
+    SemanticTokenModifiers["readonly"] = "readonly";\r
+})(SemanticTokenModifiers = exports.SemanticTokenModifiers || (exports.SemanticTokenModifiers = {}));\r
+/**\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
+var SemanticTokens;\r
+(function (SemanticTokens) {\r
     function is(value) {\r
-        let candidate = value;\r
-        return candidate !== undefined && vscode_languageserver_types_1.Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\r
+        const candidate = value;\r
+        return candidate !== undefined && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\r
+            Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\r
     }\r
-    SelectionRange.is = is;\r
-})(SelectionRange = exports.SelectionRange || (exports.SelectionRange = {}));\r
+    SemanticTokens.is = is;\r
+})(SemanticTokens = exports.SemanticTokens || (exports.SemanticTokens = {}));\r
 /**\r
- * A request to provide selection ranges in a document. The request's\r
- * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the\r
- * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable\r
- * that resolves to such.\r
+ * @since 3.16.0 - Proposed state\r
  */\r
-var SelectionRangeRequest;\r
-(function (SelectionRangeRequest) {\r
-    SelectionRangeRequest.type = new vscode_jsonrpc_1.RequestType('textDocument/selectionRange');\r
-})(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));\r
+var SemanticTokensRequest;\r
+(function (SemanticTokensRequest) {\r
+    SemanticTokensRequest.method = 'textDocument/semanticTokens';\r
+    SemanticTokensRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRequest.method);\r
+})(SemanticTokensRequest = exports.SemanticTokensRequest || (exports.SemanticTokensRequest = {}));\r
+/**\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
+var SemanticTokensEditsRequest;\r
+(function (SemanticTokensEditsRequest) {\r
+    SemanticTokensEditsRequest.method = 'textDocument/semanticTokens/edits';\r
+    SemanticTokensEditsRequest.type = new messages_1.ProtocolRequestType(SemanticTokensEditsRequest.method);\r
+})(SemanticTokensEditsRequest = exports.SemanticTokensEditsRequest || (exports.SemanticTokensEditsRequest = {}));\r
+/**\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
+var SemanticTokensRangeRequest;\r
+(function (SemanticTokensRangeRequest) {\r
+    SemanticTokensRangeRequest.method = 'textDocument/semanticTokens/range';\r
+    SemanticTokensRangeRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRangeRequest.method);\r
+})(SemanticTokensRangeRequest = exports.SemanticTokensRangeRequest || (exports.SemanticTokensRangeRequest = {}));\r
 
 
 /***/ }),
-/* 30 */
+/* 33 */
 /***/ (function(module) {
 
-module.exports = {"$schema":"http://json.schemastore.org/schema-catalog","version":1,"schemas":[{"name":".angular-cli.json","description":"Angular CLI configuration file","fileMatch":[".angular-cli.json","angular-cli.json"],"url":"https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json"},{"name":"Ansible","description":"Ansible task files","url":"http://json.schemastore.org/ansible-stable-2.5","fileMatch":["tasks/*.yml","tasks/*.yaml"],"versions":{"2.0":"http://json.schemastore.org/ansible-stable-2.0","2.1":"http://json.schemastore.org/ansible-stable-2.1","2.2":"http://json.schemastore.org/ansible-stable-2.2","2.3":"http://json.schemastore.org/ansible-stable-2.3","2.4":"http://json.schemastore.org/ansible-stable-2.4","2.5":"http://json.schemastore.org/ansible-stable-2.5","2.6":"http://json.schemastore.org/ansible-stable-2.6","2.7":"http://json.schemastore.org/ansible-stable-2.7"}},{"name":"apple-app-site-association","description":"Apple Universal Link, App Site Association","fileMatch":["apple-app-site-association"],"url":"http://json.schemastore.org/apple-app-site-association"},{"name":"appsscript.json","description":"Google Apps Script manifest file","fileMatch":["appsscript.json"],"url":"http://json.schemastore.org/appsscript"},{"name":"appsettings.json","description":"ASP.NET Core's configuration file","fileMatch":["appsettings.json","appsettings.*.json"],"url":"http://json.schemastore.org/appsettings"},{"name":"appveyor.yml","description":"AppVeyor CI configuration file","fileMatch":["appveyor.yml"],"url":"http://json.schemastore.org/appveyor"},{"name":"Avro Avsc","description":"Avro Schema Avsc file","fileMatch":[".avsc"],"url":"http://json.schemastore.org/avro-avsc"},{"name":"Azure IoT Edge deployment","description":"Azure IoT Edge deployment schema","url":"http://json.schemastore.org/azure-iot-edge-deployment-2.0","versions":{"1.0":"http://json.schemastore.org/azure-iot-edge-deployment-1.0","1.1":"http://json.schemastore.org/azure-iot-edge-deployment-2.0"}},{"name":"Azure IoT Edge deployment template","description":"Azure IoT Edge deployment template schema","fileMatch":["deployment.template.json","deployment.*.template.json"],"url":"http://json.schemastore.org/azure-iot-edge-deployment-template-2.0","versions":{"1.0":"http://json.schemastore.org/azure-iot-edge-deployment-template-1.0","1.1":"http://json.schemastore.org/azure-iot-edge-deployment-template-2.0"}},{"name":"Foxx Manifest","description":"ArangoDB Foxx service manifest file","fileMatch":["manifest.json"],"url":"http://json.schemastore.org/foxx-manifest"},{"name":".asmdef","description":"Unity 3D assembly definition file","fileMatch":["*.asmdef"],"url":"http://json.schemastore.org/asmdef"},{"name":"babelrc.json","description":"Babel configuration file","fileMatch":[".babelrc"],"url":"http://json.schemastore.org/babelrc"},{"name":".backportrc.json","description":"Backport configuration file","fileMatch":[".backportrc.json"],"url":"http://json.schemastore.org/backportrc"},{"name":"batect.yml","description":"batect configuration file","fileMatch":["batect.yml"],"url":"https://batect.charleskorn.com/configSchema.json"},{"name":".bootstraprc","description":"Webpack bootstrap-loader configuration file","fileMatch":[".bootstraprc"],"url":"http://json.schemastore.org/bootstraprc"},{"name":"bower.json","description":"Bower package description file","fileMatch":["bower.json",".bower.json"],"url":"http://json.schemastore.org/bower"},{"name":".bowerrc","description":"Bower configuration file","fileMatch":[".bowerrc"],"url":"http://json.schemastore.org/bowerrc"},{"name":"behat.yml","description":"Behat configuration file","fileMatch":["behat.yml","*.behat.yml"],"url":"http://json.schemastore.org/behat"},{"name":"bozr.suite.json","description":"Bozr test suite file","fileMatch":[".suite.json",".xsuite.json"],"url":"http://json.schemastore.org/bozr"},{"name":"Bukkit plugin.yml","description":"Schema for Minecraft Bukkit plugin description files","fileMatch":["plugin.yml"],"url":"http://json.schemastore.org/bukkit-plugin"},{"name":"Buildkite","description":"Schema for Buildkite pipeline.yml files","fileMatch":["buildkite.yml","buildkite.yaml","buildkite.json","buildkite.*.yml","buildkite.*.yaml","buildkite.*.json",".buildkite/pipeline.yml",".buildkite/pipeline.yaml",".buildkite/pipeline.json",".buildkite/pipeline.*.yml",".buildkite/pipeline.*.yaml",".buildkite/pipeline.*.json"],"url":"https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json"},{"name":".build.yml","description":"Sourcehut Build Manifest","fileMatch":[".build.yml"],"url":"http://json.schemastore.org/sourcehut-build"},{"name":"bundleconfig.json","description":"Schema for bundleconfig.json files","fileMatch":["bundleconfig.json"],"url":"http://json.schemastore.org/bundleconfig"},{"name":"BungeeCord plugin.yml","description":"Schema for BungeeCord plugin description files","fileMatch":["plugin.yml","bungee.yml"],"url":"http://json.schemastore.org/bungee-plugin"},{"name":"Carafe","description":"Schema for Carafe compatible JavaScript Bundles","url":"https://carafe.fm/schema/draft-01/bundle.schema.json","versions":{"draft-01":"https://carafe.fm/schema/draft-01/bundle.schema.json"}},{"name":"circleciconfig.json","description":"Schema for CircleCI 2.0 config files","fileMatch":[".circleci/config.yml"],"url":"http://json.schemastore.org/circleciconfig"},{"name":".cirrus.yml","description":"Cirrus CI configuration files","fileMatch":[".cirrus.yml"],"url":"http://json.schemastore.org/cirrus"},{"name":".clasp.json","description":"Google Apps Script CLI project file","fileMatch":[".clasp.json"],"url":"http://json.schemastore.org/clasp"},{"name":"compilerconfig.json","description":"Schema for compilerconfig.json files","fileMatch":["compilerconfig.json"],"url":"http://json.schemastore.org/compilerconfig"},{"name":"commands.json","description":"Config file for Command Task Runner","fileMatch":["commands.json"],"url":"http://json.schemastore.org/commands"},{"name":"Chrome Extension","description":"Google Chrome extension manifest file","url":"http://json.schemastore.org/chrome-manifest"},{"name":"chutzpah.json","description":"Chutzpah configuration file","fileMatch":["chutzpah.json"],"url":"http://json.schemastore.org/chutzpah"},{"name":"contentmanifest.json","description":"Visual Studio manifest injection file","fileMatch":["contentmanifest.json"],"url":"http://json.schemastore.org/vsix-manifestinjection"},{"name":"cloudbuild.json","description":"Google Cloud Build configuration file","fileMatch":["cloudbuild.json","cloudbuild.yaml","cloudbuild.yml","*.cloudbuild.json"],"url":"http://json.schemastore.org/cloudbuild"},{"name":"AWS CloudFormation","description":"AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.","fileMatch":["*.cf.json","*.cf.yml","*.cf.yaml","cloudformation.json","cloudformation.yml","cloudformation.yaml"],"url":"https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json"},{"name":"AWS CloudFormation Serverless Application Model (SAM)","description":"The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.","fileMatch":["*.sam.json","*.sam.yml","*.sam.yaml","sam.json","sam.yml","sam.yaml"],"url":"https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json"},{"name":"coffeelint.json","description":"CoffeeLint configuration file","fileMatch":["coffeelint.json"],"url":"http://json.schemastore.org/coffeelint"},{"name":"composer.json","description":"PHP Composer configuration file","fileMatch":["composer.json"],"url":"http://json.schemastore.org/composer"},{"name":"component.json","description":"Web component file","fileMatch":["component.json"],"url":"http://json.schemastore.org/component"},{"name":"config.json","description":"ASP.NET project config file","fileMatch":["config.json"],"url":"http://json.schemastore.org/config"},{"name":"contribute.json","description":"A JSON schema for open-source project contribution data by Mozilla","fileMatch":["contribute.json"],"url":"http://json.schemastore.org/contribute"},{"name":"cypress.json","description":"Cypress.io test runner configuration file","fileMatch":["cypress.json"],"url":"https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json"},{"name":".creatomic","description":"A config for Atomic Design 4 React generator","fileMatch":[".creatomic"],"url":"http://json.schemastore.org/creatomic"},{"name":".csscomb.json","description":"A JSON schema CSS Comb's configuration file","fileMatch":[".csscomb.json"],"url":"http://json.schemastore.org/csscomb"},{"name":".csslintrc","description":"A JSON schema CSS Lint's configuration file","fileMatch":[".csslintrc"],"url":"http://json.schemastore.org/csslintrc"},{"name":"datalogic-scan2deploy-android","description":"Datalogic Scan2Deploy Android file","fileMatch":[".dla.json"],"url":"http://json.schemastore.org/datalogic-scan2deploy-android"},{"name":"datalogic-scan2deploy-ce","description":"Datalogic Scan2Deploy CE file","fileMatch":[".dlc.json"],"url":"http://json.schemastore.org/datalogic-scan2deploy-ce"},{"name":"debugsettings.json","description":"A JSON schema for the ASP.NET DebugSettings.json files","fileMatch":["debugsettings.json"],"url":"http://json.schemastore.org/debugsettings"},{"name":"docfx.json","description":"A JSON schema for DocFx configuraton files","fileMatch":["docfx.json"],"url":"http://json.schemastore.org/docfx","versions":{"2.8.0":"http://json.schemastore.org/docfx-2.8.0"}},{"name":"Dolittle Artifacts","description":"A JSON schema for a Dolittle bounded context's artifacts","fileMatch":[".dolittle/artifacts.json"],"url":"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json"},{"name":"Dolittle Bounded Context Configuration","description":"A JSON schema for Dolittle application's bounded context configuration","fileMatch":["bounded-context.json"],"url":"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json"},{"name":"Dolittle Event Horizons Configuration","description":"A JSON schema for a Dolittle bounded context's event horizon configurations","fileMatch":[".dolittle/event-horizons.json"],"url":"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json"},{"name":"Dolittle Resources Configuration","description":"A JSON schema for a Dolittle bounded context's resource configurations","fileMatch":[".dolittle/resources.json"],"url":"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json"},{"name":"Dolittle Server Configuration","description":"A JSON schema for a Dolittle bounded context's event horizon's interaction server configuration","fileMatch":[".dolittle/server.json"],"url":"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json"},{"name":"Dolittle Tenants Configuration","description":"A JSON schema for a Dolittle bounded context's tenant configuration","fileMatch":[".dolittle/tenants.json"],"url":"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json"},{"name":"Dolittle Tenant Map Configuration","description":"A JSON schema for a Dolittle bounded context's tenant mapping configurations","fileMatch":[".dolittle/tenant-map.json"],"url":"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json"},{"name":"Dolittle Topology","description":"A JSON schema for a Dolittle bounded context's topology","fileMatch":[".dolittle/topology.json"],"url":"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json"},{"name":"dotnetcli.host.json","description":"JSON schema for .NET CLI template host files","fileMatch":["dotnetcli.host.json"],"url":"http://json.schemastore.org/dotnetcli.host"},{"name":"Drush site aliases","description":"JSON Schema for Drush 9 site aliases file","fileMatch":["sites/*.site.yml"],"url":"http://json.schemastore.org/drush.site.yml"},{"name":"dss-2.0.0.json","description":"Digital Signature Service Core Protocols, Elements, and Bindings Version 2.0","url":"http://json.schemastore.org/dss-2.0.0.json"},{"name":"epr-manifest.json","description":"Entry Point Regulation manifest file","fileMatch":["epr-manifest.json"],"url":"http://json.schemastore.org/epr-manifest"},{"name":"electron-builder configuration file.","description":"JSON schema for electron-build configuration file.","fileMatch":["electron-builder.json"],"url":"http://json.schemastore.org/electron-builder"},{"name":".eslintrc","description":"JSON schema for ESLint configuration files","fileMatch":[".eslintrc",".eslintrc.json",".eslintrc.yml",".eslintrc.yaml"],"url":"http://json.schemastore.org/eslintrc"},{"name":"function.json","description":"JSON schema for Azure Functions function.json files","fileMatch":["function.json"],"url":"http://json.schemastore.org/function"},{"name":"geojson.json","description":"GeoJSON format for representing geographic data.","url":"http://json.schemastore.org/geojson"},{"name":"gitlab-ci","description":"JSON schema for configuring Gitlab CI","fileMatch":[".gitlab-ci.yml"],"url":"http://json.schemastore.org/gitlab-ci"},{"name":"global.json","description":"ASP.NET global configuration file","fileMatch":["global.json"],"url":"http://json.schemastore.org/global"},{"name":"Grunt copy task","description":"Grunt copy task configuration file","fileMatch":["copy.json"],"url":"http://json.schemastore.org/grunt-copy-task"},{"name":"Grunt clean task","description":"Grunt clean task configuration file","fileMatch":["clean.json"],"url":"http://json.schemastore.org/grunt-clean-task"},{"name":"Grunt cssmin task","description":"Grunt cssmin task configuration file","fileMatch":["cssmin.json"],"url":"http://json.schemastore.org/grunt-cssmin-task"},{"name":"Grunt JSHint task","description":"Grunt JSHint task configuration file","fileMatch":["jshint.json"],"url":"http://json.schemastore.org/grunt-jshint-task"},{"name":"Grunt Watch task","description":"Grunt Watch task configuration file","fileMatch":["watch.json"],"url":"http://json.schemastore.org/grunt-watch-task"},{"name":"Grunt base task","description":"Schema for standard Grunt tasks","fileMatch":["grunt/*.json","*-tasks.json"],"url":"http://json.schemastore.org/grunt-task"},{"name":"haxelib.json","description":"Haxelib manifest","fileMatch":["haxelib.json"],"url":"http://json.schemastore.org/haxelib"},{"name":"host.json","description":"JSON schema for Azure Functions host.json files","fileMatch":["host.json"],"url":"http://json.schemastore.org/host"},{"name":"host-meta.json","description":"Schema for host-meta JDR files","fileMatch":["host-meta.json"],"url":"http://json.schemastore.org/host-meta"},{"name":".htmlhintrc","description":"HTML Hint configuration file","fileMatch":[".htmlhintrc"],"url":"http://json.schemastore.org/htmlhint"},{"name":"imageoptimizer.json","description":"Schema for imageoptimizer.json files","fileMatch":["imageoptimizer.json"],"url":"http://json.schemastore.org/imageoptimizer"},{"name":"Jenkins X Pipelines","description":"Jenkins X Pipeline YAML configuration files","fileMatch":["jenkins-x*.yml"],"url":"https://jenkins-x.io/schemas/jx-schema.json"},{"name":".jsbeautifyrc","description":"js-beautify configuration file","fileMatch":[".jsbeautifyrc"],"url":"http://json.schemastore.org/jsbeautifyrc"},{"name":".jsbeautifyrc-nested","description":"js-beautify configuration file allowing nested `js`, `css`, and `html` attributes","fileMatch":[".jsbeautifyrc"],"url":"http://json.schemastore.org/jsbeautifyrc-nested"},{"name":".jscsrc","description":"JSCS configuration file","fileMatch":[".jscsrc","jscsrc.json"],"url":"http://json.schemastore.org/jscsrc"},{"name":".jshintrc","description":"JSHint configuration file","fileMatch":[".jshintrc"],"url":"http://json.schemastore.org/jshintrc"},{"name":".jsinspectrc","description":"JSInspect configuration file","fileMatch":[".jsinspectrc"],"url":"http://json.schemastore.org/jsinspectrc"},{"name":"JSON-API","description":"JSON API document","fileMatch":["*.schema.json"],"url":"http://jsonapi.org/schema"},{"name":"JSON Document Transform","description":"JSON Document Transofrm","url":"http://json.schemastore.org/jdt"},{"name":"JSON Feed","description":"JSON schema for the JSON Feed format","fileMatch":["feed.json"],"url":"http://json.schemastore.org/feed"},{"name":"*.jsonld","description":"JSON Linked Data files","fileMatch":["*.jsonld"],"url":"http://json.schemastore.org/jsonld"},{"name":"JSONPatch","description":"JSONPatch files","fileMatch":["*.patch"],"url":"http://json.schemastore.org/json-patch"},{"name":"jsconfig.json","description":"JavaScript project configuration file","fileMatch":["jsconfig.json"],"url":"http://json.schemastore.org/jsconfig"},{"name":"kustomization.yaml","description":"Kubernetes native configuration management","fileMatch":["kustomization.yaml","kustomization.yml"],"url":"http://json.schemastore.org/kustomization"},{"name":"launchsettings.json","description":"A JSON schema for the ASP.NET LaunchSettings.json files","fileMatch":["launchsettings.json"],"url":"http://json.schemastore.org/launchsettings"},{"name":"lerna.json","description":"A JSON schema for lerna.json files","fileMatch":["lerna.json"],"url":"http://json.schemastore.org/lerna"},{"name":"libman.json","description":"JSON schema for client-side library config files","fileMatch":["libman.json"],"url":"http://json.schemastore.org/libman"},{"name":"lsdlschema.json","description":"JSON schema for Linguistic Schema Definition Language files","fileMatch":["*.lsdl.yaml","*.lsdl.json"],"url":"http://json.schemastore.org/lsdlschema"},{"name":"Microsoft Band Web Tile","description":"Microsoft Band Web Tile manifest file","url":"http://json.schemastore.org/band-manifest"},{"name":"mimetypes.json","description":"JSON Schema for mime type collections","fileMatch":["mimetypes.json"],"url":"http://json.schemastore.org/mimetypes"},{"name":".modernizrrc","description":"Webpack modernizr-loader configuration file","fileMatch":[".modernizrrc"],"url":"http://json.schemastore.org/modernizrrc"},{"name":"mycode.json","description":"JSON schema for mycode.js files","fileMatch":["mycode.json"],"url":"http://json.schemastore.org/mycode"},{"name":"news in JSON","description":"A JSON Schema for ninjs by the IPTC. News and publishing information. See http://dev.iptc.org/ninjs","fileMatch":["ninjs.json"],"url":"http://json.schemastore.org/ninjs"},{"name":"nodemon.json","description":"JSON schema for nodemon.json configuration files.","url":"http://json.schemastore.org/nodemon","fileMatch":["nodemon.json"]},{"name":".npmpackagejsonlintrc","description":"Configuration file for npm-package-json-lint","fileMatch":[".npmpackagejsonlintrc","npmpackagejsonlintrc.json",".npmpackagejsonlintrc.json"],"url":"http://json.schemastore.org/npmpackagejsonlintrc"},{"name":"nuget-project.json","description":"JSON schema for NuGet project.json files.","url":"http://json.schemastore.org/nuget-project","versions":{"3.3.0":"http://json.schemastore.org/nuget-project-3.3.0"}},{"name":"nswag.json","description":"JSON schema for nswag configuration","url":"http://json.schemastore.org/nswag","fileMatch":["nswag.json"]},{"name":"ocelot.json","description":"JSON schema for the Ocelot Api Gateway.","fileMatch":["ocelot.json"],"url":"http://json.schemastore.org/ocelot"},{"name":"omnisharp.json","description":"Omnisharp Configuration file","fileMatch":["omnisharp.json"],"url":"http://json.schemastore.org/omnisharp"},{"name":"openapi.json","description":"A JSON schema for Open API documentation files","fileMatch":["openapi.json","openapi.yml","openapi.yaml"],"url":"https://raw.githubusercontent.com/kogosoftwarellc/open-api/master/packages/openapi-schema-validator/resources/openapi-3.0.json"},{"name":"openfin.json","description":"OpenFin application configuration file","url":"http://json.schemastore.org/openfin"},{"name":"package.json","description":"NPM configuration file","fileMatch":["package.json"],"url":"http://json.schemastore.org/package"},{"name":"package.manifest","description":"Umbraco package configuration file","fileMatch":["package.manifest"],"url":"http://json.schemastore.org/package.manifest","versions":{"8.0.0":"http://json.schemastore.org/package.manifest-8.0.0","7.0.0":"http://json.schemastore.org/package.manifest-7.0.0"}},{"name":"pattern.json","description":"Patternplate pattern manifest file","fileMatch":["pattern.json"],"url":"http://json.schemastore.org/pattern"},{"name":"PocketMine plugin.yml","description":"PocketMine plugin manifest file","fileMatch":["plugin.yml"],"url":"http://json.schemastore.org/pocketmine-plugin"},{"name":".phraseapp.yml","description":"PhraseApp configuration file","fileMatch":[".phraseapp.yml"],"url":"http://json.schemastore.org/phraseapp"},{"name":"prettierrc.json","description":".prettierrc configuration file","fileMatch":[".prettierrc",".prettierrc.json"],"url":"http://json.schemastore.org/prettierrc","versions":{"1.8.2":"http://json.schemastore.org/prettierrc-1.8.2"}},{"name":"prisma.yml","description":"prisma.yml service definition file","fileMatch":["prisma.yml"],"url":"http://json.schemastore.org/prisma"},{"name":"project.json","description":"ASP.NET vNext project configuration file","fileMatch":["project.json"],"url":"http://json.schemastore.org/project","versions":{"1.0.0-beta3":"http://json.schemastore.org/project-1.0.0-beta3","1.0.0-beta4":"http://json.schemastore.org/project-1.0.0-beta4","1.0.0-beta5":"http://json.schemastore.org/project-1.0.0-beta5","1.0.0-beta6":"http://json.schemastore.org/project-1.0.0-beta6","1.0.0-beta8":"http://json.schemastore.org/project-1.0.0-beta8","1.0.0-rc1":"http://json.schemastore.org/project-1.0.0-rc1","1.0.0-rc1-update1":"http://json.schemastore.org/project-1.0.0-rc1","1.0.0-rc2":"http://json.schemastore.org/project-1.0.0-rc2"}},{"name":"project-1.0.0-beta3.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-beta3"},{"name":"project-1.0.0-beta4.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-beta4"},{"name":"project-1.0.0-beta5.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-beta5"},{"name":"project-1.0.0-beta6.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-beta6"},{"name":"project-1.0.0-beta8.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-beta8"},{"name":"project-1.0.0-rc1.json","description":"ASP.NET vNext project configuration file","url":"http://json.schemastore.org/project-1.0.0-rc1"},{"name":"project-1.0.0-rc2.json","description":".NET Core project configuration file","url":"http://json.schemastore.org/project-1.0.0-rc2"},{"name":"proxies.json","description":"JSON schema for Azure Function Proxies proxies.json files","fileMatch":["proxies.json"],"url":"http://json.schemastore.org/proxies"},{"name":"pyrseas-0.8.json","description":"Pyrseas database schema versioning for Postgres databases, v0.8","fileMatch":["pyrseas-0.8.json"],"url":"http://json.schemastore.org/pyrseas-0.8"},{"name":"*.resjson","description":"Windows App localization file","fileMatch":["*.resjson"],"url":"http://json.schemastore.org/resjson"},{"name":"JSON Resume","description":"A JSON format to describe resumes","fileMatch":["resume.json"],"url":"http://json.schemastore.org/resume"},{"name":"Renovate","description":"Renovate config file (https://renovatebot.com/)","fileMatch":["renovate.json"],"url":"http://json.schemastore.org/renovate"},{"name":"sarif-1.0.0.json","description":"Static Analysis Results Interchange Format (SARIF) version 1","url":"http://json.schemastore.org/sarif-1.0.0.json"},{"name":"sarif-2.0.0.json","description":"Static Analysis Results Interchange Format (SARIF) version 2","url":"http://json.schemastore.org/sarif-2.0.0.json"},{"name":"2.0.0-csd.2.beta.2018-10-10","description":"Static Analysis Results Format (SARIF) Version 2.0.0-csd.2.beta-2018-10-10","url":"http://json.schemastore.org/2.0.0-csd.2.beta.2018-10-10.json"},{"name":"sarif-2.1.0-rtm.2","description":"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.2","url":"http://json.schemastore.org/sarif-2.1.0-rtm.2.json"},{"name":"sarif-external-property-file-2.1.0-rtm.2","description":"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.2","url":"http://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.2.json"},{"name":"sarif-2.1.0-rtm.3","description":"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.3","url":"http://json.schemastore.org/sarif-2.1.0-rtm.3.json"},{"name":"sarif-external-property-file-2.1.0-rtm.3","description":"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.3","url":"http://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.3.json"},{"name":"Schema Catalog","description":"JSON Schema catalog files compatible with SchemaStore.org","url":"http://json.schemastore.org/schema-catalog"},{"name":"schema.org - Action","description":"JSON Schema for Action as defined by schema.org","url":"http://json.schemastore.org/schema-org-action"},{"name":"schema.org - ContactPoint","description":"JSON Schema for ContactPoint as defined by schema.org","url":"http://json.schemastore.org/schema-org-contact-point"},{"name":"schema.org - Place","description":"JSON Schema for Place as defined by schema.org","url":"http://json.schemastore.org/schema-org-place"},{"name":"schema.org - Thing","description":"JSON Schema for Thing as defined by schema.org","url":"http://json.schemastore.org/schema-org-thing"},{"name":"settings.job","description":"Azure Webjob settings file","fileMatch":["settings.job"],"url":"http://json.schemastore.org/settings.job"},{"name":"skyuxconfig.json","description":"SKY UX CLI configuration file","fileMatch":["skyuxconfig.json","skyuxconfig.*.json"],"url":"https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json"},{"name":"snapcraft","description":"snapcraft project  (https://snapcraft.io)","fileMatch":[".snapcraft.yaml","snapcraft.yaml"],"url":"https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json"},{"name":"Solidarity","description":"CLI config for enforcing environment settings","fileMatch":[".solidarity",".solidarity.json"],"url":"http://json.schemastore.org/solidaritySchema"},{"name":"Source Maps v3","description":"Source Map files version 3","fileMatch":["*.map"],"url":"http://json.schemastore.org/sourcemap-v3"},{"name":".sprite files","description":"Schema for image sprite generation files","fileMatch":["*.sprite"],"url":"http://json.schemastore.org/sprite"},{"name":"StyleCop Analyzers Configuration","description":"Configuration file for StyleCop Analyzers","fileMatch":["stylecop.json"],"url":"https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json"},{"name":".stylelintrc","description":"Configuration file for stylelint","fileMatch":[".stylelintrc","stylelintrc.json",".stylelintrc.json"],"url":"http://json.schemastore.org/stylelintrc"},{"name":"Swagger API 2.0","description":"Swagger API 2.0 schema","fileMatch":["swagger.json"],"url":"http://json.schemastore.org/swagger-2.0"},{"name":"template.json","description":"JSON schema .NET template files","fileMatch":[".template.config/template.json"],"url":"http://json.schemastore.org/template"},{"name":"templatsources.json","description":"SideWaffle template source schema","fileMatch":["templatesources.json"],"url":"http://json.schemastore.org/templatesources"},{"name":"tmLanguage","description":"Language grammar description files in Textmate and compatible editors","fileMatch":["*.tmLanguage.json"],"url":"https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json"},{"name":".travis.yml","description":"Travis CI configuration file","fileMatch":[".travis.yml"],"url":"http://json.schemastore.org/travis"},{"name":"tsconfig.json","description":"TypeScript compiler configuration file","fileMatch":["tsconfig.json"],"url":"http://json.schemastore.org/tsconfig"},{"name":"tsd.json","description":"JSON schema for DefinatelyTyped description manager (TSD)","fileMatch":["tsd.json"],"url":"http://json.schemastore.org/tsd"},{"name":"tsdrc.json","description":"TypeScript Definition manager (tsd) global settings file","fileMatch":[".tsdrc"],"url":"http://json.schemastore.org/tsdrc"},{"name":"ts-force-config.json","description":"Generated Typescript classes for Salesforce","fileMatch":["ts-force-config.json"],"url":"http://json.schemastore.org/ts-force-config"},{"name":"tslint.json","description":"TypeScript Lint configuration file","fileMatch":["tslint.json","tslint.yaml","tslint.yml"],"url":"http://json.schemastore.org/tslint"},{"name":"typewiz.json","description":"Typewiz configuration file","fileMatch":["typewiz.json"],"url":"http://json.schemastore.org/typewiz"},{"name":"typings.json","description":"Typings TypeScript definitions manager definition file","fileMatch":["typings.json"],"url":"http://json.schemastore.org/typings"},{"name":"typingsrc.json","description":"Typings TypeScript definitions manager configuration file","fileMatch":[".typingsrc"],"url":"http://json.schemastore.org/typingsrc"},{"name":"up.json","description":"Up configuration file","fileMatch":["up.json"],"url":"http://json.schemastore.org/up.json"},{"name":"ui5-manifest","description":"UI5/OPENUI5 descriptor file","fileMatch":[".manifest"],"url":"http://json.schemastore.org/ui5-manifest"},{"name":"vega.json","description":"Vega visualization specification file","fileMatch":["*.vg","*.vg.json"],"url":"http://json.schemastore.org/vega"},{"name":"vega-lite.json","description":"Vega-Lite visualization specification file","fileMatch":["*.vl","*.vl.json"],"url":"http://json.schemastore.org/vega-lite"},{"name":"version.json","description":"A project version descriptor file used by Nerdbank.GitVersioning","fileMatch":["version.json"],"url":"https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json"},{"name":"vsls.json","description":"Visual Studio Live Share configuration file","fileMatch":[".vsls.json"],"url":"http://json.schemastore.org/vsls"},{"name":"vs-2017.3.host.json","description":"JSON schema for Visual Studio template host file","fileMatch":["vs-2017.3.host.json"],"url":"http://json.schemastore.org/vs-2017.3.host"},{"name":"vs-nesting.json","description":"JSON schema for Visual Studio's file nesting feature","fileMatch":["*.filenesting.json",".filenesting.json"],"url":"http://json.schemastore.org/vs-nesting"},{"name":".vsconfig","description":"JSON schema for Visual Studio component configuration files","fileMatch":["*.vsconfig"],"url":"http://json.schemastore.org/vsconfig"},{"name":".vsext","description":"JSON schema for Visual Studio extension pack manifests","fileMatch":["*.vsext"],"url":"http://json.schemastore.org/vsext"},{"name":"VSIX CLI publishing","description":"JSON schema for Visual Studio extension publishing","fileMatch":["vs-publish.json"],"url":"http://json.schemastore.org/vsix-publish"},{"name":"WebExtensions","description":"JSON schema for WebExtension manifest files","fileMatch":["manifest.json"],"url":"http://json.schemastore.org/webextension"},{"name":"Web Manifest","description":"Web Application manifest file","fileMatch":["manifest.json","*.webmanifest"],"url":"http://json.schemastore.org/web-manifest"},{"name":"webjobs-list.json","description":"Azure Webjob list file","fileMatch":["webjobs-list.json"],"url":"http://json.schemastore.org/webjobs-list"},{"name":"webjobpublishsettings.json","description":"Azure Webjobs publish settings file","fileMatch":["webjobpublishsettings.json"],"url":"http://json.schemastore.org/webjob-publish-settings"},{"name":"JSON-stat 2.0","description":"JSON-stat 2.0 Schema","url":"https://json-stat.org/format/schema/2.0/"},{"name":"KSP-CKAN 1.26","description":"Metadata spec v1.26 for KSP-CKAN","fileMatch":["*.ckan"],"url":"http://json.schemastore.org/ksp-ckan"},{"name":"JSON Schema Draft 4","description":"Meta-validation schema for JSON Schema Draft 4","url":"http://json-schema.org/draft-04/schema"},{"name":"xunit.runner.json","description":"xUnit.net runner configuration file","fileMatch":["xunit.runner.json"],"url":"http://json.schemastore.org/xunit.runner.schema"},{"name":".cryproj engine-5.2","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj.52.schema"},{"name":".cryproj engine-5.3","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj.53.schema"},{"name":".cryproj engine-5.4","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj.54.schema"},{"name":".cryproj engine-5.5","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj.55.schema"},{"name":".cryproj engine-dev","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj.dev.schema"},{"name":".cryproj (generic)","description":"A JSON schema for CRYENGINE projects (.cryproj files)","fileMatch":["*.cryproj"],"url":"http://json.schemastore.org/cryproj"},{"name":"typedoc.json","description":"A JSON schema for the Typedoc configuration file","fileMatch":["typedoc.json"],"url":"http://json.schemastore.org/typedoc"},{"name":"huskyrc","description":"Husky can prevent bad `git commit`, `git push` and more 🐶 woof!","fileMatch":[".huskyrc",".huskyrc.json"],"url":"http://json.schemastore.org/huskyrc"},{"name":".lintstagedrc","description":"JSON schema for lint-staged config","fileMatch":[".lintstagedrc",".lintstagedrc.json"],"url":"http://json.schemastore.org/lintstagedrc.schema"},{"name":"mta","description":"A JSON schema for MTA projects (mta.yaml files)","fileMatch":["mta.yaml","mta.yml"],"url":"http://json.schemastore.org/mta-3.1"},{"name":"mtad.yaml","description":"A JSON schema for MTA deployment descriptors v3.3","fileMatch":["mtad.yaml","mtad.yml"],"url":"http://json.schemastore.org/mtad"},{"name":".mtaext","description":"A JSON schema for MTA extension descriptors v3.3","fileMatch":["*.mtaext"],"url":"http://json.schemastore.org/mtaext"}]};
+module.exports = JSON.parse("{\"$schema\":\"https://json.schemastore.org/schema-catalog\",\"version\":1,\"schemas\":[{\"name\":\".angular-cli.json\",\"description\":\"Angular CLI configuration file\",\"fileMatch\":[\".angular-cli.json\",\"angular-cli.json\"],\"url\":\"https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json\"},{\"name\":\"Ansible Role\",\"description\":\"Ansible role task files\",\"url\":\"https://json.schemastore.org/ansible-role-2.9\",\"fileMatch\":[\"**/tasks/*.yml\",\"**/tasks/*.yaml\"],\"versions\":{\"2.0\":\"https://json.schemastore.org/ansible-role-2.0\",\"2.1\":\"https://json.schemastore.org/ansible-role-2.1\",\"2.2\":\"https://json.schemastore.org/ansible-role-2.2\",\"2.3\":\"https://json.schemastore.org/ansible-role-2.3\",\"2.4\":\"https://json.schemastore.org/ansible-role-2.4\",\"2.5\":\"https://json.schemastore.org/ansible-role-2.5\",\"2.6\":\"https://json.schemastore.org/ansible-role-2.6\",\"2.7\":\"https://json.schemastore.org/ansible-role-2.7\",\"2.9\":\"https://json.schemastore.org/ansible-role-2.9\"}},{\"name\":\"Ansible Playbook\",\"description\":\"Ansible playbook files\",\"url\":\"https://json.schemastore.org/ansible-playbook\",\"fileMatch\":[\"playbook.yml\",\"playbook.yaml\"]},{\"name\":\"Ansible Inventory\",\"description\":\"Ansible inventory files\",\"url\":\"https://json.schemastore.org/ansible-inventory\",\"fileMatch\":[\"inventory.yml\",\"inventory.yaml\"]},{\"name\":\"Ansible Collection Galaxy\",\"description\":\"Ansible Collection Galaxy metadata\",\"url\":\"https://json.schemastore.org/ansible-collection-galaxy\",\"fileMatch\":[\"galaxy.yml\",\"galaxy.yaml\"]},{\"name\":\"apple-app-site-association\",\"description\":\"Apple Universal Link, App Site Association\",\"fileMatch\":[\"apple-app-site-association\"],\"url\":\"https://json.schemastore.org/apple-app-site-association\"},{\"name\":\"appsscript.json\",\"description\":\"Google Apps Script manifest file\",\"fileMatch\":[\"appsscript.json\"],\"url\":\"https://json.schemastore.org/appsscript\"},{\"name\":\"appsettings.json\",\"description\":\"ASP.NET Core's configuration file\",\"fileMatch\":[\"appsettings.json\",\"appsettings.*.json\"],\"url\":\"https://json.schemastore.org/appsettings\"},{\"name\":\"appveyor.yml\",\"description\":\"AppVeyor CI configuration file\",\"fileMatch\":[\"appveyor.yml\"],\"url\":\"https://json.schemastore.org/appveyor\"},{\"name\":\"arc.json\",\"description\":\"A JSON schema for OpenJS Architect\",\"fileMatch\":[\"arc.json\",\"arc.yml\",\"arc.yaml\"],\"url\":\"https://raw.githubusercontent.com/architect/parser/master/schema.json\"},{\"name\":\"Avro Avsc\",\"description\":\"Avro Schema Avsc file\",\"fileMatch\":[\".avsc\"],\"url\":\"https://json.schemastore.org/avro-avsc\"},{\"name\":\"Azure IoT Edge deployment\",\"description\":\"Azure IoT Edge deployment schema\",\"url\":\"https://json.schemastore.org/azure-iot-edge-deployment-2.0\",\"versions\":{\"1.0\":\"https://json.schemastore.org/azure-iot-edge-deployment-1.0\",\"1.1\":\"https://json.schemastore.org/azure-iot-edge-deployment-2.0\"}},{\"name\":\"Azure IoT Edge deployment template\",\"description\":\"Azure IoT Edge deployment template schema\",\"fileMatch\":[\"deployment.template.json\",\"deployment.*.template.json\"],\"url\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0\",\"versions\":{\"1.0\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-1.0\",\"1.1\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0\"}},{\"name\":\"Azure Pipelines\",\"description\":\"Azure Pipelines YAML pipelines definition\",\"fileMatch\":[\"azure-pipelines.yml\",\"azure-pipelines.yaml\"],\"url\":\"https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json\"},{\"name\":\"Foxx Manifest\",\"description\":\"ArangoDB Foxx service manifest file\",\"fileMatch\":[\"manifest.json\"],\"url\":\"https://json.schemastore.org/foxx-manifest\"},{\"name\":\".asmdef\",\"description\":\"Unity 3D assembly definition file\",\"fileMatch\":[\"*.asmdef\"],\"url\":\"https://json.schemastore.org/asmdef\"},{\"name\":\"babelrc.json\",\"description\":\"Babel configuration file\",\"fileMatch\":[\".babelrc\",\"babel.config.json\"],\"url\":\"https://json.schemastore.org/babelrc\"},{\"name\":\".backportrc.json\",\"description\":\"Backport configuration file\",\"fileMatch\":[\".backportrc.json\"],\"url\":\"https://json.schemastore.org/backportrc\"},{\"name\":\"batect.yml\",\"description\":\"batect configuration file\",\"fileMatch\":[\"batect.yml\",\"batect-bundle.yml\"],\"url\":\"https://batect.dev/configSchema.json\"},{\"name\":\"bamboo-spec\",\"description\":\"The Bamboo Specs allows you to define Bamboo configuration as code, and have corresponding plans/deployments created or updated automatically in Bamboo\",\"url\":\"https://json.schemastore.org/bamboo-spec\",\"fileMatch\":[\"bamboo.yaml\",\"bamboo.yml\"]},{\"name\":\"bitbucket-pipelines\",\"description\":\"Bitbucket Pipelines CI/CD manifest schema\",\"url\":\"https://bitbucket.org/atlassianlabs/atlascode/raw/main/resources/schemas/pipelines-schema.json\",\"fileMatch\":[\"bitbucket-pipelines.yml\",\"bitbucket-pipelines.yaml\"]},{\"name\":\".bootstraprc\",\"description\":\"Webpack bootstrap-loader configuration file\",\"fileMatch\":[\".bootstraprc\"],\"url\":\"https://json.schemastore.org/bootstraprc\"},{\"name\":\"bower.json\",\"description\":\"Bower package description file\",\"fileMatch\":[\"bower.json\",\".bower.json\"],\"url\":\"https://json.schemastore.org/bower\"},{\"name\":\".bowerrc\",\"description\":\"Bower configuration file\",\"fileMatch\":[\".bowerrc\"],\"url\":\"https://json.schemastore.org/bowerrc\"},{\"name\":\"behat.yml\",\"description\":\"Behat configuration file\",\"fileMatch\":[\"behat.yml\",\"*.behat.yml\"],\"url\":\"https://json.schemastore.org/behat\"},{\"name\":\"bozr.suite.json\",\"description\":\"Bozr test suite file\",\"fileMatch\":[\".suite.json\",\".xsuite.json\"],\"url\":\"https://json.schemastore.org/bozr\"},{\"name\":\"bucklescript\",\"description\":\"BuckleScript configuration file\",\"fileMatch\":[\"bsconfig.json\"],\"url\":\"https://bucklescript.github.io/bucklescript/docson/build-schema.json\"},{\"name\":\"Bukkit plugin.yml\",\"description\":\"Schema for Minecraft Bukkit plugin description files\",\"fileMatch\":[\"plugin.yml\"],\"url\":\"https://json.schemastore.org/bukkit-plugin\"},{\"name\":\"Buildkite\",\"description\":\"Schema for Buildkite pipeline.yml files\",\"fileMatch\":[\"buildkite.yml\",\"buildkite.yaml\",\"buildkite.json\",\"buildkite.*.yml\",\"buildkite.*.yaml\",\"buildkite.*.json\",\".buildkite/pipeline.yml\",\".buildkite/pipeline.yaml\",\".buildkite/pipeline.json\",\".buildkite/pipeline.*.yml\",\".buildkite/pipeline.*.yaml\",\".buildkite/pipeline.*.json\"],\"url\":\"https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json\"},{\"name\":\".build.yml\",\"description\":\"Sourcehut Build Manifest\",\"fileMatch\":[\".build.yml\"],\"url\":\"https://json.schemastore.org/sourcehut-build\"},{\"name\":\"bundleconfig.json\",\"description\":\"Schema for bundleconfig.json files\",\"fileMatch\":[\"bundleconfig.json\"],\"url\":\"https://json.schemastore.org/bundleconfig\"},{\"name\":\"BungeeCord plugin.yml\",\"description\":\"Schema for BungeeCord plugin description files\",\"fileMatch\":[\"plugin.yml\",\"bungee.yml\"],\"url\":\"https://json.schemastore.org/bungee-plugin\"},{\"name\":\"Camel K YAML DSL\",\"description\":\"Schema for Camel K YAML DSL\",\"fileMatch\":[\"*.camelk.yaml\"],\"url\":\"https://raw.githubusercontent.com/apache/camel-k-runtime/master/camel-k-loader-yaml/camel-k-loader-yaml/src/generated/resources/camel-yaml-dsl.json\"},{\"name\":\"Carafe\",\"description\":\"Schema for Carafe compatible JavaScript Bundles\",\"url\":\"https://carafe.fm/schema/draft-02/bundle.schema.json\",\"versions\":{\"draft-02\":\"https://carafe.fm/schema/draft-02/bundle.schema.json\",\"draft-01\":\"https://carafe.fm/schema/draft-01/bundle.schema.json\"}},{\"name\":\"CityJSON\",\"description\":\"Schema for the representation of 3D city models\",\"url\":\"https://raw.githubusercontent.com/cityjson/specs/master/schemas/cityjson.min.schema.json\"},{\"name\":\"CircleCI config.yml\",\"description\":\"Schema for CircleCI 2.0 config files\",\"fileMatch\":[\".circleci/config.yml\"],\"url\":\"https://json.schemastore.org/circleciconfig\"},{\"name\":\".cirrus.yml\",\"description\":\"Cirrus CI configuration files\",\"fileMatch\":[\".cirrus.yml\"],\"url\":\"https://json.schemastore.org/cirrus\"},{\"name\":\".clasp.json\",\"description\":\"Google Apps Script CLI project file\",\"fileMatch\":[\".clasp.json\"],\"url\":\"https://json.schemastore.org/clasp\"},{\"name\":\"cloudify\",\"description\":\"Cloudify Blueprint\",\"fileMatch\":[\"*.cfy.yaml\"],\"url\":\"https://json.schemastore.org/cloudify\"},{\"name\":\"JSON schema for Codecov configuration files\",\"description\":\"Schema for codecov.yml files.\",\"fileMatch\":[\".codecov.yml\",\"codecov.yml\"],\"url\":\"https://json.schemastore.org/codecov\"},{\"name\":\"compilerconfig.json\",\"description\":\"Schema for compilerconfig.json files\",\"fileMatch\":[\"compilerconfig.json\"],\"url\":\"https://json.schemastore.org/compilerconfig\"},{\"name\":\"compile_commands.json\",\"description\":\"LLVM compilation database\",\"fileMatch\":[\"compile_commands.json\"],\"url\":\"https://json.schemastore.org/compile-commands\"},{\"name\":\"cosmos.config.json\",\"description\":\"React Cosmos configuration file\",\"fileMatch\":[\"cosmos.config.json\"],\"url\":\"https://json.schemastore.org/cosmos-config\"},{\"name\":\"Chrome Extension\",\"description\":\"Google Chrome extension manifest file\",\"url\":\"https://json.schemastore.org/chrome-manifest\"},{\"name\":\"chutzpah.json\",\"description\":\"Chutzpah configuration file\",\"fileMatch\":[\"chutzpah.json\"],\"url\":\"https://json.schemastore.org/chutzpah\"},{\"name\":\"contentmanifest.json\",\"description\":\"Visual Studio manifest injection file\",\"fileMatch\":[\"contentmanifest.json\"],\"url\":\"https://json.schemastore.org/vsix-manifestinjection\"},{\"name\":\"cloud-sdk-pipeline-config-schema\",\"description\":\"SAP Cloud SDK Pipeline configuration\",\"fileMatch\":[\"pipeline_config.yml\"],\"url\":\"https://json.schemastore.org/cloud-sdk-pipeline-config-schema.json\"},{\"name\":\"cloudbuild.json\",\"description\":\"Google Cloud Build configuration file\",\"fileMatch\":[\"cloudbuild.json\",\"cloudbuild.yaml\",\"cloudbuild.yml\",\"*.cloudbuild.json\",\"*.cloudbuild.yaml\",\"*.cloudbuild.yml\"],\"url\":\"https://json.schemastore.org/cloudbuild\"},{\"name\":\"AWS CloudFormation\",\"description\":\"AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.\",\"fileMatch\":[\"*.cf.json\",\"*.cf.yml\",\"*.cf.yaml\",\"cloudformation.json\",\"cloudformation.yml\",\"cloudformation.yaml\"],\"url\":\"https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json\"},{\"name\":\"AWS CloudFormation Serverless Application Model (SAM)\",\"description\":\"The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.\",\"fileMatch\":[\"*.sam.json\",\"*.sam.yml\",\"*.sam.yaml\",\"sam.json\",\"sam.yml\",\"sam.yaml\"],\"url\":\"https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json\"},{\"name\":\"coffeelint.json\",\"description\":\"CoffeeLint configuration file\",\"fileMatch\":[\"coffeelint.json\"],\"url\":\"https://json.schemastore.org/coffeelint\"},{\"name\":\"composer.json\",\"description\":\"PHP Composer configuration file\",\"fileMatch\":[\"composer.json\"],\"url\":\"https://json.schemastore.org/composer\"},{\"name\":\"component.json\",\"description\":\"Web component file\",\"fileMatch\":[\"component.json\"],\"url\":\"https://json.schemastore.org/component\"},{\"name\":\"config.json\",\"description\":\"ASP.NET project config file\",\"fileMatch\":[\"config.json\"],\"url\":\"https://json.schemastore.org/config\"},{\"name\":\"contribute.json\",\"description\":\"A JSON schema for open-source project contribution data by Mozilla\",\"fileMatch\":[\"contribute.json\"],\"url\":\"https://json.schemastore.org/contribute\"},{\"name\":\"cypress.json\",\"description\":\"Cypress.io test runner configuration file\",\"fileMatch\":[\"cypress.json\"],\"url\":\"https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json\"},{\"name\":\".creatomic\",\"description\":\"A config for Atomic Design 4 React generator\",\"fileMatch\":[\".creatomic\"],\"url\":\"https://json.schemastore.org/creatomic\"},{\"name\":\"cspell\",\"description\":\"JSON schema for cspell configuration file\",\"fileMatch\":[\".cspell.json\",\"cspell.json\",\"cSpell.json\"],\"url\":\"https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json\"},{\"name\":\".csscomb.json\",\"description\":\"A JSON schema CSS Comb's configuration file\",\"fileMatch\":[\".csscomb.json\"],\"url\":\"https://json.schemastore.org/csscomb\"},{\"name\":\".csslintrc\",\"description\":\"A JSON schema CSS Lint's configuration file\",\"fileMatch\":[\".csslintrc\"],\"url\":\"https://json.schemastore.org/csslintrc\"},{\"name\":\"Dart build configuration\",\"description\":\"Configuration for Dart's build system\",\"url\":\"https://json.schemastore.org/dart-build\"},{\"name\":\"datalogic-scan2deploy-android\",\"description\":\"Datalogic Scan2Deploy Android file\",\"fileMatch\":[\".dla.json\"],\"url\":\"https://json.schemastore.org/datalogic-scan2deploy-android\"},{\"name\":\"datalogic-scan2deploy-ce\",\"description\":\"Datalogic Scan2Deploy CE file\",\"fileMatch\":[\".dlc.json\"],\"url\":\"https://json.schemastore.org/datalogic-scan2deploy-ce\"},{\"name\":\"debugsettings.json\",\"description\":\"A JSON schema for the ASP.NET DebugSettings.json files\",\"fileMatch\":[\"debugsettings.json\"],\"url\":\"https://json.schemastore.org/debugsettings\"},{\"name\":\"dependabot.json\",\"description\":\"A JSON schema for the Dependabot config.yml files\",\"fileMatch\":[\".dependabot/config.yml\"],\"url\":\"https://json.schemastore.org/dependabot\"},{\"name\":\"dependabot-v2.json\",\"description\":\"A JSON schema for the Github Action's dependabot.yml files\",\"fileMatch\":[\".github/dependabot.yml\"],\"url\":\"https://json.schemastore.org/dependabot-2.0\"},{\"name\":\"docfx.json\",\"description\":\"A JSON schema for DocFx configuraton files\",\"fileMatch\":[\"docfx.json\"],\"url\":\"https://json.schemastore.org/docfx\",\"versions\":{\"2.8.0\":\"https://json.schemastore.org/docfx-2.8.0\"}},{\"name\":\"Dolittle Artifacts\",\"description\":\"A JSON schema for a Dolittle bounded context's artifacts\",\"fileMatch\":[\".dolittle/artifacts.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json\"},{\"name\":\"Dolittle Bounded Context Configuration\",\"description\":\"A JSON schema for Dolittle application's bounded context configuration\",\"fileMatch\":[\"bounded-context.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json\"},{\"name\":\"Dolittle Event Horizons Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's event horizon configurations\",\"fileMatch\":[\".dolittle/event-horizons.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json\"},{\"name\":\"Dolittle Resources Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's resource configurations\",\"fileMatch\":[\".dolittle/resources.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json\"},{\"name\":\"Dolittle Server Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's event horizon's interaction server configuration\",\"fileMatch\":[\".dolittle/server.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json\"},{\"name\":\"Dolittle Tenants Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's tenant configuration\",\"fileMatch\":[\".dolittle/tenants.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json\"},{\"name\":\"Dolittle Tenant Map Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's tenant mapping configurations\",\"fileMatch\":[\".dolittle/tenant-map.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json\"},{\"name\":\"Dolittle Topology\",\"description\":\"A JSON schema for a Dolittle bounded context's topology\",\"fileMatch\":[\".dolittle/topology.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json\"},{\"name\":\"dotnetcli.host.json\",\"description\":\"JSON schema for .NET CLI template host files\",\"fileMatch\":[\"dotnetcli.host.json\"],\"url\":\"https://json.schemastore.org/dotnetcli.host\"},{\"name\":\"drone.json\",\"description\":\"Drone CI configuration file\",\"fileMatch\":[\".drone.yml\"],\"url\":\"https://json.schemastore.org/drone\"},{\"name\":\"Drush site aliases\",\"description\":\"JSON Schema for Drush 9 site aliases file\",\"fileMatch\":[\"sites/*.site.yml\"],\"url\":\"https://json.schemastore.org/drush.site.yml\"},{\"name\":\"dss-2.0.0.json\",\"description\":\"Digital Signature Service Core Protocols, Elements, and Bindings Version 2.0\",\"url\":\"https://json.schemastore.org/dss-2.0.0.json\"},{\"name\":\"dvc.yaml\",\"description\":\"JSON Schema for dvc.yaml file\",\"fileMatch\":[\"dvc.yaml\"],\"url\":\"https://raw.githubusercontent.com/iterative/dvcyaml-schema/master/schema.json\"},{\"name\":\"Eclipse Che Devfile\",\"description\":\"JSON schema for Eclipse Che Devfiles\",\"url\":\"https://raw.githubusercontent.com/eclipse/che/master/wsmaster/che-core-api-workspace/src/main/resources/schema/1.0.0/devfile.json\",\"fileMatch\":[\"devfile.yaml\",\".devfile.yaml\"]},{\"name\":\"Esquio\",\"description\":\"JSON schema for Esquio configuration files\",\"url\":\"https://json.schemastore.org/esquio\"},{\"name\":\"epr-manifest.json\",\"description\":\"Entry Point Regulation manifest file\",\"fileMatch\":[\"epr-manifest.json\"],\"url\":\"https://json.schemastore.org/epr-manifest\"},{\"name\":\"electron-builder configuration file.\",\"description\":\"JSON schema for electron-build configuration file.\",\"fileMatch\":[\"electron-builder.json\"],\"url\":\"https://json.schemastore.org/electron-builder\"},{\"name\":\"Expo SDK\",\"description\":\"JSON schema for Expo SDK app manifest\",\"fileMatch\":[\"app.json\"],\"url\":\"https://json.schemastore.org/expo-37.0.0.json\"},{\"name\":\".eslintrc\",\"description\":\"JSON schema for ESLint configuration files\",\"fileMatch\":[\".eslintrc\",\".eslintrc.json\",\".eslintrc.yml\",\".eslintrc.yaml\"],\"url\":\"https://json.schemastore.org/eslintrc\"},{\"name\":\"fabric.mod.json\",\"description\":\"Metadata file used by the Fabric mod loader\",\"fileMatch\":[\"fabric.mod.json\"],\"url\":\"https://json.schemastore.org/fabric.mod.json\"},{\"name\":\"function.json\",\"description\":\"JSON schema for Azure Functions function.json files\",\"fileMatch\":[\"function.json\"],\"url\":\"https://json.schemastore.org/function\"},{\"name\":\"geojson.json\",\"description\":\"GeoJSON format for representing geographic data.\",\"url\":\"https://json.schemastore.org/geojson\"},{\"name\":\"GitVersion\",\"description\":\"The output from the GitVersion tool\",\"fileMatch\":[\"gitversion.json\"],\"url\":\"https://json.schemastore.org/gitversion\"},{\"name\":\"GitHub Action\",\"description\":\"YAML schema for GitHub Actions\",\"fileMatch\":[\"action.yml\",\"action.yaml\"],\"url\":\"https://json.schemastore.org/github-action\"},{\"name\":\"GitHub Workflow\",\"description\":\"YAML schema for GitHub Workflow\",\"fileMatch\":[\".github/workflows/**.yml\",\".github/workflows/**.yaml\"],\"url\":\"https://json.schemastore.org/github-workflow\"},{\"name\":\"gitlab-ci\",\"description\":\"JSON schema for configuring Gitlab CI\",\"fileMatch\":[\".gitlab-ci.yml\"],\"url\":\"https://json.schemastore.org/gitlab-ci\"},{\"name\":\"Gitpod Configuration\",\"description\":\"JSON schema for configuring Gitpod.io\",\"fileMatch\":[\".gitpod.yml\"],\"url\":\"https://gitpod.io/schemas/gitpod-schema.json\"},{\"name\":\"global.json\",\"description\":\"ASP.NET global configuration file\",\"fileMatch\":[\"global.json\"],\"url\":\"https://json.schemastore.org/global\"},{\"name\":\"Grafana 5.x Dashboard\",\"description\":\"JSON Schema for Grafana 5.x Dashboards\",\"url\":\"https://json.schemastore.org/grafana-dashboard-5.x\"},{\"name\":\"GraphQL Mesh\",\"description\":\"JSON Schema for GraphQL Mesh config file\",\"url\":\"https://raw.githubusercontent.com/Urigo/graphql-mesh/master/packages/types/src/config-schema.json\",\"fileMatch\":[\".meshrc.yml\",\".meshrc.yaml\",\".meshrc.json\",\".meshrc.js\",\".graphql-mesh.yaml\",\".graphql-mesh.yml\"]},{\"name\":\"GraphQL Config\",\"description\":\"JSON Schema for GraphQL Config config file\",\"url\":\"https://raw.githubusercontent.com/kamilkisiela/graphql-config/master/config-schema.json\",\"fileMatch\":[\"graphql.config.json\",\"graphql.config.js\",\"graphql.config.yaml\",\"graphql.config.yml\",\".graphqlrc\",\".graphqlrc.json\",\".graphqlrc.yaml\",\".graphqlrc.yml\",\".graphqlrc.js\"]},{\"name\":\"GraphQL Code Generator\",\"description\":\"JSON Schema for GraphQL Code Generator config file\",\"url\":\"https://raw.githubusercontent.com/dotansimha/graphql-code-generator/master/website/static/config.schema.json\",\"fileMatch\":[\"codegen.yml\",\"codegen.yaml\",\"codegen.json\",\"codegen.js\",\".codegen.yml\",\".codegen.yaml\",\".codegen.json\",\".codegen.js\"]},{\"name\":\"Grunt copy task\",\"description\":\"Grunt copy task configuration file\",\"fileMatch\":[\"copy.json\"],\"url\":\"https://json.schemastore.org/grunt-copy-task\"},{\"name\":\"Grunt clean task\",\"description\":\"Grunt clean task configuration file\",\"fileMatch\":[\"clean.json\"],\"url\":\"https://json.schemastore.org/grunt-clean-task\"},{\"name\":\"Grunt cssmin task\",\"description\":\"Grunt cssmin task configuration file\",\"fileMatch\":[\"cssmin.json\"],\"url\":\"https://json.schemastore.org/grunt-cssmin-task\"},{\"name\":\"Grunt JSHint task\",\"description\":\"Grunt JSHint task configuration file\",\"fileMatch\":[\"jshint.json\"],\"url\":\"https://json.schemastore.org/grunt-jshint-task\"},{\"name\":\"Grunt Watch task\",\"description\":\"Grunt Watch task configuration file\",\"fileMatch\":[\"watch.json\"],\"url\":\"https://json.schemastore.org/grunt-watch-task\"},{\"name\":\"Grunt base task\",\"description\":\"Schema for standard Grunt tasks\",\"fileMatch\":[\"grunt/*.json\",\"*-tasks.json\"],\"url\":\"https://json.schemastore.org/grunt-task\"},{\"name\":\"haxelib.json\",\"description\":\"Haxelib manifest\",\"fileMatch\":[\"haxelib.json\"],\"url\":\"https://json.schemastore.org/haxelib\"},{\"name\":\"host.json\",\"description\":\"JSON schema for Azure Functions host.json files\",\"fileMatch\":[\"host.json\"],\"url\":\"https://json.schemastore.org/host\"},{\"name\":\"host-meta.json\",\"description\":\"Schema for host-meta JDR files\",\"fileMatch\":[\"host-meta.json\"],\"url\":\"https://json.schemastore.org/host-meta\"},{\"name\":\".htmlhintrc\",\"description\":\"HTML Hint configuration file\",\"fileMatch\":[\".htmlhintrc\"],\"url\":\"https://json.schemastore.org/htmlhint\"},{\"name\":\"hydra.yml\",\"description\":\"ORY Hydra configuration file\",\"fileMatch\":[\"hydra.json\",\"hydra.yml\",\"hydra.yaml\",\"hydra.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/hydra/master/.schema/version.schema.json\"},{\"name\":\"imageoptimizer.json\",\"description\":\"Schema for imageoptimizer.json files\",\"fileMatch\":[\"imageoptimizer.json\"],\"url\":\"https://json.schemastore.org/imageoptimizer\"},{\"name\":\"Jekyll configuration\",\"description\":\"Schema for Jekyll _config.yml\",\"fileMatch\":[\"_config.yml\"],\"url\":\"https://json.schemastore.org/jekyll\"},{\"name\":\"Jenkins X Pipelines\",\"description\":\"Jenkins X Pipeline YAML configuration files\",\"fileMatch\":[\"jenkins-x*.yml\"],\"url\":\"https://jenkins-x.io/schemas/jx-schema.json\"},{\"name\":\"Jenkins X Requirements\",\"description\":\"Jenkins X Requirements YAML configuration file\",\"fileMatch\":[\"jx-requirements.yml\"],\"url\":\"https://jenkins-x.io/schemas/jx-requirements.json\"},{\"name\":\"Jovo Language Models\",\"description\":\"JSON Schema for Jovo language Models (https://www.jovo.tech/docs/model)\",\"url\":\"http://json.schemastore.org/jovo-language-model\"},{\"name\":\".jsbeautifyrc\",\"description\":\"js-beautify configuration file\",\"fileMatch\":[\".jsbeautifyrc\"],\"url\":\"https://json.schemastore.org/jsbeautifyrc\"},{\"name\":\".jsbeautifyrc-nested\",\"description\":\"js-beautify configuration file allowing nested `js`, `css`, and `html` attributes\",\"fileMatch\":[\".jsbeautifyrc\"],\"url\":\"https://json.schemastore.org/jsbeautifyrc-nested\"},{\"name\":\".jscsrc\",\"description\":\"JSCS configuration file\",\"fileMatch\":[\".jscsrc\",\"jscsrc.json\"],\"url\":\"https://json.schemastore.org/jscsrc\"},{\"name\":\".jshintrc\",\"description\":\"JSHint configuration file\",\"fileMatch\":[\".jshintrc\"],\"url\":\"https://json.schemastore.org/jshintrc\"},{\"name\":\".jsinspectrc\",\"description\":\"JSInspect configuration file\",\"fileMatch\":[\".jsinspectrc\"],\"url\":\"https://json.schemastore.org/jsinspectrc\"},{\"name\":\"JSON-API\",\"description\":\"JSON API document\",\"fileMatch\":[\"*.schema.json\"],\"url\":\"https://jsonapi.org/schema\"},{\"name\":\"JSON Document Transform\",\"description\":\"JSON Document Transofrm\",\"url\":\"https://json.schemastore.org/jdt\"},{\"name\":\"JSON Feed\",\"description\":\"JSON schema for the JSON Feed format\",\"fileMatch\":[\"feed.json\"],\"url\":\"https://json.schemastore.org/feed\",\"versions\":{\"1\":\"http://json.schemastore.org/feed-1\",\"1.1\":\"http://json.schemastore.org/feed\"}},{\"name\":\"*.jsonld\",\"description\":\"JSON Linked Data files\",\"fileMatch\":[\"*.jsonld\"],\"url\":\"https://json.schemastore.org/jsonld\"},{\"name\":\"JSONPatch\",\"description\":\"JSONPatch files\",\"fileMatch\":[\"*.patch\"],\"url\":\"https://json.schemastore.org/json-patch\"},{\"name\":\"jsconfig.json\",\"description\":\"JavaScript project configuration file\",\"fileMatch\":[\"jsconfig.json\"],\"url\":\"https://json.schemastore.org/jsconfig\"},{\"name\":\"keto.yml\",\"description\":\"ORY Keto configuration file\",\"fileMatch\":[\"keto.json\",\"keto.yml\",\"keto.yaml\",\"keto.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/keto/master/.schema/version.schema.json\"},{\"name\":\"kustomization.yaml\",\"description\":\"Kubernetes native configuration management\",\"fileMatch\":[\"kustomization.yaml\",\"kustomization.yml\"],\"url\":\"https://json.schemastore.org/kustomization\"},{\"name\":\"launchsettings.json\",\"description\":\"A JSON schema for the ASP.NET LaunchSettings.json files\",\"fileMatch\":[\"launchsettings.json\"],\"url\":\"https://json.schemastore.org/launchsettings\"},{\"name\":\"lerna.json\",\"description\":\"A JSON schema for lerna.json files\",\"fileMatch\":[\"lerna.json\"],\"url\":\"https://json.schemastore.org/lerna\"},{\"name\":\"libman.json\",\"description\":\"JSON schema for client-side library config files\",\"fileMatch\":[\"libman.json\"],\"url\":\"https://json.schemastore.org/libman\"},{\"name\":\"localazy.json\",\"description\":\"JSON schema for Localazy CLI configuration file. More info at https://localazy.com/docs/cli\",\"fileMatch\":[\"localazy.json\"],\"url\":\"https://raw.githubusercontent.com/localazy/cli-schema/master/localazy.json\"},{\"name\":\"lsdlschema.json\",\"description\":\"JSON schema for Linguistic Schema Definition Language files\",\"fileMatch\":[\"*.lsdl.yaml\",\"*.lsdl.json\"],\"url\":\"https://json.schemastore.org/lsdlschema\"},{\"name\":\"Microsoft Band Web Tile\",\"description\":\"Microsoft Band Web Tile manifest file\",\"url\":\"https://json.schemastore.org/band-manifest\"},{\"name\":\"mimetypes.json\",\"description\":\"JSON Schema for mime type collections\",\"fileMatch\":[\"mimetypes.json\"],\"url\":\"https://json.schemastore.org/mimetypes\"},{\"name\":\".mocharc\",\"description\":\"JSON schema for MochaJS configuration files\",\"fileMatch\":[\".mocharc.json\",\".mocharc.jsonc\",\".mocharc.yml\",\".mocharc.yaml\"],\"url\":\"https://json.schemastore.org/mocharc\"},{\"name\":\".modernizrrc\",\"description\":\"Webpack modernizr-loader configuration file\",\"fileMatch\":[\".modernizrrc\"],\"url\":\"https://json.schemastore.org/modernizrrc\"},{\"name\":\"mycode.json\",\"description\":\"JSON schema for mycode.js files\",\"fileMatch\":[\"mycode.json\"],\"url\":\"https://json.schemastore.org/mycode\"},{\"name\":\"Netlify config schema\",\"description\":\"This schema describes the YAML config that Netlify uses\",\"fileMatch\":[\"admin/config*.yml\"],\"url\":\"http://json.schemastore.org/netlify.json\"},{\"name\":\"ninjs (News in JSON)\",\"description\":\"A JSON Schema for ninjs by the IPTC. News and publishing information. See https://iptc.org/standards/ninjs/\",\"url\":\"https://json.schemastore.org/ninjs-1.3.json\",\"versions\":{\"1.3\":\"https://json.schemastore.org/ninjs-1.3.json\",\"1.2\":\"https://json.schemastore.org/ninjs-1.2.json\",\"1.1\":\"https://json.schemastore.org/ninjs-1.1.json\",\"1.0\":\"https://json.schemastore.org/ninjs-1.0.json\"}},{\"name\":\"nest-cli\",\"description\":\"A progressive Node.js framework for building efficient and scalable server-side applications 🚀.\",\"url\":\"https://json.schemastore.org/nest-cli\",\"fileMatch\":[\".nestcli.json\",\".nest-cli.json\",\"nest-cli.json\",\"nest.json\"]},{\"name\":\".nodehawkrc\",\"description\":\"JSON schema for .nodehawkrc configuration files.\",\"url\":\"https://json.schemastore.org/nodehawkrc\",\"fileMatch\":[\".nodehawkrc\"]},{\"name\":\"nodemon.json\",\"description\":\"JSON schema for nodemon.json configuration files.\",\"url\":\"https://json.schemastore.org/nodemon\",\"fileMatch\":[\"nodemon.json\"]},{\"name\":\".npmpackagejsonlintrc\",\"description\":\"Configuration file for npm-package-json-lint\",\"fileMatch\":[\".npmpackagejsonlintrc\",\"npmpackagejsonlintrc.json\",\".npmpackagejsonlintrc.json\"],\"url\":\"https://json.schemastore.org/npmpackagejsonlintrc\"},{\"name\":\"nuget-project.json\",\"description\":\"JSON schema for NuGet project.json files.\",\"url\":\"https://json.schemastore.org/nuget-project\",\"versions\":{\"3.3.0\":\"https://json.schemastore.org/nuget-project-3.3.0\"}},{\"name\":\"nswag.json\",\"description\":\"JSON schema for nswag configuration\",\"url\":\"https://json.schemastore.org/nswag\",\"fileMatch\":[\"nswag.json\"]},{\"name\":\"oathkeeper.yml\",\"description\":\"ORY Oathkeeper configuration file\",\"fileMatch\":[\"oathkeeper.json\",\"oathkeeper.yml\",\"oathkeeper.yaml\",\"oathkeeper.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/oathkeeper/master/.schema/version.schema.json\"},{\"name\":\"ocelot.json\",\"description\":\"JSON schema for the Ocelot Api Gateway.\",\"fileMatch\":[\"ocelot.json\"],\"url\":\"https://json.schemastore.org/ocelot\"},{\"name\":\"omnisharp.json\",\"description\":\"Omnisharp Configuration file\",\"fileMatch\":[\"omnisharp.json\"],\"url\":\"https://json.schemastore.org/omnisharp\"},{\"name\":\"openapi.json\",\"description\":\"A JSON schema for Open API documentation files\",\"fileMatch\":[\"openapi.json\",\"openapi.yml\",\"openapi.yaml\"],\"url\":\"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json\"},{\"name\":\"openfin.json\",\"description\":\"OpenFin application configuration file\",\"url\":\"https://json.schemastore.org/openfin\"},{\"name\":\"kratos.yml\",\"description\":\"ORY Kratos configuration file\",\"fileMatch\":[\"kratos.json\",\"kratos.yml\",\"kratos.yaml\"],\"url\":\"https://raw.githubusercontent.com/ory/kratos/master/.schema/version.schema.json\"},{\"name\":\"package.json\",\"description\":\"NPM configuration file\",\"fileMatch\":[\"package.json\"],\"url\":\"https://json.schemastore.org/package\"},{\"name\":\"package.manifest\",\"description\":\"Umbraco package configuration file\",\"fileMatch\":[\"package.manifest\"],\"url\":\"https://json.schemastore.org/package.manifest\",\"versions\":{\"8.0.0\":\"https://json.schemastore.org/package.manifest-8.0.0\",\"7.0.0\":\"https://json.schemastore.org/package.manifest-7.0.0\"}},{\"name\":\"Packer\",\"description\":\"Packer template JSON configuration\",\"fileMatch\":[\"packer.json\"],\"url\":\"https://json.schemastore.org/packer\"},{\"name\":\"pattern.json\",\"description\":\"Patternplate pattern manifest file\",\"fileMatch\":[\"pattern.json\"],\"url\":\"https://json.schemastore.org/pattern\"},{\"name\":\".pmbot.yml\",\"description\":\"Pmbot configuration file\",\"fileMatch\":[\".pmbot.yml\"],\"url\":\"https://raw.githubusercontent.com/pmbot-io/config/master/pmbot.yml.schema.json\"},{\"name\":\"PocketMine plugin.yml\",\"description\":\"PocketMine plugin manifest file\",\"fileMatch\":[\"plugin.yml\"],\"url\":\"https://json.schemastore.org/pocketmine-plugin\"},{\"name\":\".pre-commit-config.yml\",\"description\":\"pre-commit configuration file\",\"fileMatch\":[\".pre-commit-config.yml\",\".pre-commit-config.yaml\"],\"url\":\"https://json.schemastore.org/pre-commit-config\"},{\"name\":\".phraseapp.yml\",\"description\":\"PhraseApp configuration file\",\"fileMatch\":[\".phraseapp.yml\"],\"url\":\"https://json.schemastore.org/phraseapp\"},{\"name\":\"prettierrc.json\",\"description\":\".prettierrc configuration file\",\"fileMatch\":[\".prettierrc\",\".prettierrc.json\",\".prettierrc.yml\",\".prettierrc.yaml\"],\"url\":\"https://json.schemastore.org/prettierrc\",\"versions\":{\"1.8.2\":\"https://json.schemastore.org/prettierrc-1.8.2\"}},{\"name\":\"prisma.yml\",\"description\":\"prisma.yml service definition file\",\"fileMatch\":[\"prisma.yml\"],\"url\":\"https://json.schemastore.org/prisma\"},{\"name\":\"project.json\",\"description\":\"ASP.NET vNext project configuration file\",\"fileMatch\":[\"project.json\"],\"url\":\"https://json.schemastore.org/project\",\"versions\":{\"1.0.0-beta3\":\"https://json.schemastore.org/project-1.0.0-beta3\",\"1.0.0-beta4\":\"https://json.schemastore.org/project-1.0.0-beta4\",\"1.0.0-beta5\":\"https://json.schemastore.org/project-1.0.0-beta5\",\"1.0.0-beta6\":\"https://json.schemastore.org/project-1.0.0-beta6\",\"1.0.0-beta8\":\"https://json.schemastore.org/project-1.0.0-beta8\",\"1.0.0-rc1\":\"https://json.schemastore.org/project-1.0.0-rc1\",\"1.0.0-rc1-update1\":\"https://json.schemastore.org/project-1.0.0-rc1\",\"1.0.0-rc2\":\"https://json.schemastore.org/project-1.0.0-rc2\"}},{\"name\":\"project-1.0.0-beta3.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta3\"},{\"name\":\"project-1.0.0-beta4.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta4\"},{\"name\":\"project-1.0.0-beta5.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta5\"},{\"name\":\"project-1.0.0-beta6.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta6\"},{\"name\":\"project-1.0.0-beta8.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta8\"},{\"name\":\"project-1.0.0-rc1.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-rc1\"},{\"name\":\"project-1.0.0-rc2.json\",\"description\":\".NET Core project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-rc2\"},{\"name\":\"prometheus.json\",\"description\":\"Prometheus configuration file\",\"fileMatch\":[\"prometheus.yml\"],\"url\":\"https://json.schemastore.org/prometheus\"},{\"name\":\"prometheus.rules.json\",\"description\":\"Prometheus rules file\",\"fileMatch\":[\"*.rules\"],\"url\":\"https://json.schemastore.org/prometheus.rules\"},{\"name\":\"proxies.json\",\"description\":\"JSON schema for Azure Function Proxies proxies.json files\",\"fileMatch\":[\"proxies.json\"],\"url\":\"https://json.schemastore.org/proxies\"},{\"name\":\"pubspec.yaml\",\"description\":\"Schema for pubspecs, the format used by Dart's dependency manager\",\"fileMatch\":[\"pubspec.yaml\"],\"url\":\"https://json.schemastore.org/pubspec\"},{\"name\":\"pyrseas-0.8.json\",\"description\":\"Pyrseas database schema versioning for Postgres databases, v0.8\",\"fileMatch\":[\"pyrseas-0.8.json\"],\"url\":\"https://json.schemastore.org/pyrseas-0.8\"},{\"name\":\"Red-DiscordBot Сog\",\"description\":\"Red-DiscordBot Сog metadata file\",\"fileMatch\":[\"info.json\"],\"url\":\"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog.schema.json\"},{\"name\":\"Red-DiscordBot Сog Repo\",\"description\":\"Red-DiscordBot Сog Repo metadata file\",\"fileMatch\":[\"info.json\"],\"url\":\"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog_repo.schema.json\"},{\"name\":\"*.resjson\",\"description\":\"Windows App localization file\",\"fileMatch\":[\"*.resjson\"],\"url\":\"https://json.schemastore.org/resjson\"},{\"name\":\"JSON Resume\",\"description\":\"A JSON format to describe resumes\",\"fileMatch\":[\"resume.json\"],\"url\":\"https://json.schemastore.org/resume\"},{\"name\":\"Renovate\",\"description\":\"Renovate config file (https://github.com/renovatebot/renovate)\",\"fileMatch\":[\"renovate.json\",\"renovate.json5\",\".github/renovate.json\",\".github/renovate.json5\",\".renovaterc\",\".renovaterc.json\"],\"url\":\"https://docs.renovatebot.com/renovate-schema.json\"},{\"name\":\"RoadRunner\",\"description\":\"Spiral Roadrunner config schema\",\"fileMatch\":[\".rr.yml\",\".rr.yaml\"],\"url\":\"https://json.schemastore.org/roadrunner\"},{\"name\":\"sarif-1.0.0.json\",\"description\":\"Static Analysis Results Interchange Format (SARIF) version 1\",\"url\":\"https://json.schemastore.org/sarif-1.0.0.json\"},{\"name\":\"sarif-2.0.0.json\",\"description\":\"Static Analysis Results Interchange Format (SARIF) version 2\",\"url\":\"https://json.schemastore.org/sarif-2.0.0.json\"},{\"name\":\"2.0.0-csd.2.beta.2018-10-10\",\"description\":\"Static Analysis Results Format (SARIF) Version 2.0.0-csd.2.beta-2018-10-10\",\"url\":\"https://json.schemastore.org/2.0.0-csd.2.beta.2018-10-10.json\"},{\"name\":\"sarif-2.1.0-rtm.2\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.2\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.2.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.2\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.2\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.2.json\"},{\"name\":\"sarif-2.1.0-rtm.3\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.3\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.3.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.3\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.3\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.3.json\"},{\"name\":\"sarif-2.1.0-rtm.4\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.4\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.4.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.4\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.4\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.4.json\"},{\"name\":\"sarif-2.1.0-rtm.5\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.5\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.5.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.5\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.5\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.5.json\"},{\"name\":\"Schema Catalog\",\"description\":\"JSON Schema catalog files compatible with SchemaStore.org\",\"url\":\"https://json.schemastore.org/schema-catalog\"},{\"name\":\"schema.org - Action\",\"description\":\"JSON Schema for Action as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-action\"},{\"name\":\"schema.org - ContactPoint\",\"description\":\"JSON Schema for ContactPoint as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-contact-point\"},{\"name\":\"schema.org - Place\",\"description\":\"JSON Schema for Place as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-place\"},{\"name\":\"schema.org - Thing\",\"description\":\"JSON Schema for Thing as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-thing\"},{\"name\":\"settings.job\",\"description\":\"Azure Webjob settings file\",\"fileMatch\":[\"settings.job\"],\"url\":\"https://json.schemastore.org/settings.job\"},{\"name\":\"skyuxconfig.json\",\"description\":\"SKY UX CLI configuration file\",\"fileMatch\":[\"skyuxconfig.json\",\"skyuxconfig.*.json\"],\"url\":\"https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json\"},{\"name\":\"snapcraft\",\"description\":\"snapcraft project  (https://snapcraft.io)\",\"fileMatch\":[\".snapcraft.yaml\",\"snapcraft.yaml\"],\"url\":\"https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json\"},{\"name\":\"Solidarity\",\"description\":\"CLI config for enforcing environment settings\",\"fileMatch\":[\".solidarity\",\".solidarity.json\"],\"url\":\"https://json.schemastore.org/solidaritySchema\"},{\"name\":\"Source Maps v3\",\"description\":\"Source Map files version 3\",\"fileMatch\":[\"*.map\"],\"url\":\"https://json.schemastore.org/sourcemap-v3\"},{\"name\":\"Sponge Mixin configuration\",\"description\":\"Configuration file for SpongePowered's Mixin library\",\"fileMatch\":[\"*.mixins.json\"],\"url\":\"https://json.schemastore.org/sponge-mixins\"},{\"name\":\".sprite files\",\"description\":\"Schema for image sprite generation files\",\"fileMatch\":[\"*.sprite\"],\"url\":\"https://json.schemastore.org/sprite\"},{\"name\":\"Stryker Mutator\",\"description\":\"Configuration file for Stryker Mutator, the mutation testing framework for JavaScript and friends. See https://stryker-mutator.io.\",\"fileMatch\":[\"stryker.conf.json\",\"stryker-*.conf.json\"],\"url\":\"https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json\"},{\"name\":\"StyleCop Analyzers Configuration\",\"description\":\"Configuration file for StyleCop Analyzers\",\"fileMatch\":[\"stylecop.json\"],\"url\":\"https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json\"},{\"name\":\".stylelintrc\",\"description\":\"Configuration file for stylelint\",\"fileMatch\":[\".stylelintrc\",\"stylelintrc.json\",\".stylelintrc.json\"],\"url\":\"https://json.schemastore.org/stylelintrc\"},{\"name\":\"Swagger API 2.0\",\"description\":\"Swagger API 2.0 schema\",\"fileMatch\":[\"swagger.json\"],\"url\":\"https://json.schemastore.org/swagger-2.0\"},{\"name\":\"Taurus\",\"description\":\"Taurus bzt cli framework config\",\"fileMatch\":[\"bzt.yml\",\"bzt.yaml\",\"taurus.yml\",\"taurus.yaml\"],\"url\":\"https://json.schemastore.org/taurus\"},{\"name\":\"template.json\",\"description\":\"JSON schema .NET template files\",\"fileMatch\":[\".template.config/template.json\"],\"url\":\"https://json.schemastore.org/template\"},{\"name\":\"templatsources.json\",\"description\":\"SideWaffle template source schema\",\"fileMatch\":[\"templatesources.json\"],\"url\":\"https://json.schemastore.org/templatesources\"},{\"name\":\"tmLanguage\",\"description\":\"Language grammar description files in Textmate and compatible editors\",\"fileMatch\":[\"*.tmLanguage.json\"],\"url\":\"https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json\"},{\"name\":\".travis.yml\",\"description\":\"Travis CI configuration file\",\"fileMatch\":[\".travis.yml\"],\"url\":\"https://json.schemastore.org/travis\"},{\"name\":\"Traefik v2\",\"description\":\"Traefik v2 YAML configuration file\",\"fileMatch\":[\"traefik.yml\",\"traefik.yaml\"],\"url\":\"https://json.schemastore.org/traefik-v2\"},{\"name\":\"tsconfig.json\",\"description\":\"TypeScript compiler configuration file\",\"fileMatch\":[\"tsconfig.json\"],\"url\":\"https://json.schemastore.org/tsconfig\"},{\"name\":\"tsd.json\",\"description\":\"JSON schema for DefinatelyTyped description manager (TSD)\",\"fileMatch\":[\"tsd.json\"],\"url\":\"https://json.schemastore.org/tsd\"},{\"name\":\"tsdrc.json\",\"description\":\"TypeScript Definition manager (tsd) global settings file\",\"fileMatch\":[\".tsdrc\"],\"url\":\"https://json.schemastore.org/tsdrc\"},{\"name\":\"ts-force-config.json\",\"description\":\"Generated Typescript classes for Salesforce\",\"fileMatch\":[\"ts-force-config.json\"],\"url\":\"https://json.schemastore.org/ts-force-config\"},{\"name\":\"tslint.json\",\"description\":\"TypeScript Lint configuration file\",\"fileMatch\":[\"tslint.json\",\"tslint.yaml\",\"tslint.yml\"],\"url\":\"https://json.schemastore.org/tslint\"},{\"name\":\"typewiz.json\",\"description\":\"Typewiz configuration file\",\"fileMatch\":[\"typewiz.json\"],\"url\":\"https://json.schemastore.org/typewiz\"},{\"name\":\"typings.json\",\"description\":\"Typings TypeScript definitions manager definition file\",\"fileMatch\":[\"typings.json\"],\"url\":\"https://json.schemastore.org/typings\"},{\"name\":\"typingsrc.json\",\"description\":\"Typings TypeScript definitions manager configuration file\",\"fileMatch\":[\".typingsrc\"],\"url\":\"https://json.schemastore.org/typingsrc\"},{\"name\":\"up.json\",\"description\":\"Up configuration file\",\"fileMatch\":[\"up.json\"],\"url\":\"https://json.schemastore.org/up.json\"},{\"name\":\"ui5-manifest\",\"description\":\"UI5/OPENUI5 descriptor file\",\"fileMatch\":[\".manifest\"],\"url\":\"https://json.schemastore.org/ui5-manifest\"},{\"name\":\"UI5 Manifest\",\"description\":\"UI5 Manifest (manifest.json)\",\"fileMatch\":[\"webapp/manifest.json\",\"src/main/webapp/manifest.json\"],\"url\":\"https://raw.githubusercontent.com/SAP/ui5-manifest/master/schema.json\"},{\"name\":\"ui5.yaml\",\"description\":\"UI5 Tooling Configuration File (ui5.yaml)\",\"fileMatch\":[\"ui5.yaml\",\"*-ui5.yaml\",\"*.ui5.yaml\"],\"url\":\"https://sap.github.io/ui5-tooling/schema/ui5.yaml.json\"},{\"name\":\"vega.json\",\"description\":\"Vega visualization specification file\",\"fileMatch\":[\"*.vg\",\"*.vg.json\"],\"url\":\"https://json.schemastore.org/vega\"},{\"name\":\"vega-lite.json\",\"description\":\"Vega-Lite visualization specification file\",\"fileMatch\":[\"*.vl\",\"*.vl.json\"],\"url\":\"https://json.schemastore.org/vega-lite\"},{\"name\":\"Vela Pipeline Configuration\",\"description\":\"Vela Pipeline Configuration File\",\"fileMatch\":[\".vela.yml\",\".vela.yaml\"],\"url\":\"https://github.com/go-vela/types/releases/latest/download/schema.json\"},{\"name\":\"version.json\",\"description\":\"A project version descriptor file used by Nerdbank.GitVersioning\",\"fileMatch\":[\"version.json\"],\"url\":\"https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json\"},{\"name\":\"vim-addon-info\",\"description\":\"JSON schema for vim plugin addon-info.json metadata files\",\"fileMatch\":[\"*vim*/addon-info.json\"],\"url\":\"https://json.schemastore.org/vim-addon-info\"},{\"name\":\"vsls.json\",\"description\":\"Visual Studio Live Share configuration file\",\"fileMatch\":[\".vsls.json\"],\"url\":\"https://json.schemastore.org/vsls\"},{\"name\":\"vs-2017.3.host.json\",\"description\":\"JSON schema for Visual Studio template host file\",\"fileMatch\":[\"vs-2017.3.host.json\"],\"url\":\"https://json.schemastore.org/vs-2017.3.host\"},{\"name\":\"vs-nesting.json\",\"description\":\"JSON schema for Visual Studio's file nesting feature\",\"fileMatch\":[\"*.filenesting.json\",\".filenesting.json\"],\"url\":\"https://json.schemastore.org/vs-nesting\"},{\"name\":\".vsconfig\",\"description\":\"JSON schema for Visual Studio component configuration files\",\"fileMatch\":[\"*.vsconfig\"],\"url\":\"https://json.schemastore.org/vsconfig\"},{\"name\":\".vsext\",\"description\":\"JSON schema for Visual Studio extension pack manifests\",\"fileMatch\":[\"*.vsext\"],\"url\":\"https://json.schemastore.org/vsext\"},{\"name\":\"VSIX CLI publishing\",\"description\":\"JSON schema for Visual Studio extension publishing\",\"fileMatch\":[\"vs-publish.json\"],\"url\":\"https://json.schemastore.org/vsix-publish\"},{\"name\":\"vss-extension.json\",\"description\":\"JSON Schema for Azure DevOps Extensions\",\"fileMatch\":[\"vss-extension.json\"],\"url\":\"https://json.schemastore.org/vss-extension\"},{\"name\":\"WebExtensions\",\"description\":\"JSON schema for WebExtension manifest files\",\"fileMatch\":[\"manifest.json\"],\"url\":\"https://json.schemastore.org/webextension\"},{\"name\":\"Web App Manifest\",\"description\":\"Web Application manifest file\",\"fileMatch\":[\"manifest.json\",\"*.webmanifest\"],\"url\":\"https://json.schemastore.org/web-manifest-combined\"},{\"name\":\"webjobs-list.json\",\"description\":\"Azure Webjob list file\",\"fileMatch\":[\"webjobs-list.json\"],\"url\":\"https://json.schemastore.org/webjobs-list\"},{\"name\":\"webjobpublishsettings.json\",\"description\":\"Azure Webjobs publish settings file\",\"fileMatch\":[\"webjobpublishsettings.json\"],\"url\":\"https://json.schemastore.org/webjob-publish-settings\"},{\"name\":\"Web types\",\"description\":\"JSON standard for web component libraries metadata\",\"fileMatch\":[\"web-types.json\",\"*.web-types.json\"],\"url\":\"https://json.schemastore.org/web-types\"},{\"name\":\"JSON-stat 2.0\",\"description\":\"JSON-stat 2.0 Schema\",\"url\":\"https://json-stat.org/format/schema/2.0/\"},{\"name\":\"KSP-AVC\",\"description\":\"The .version file format for KSP-AVC\",\"fileMatch\":[\"*.version\"],\"url\":\"https://raw.githubusercontent.com/linuxgurugamer/KSPAddonVersionChecker/master/KSP-AVC.schema.json\"},{\"name\":\"KSP-CKAN\",\"description\":\"Metadata spec for KSP-CKAN\",\"fileMatch\":[\"*.ckan\"],\"url\":\"https://raw.githubusercontent.com/KSP-CKAN/CKAN/master/CKAN.schema\"},{\"name\":\"JSON Schema Draft 4\",\"description\":\"Meta-validation schema for JSON Schema Draft 4\",\"url\":\"https://json-schema.org/draft-04/schema\"},{\"name\":\"JSON Schema Draft 7\",\"description\":\"Meta-validation schema for JSON Schema Draft 7\",\"url\":\"https://json-schema.org/draft-07/schema\"},{\"name\":\"JSON Schema Draft 8\",\"description\":\"Meta-validation schema for JSON Schema Draft 8\",\"url\":\"https://json-schema.org/draft/2019-09/schema\"},{\"name\":\"xunit.runner.json\",\"description\":\"xUnit.net runner configuration file\",\"fileMatch\":[\"xunit.runner.json\"],\"url\":\"https://json.schemastore.org/xunit.runner.schema\"},{\"name\":\"servicehub.service.json\",\"description\":\"Microsoft ServiceHub Service\",\"fileMatch\":[\"*.servicehub.service.json\"],\"url\":\"https://json.schemastore.org/servicehub.service.schema\"},{\"name\":\"servicehub.config.json\",\"description\":\"Microsoft ServiceHub Configuration\",\"fileMatch\":[\"servicehub.config.json\"],\"url\":\"https://json.schemastore.org/servicehub.config.schema\"},{\"name\":\".cryproj engine-5.2\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.52.schema\"},{\"name\":\".cryproj engine-5.3\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.53.schema\"},{\"name\":\".cryproj engine-5.4\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.54.schema\"},{\"name\":\".cryproj engine-5.5\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.55.schema\"},{\"name\":\".cryproj engine-dev\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.dev.schema\"},{\"name\":\".cryproj (generic)\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj\"},{\"name\":\"typedoc.json\",\"description\":\"A JSON schema for the Typedoc configuration file\",\"fileMatch\":[\"typedoc.json\"],\"url\":\"https://json.schemastore.org/typedoc\"},{\"name\":\"huskyrc\",\"description\":\"Husky can prevent bad `git commit`, `git push` and more 🐶 woof!\",\"fileMatch\":[\".huskyrc\",\".huskyrc.json\"],\"url\":\"https://json.schemastore.org/huskyrc\"},{\"name\":\".lintstagedrc\",\"description\":\"JSON schema for lint-staged config\",\"fileMatch\":[\".lintstagedrc\",\".lintstagedrc.json\"],\"url\":\"https://json.schemastore.org/lintstagedrc.schema\"},{\"name\":\"mta.yaml\",\"description\":\"A JSON schema for MTA projects v3.3\",\"fileMatch\":[\"mta.yaml\",\"mta.yml\"],\"url\":\"https://json.schemastore.org/mta\"},{\"name\":\"mtad.yaml\",\"description\":\"A JSON schema for MTA deployment descriptors v3.3\",\"fileMatch\":[\"mtad.yaml\",\"mtad.yml\"],\"url\":\"https://json.schemastore.org/mtad\"},{\"name\":\".mtaext\",\"description\":\"A JSON schema for MTA extension descriptors v3.3\",\"fileMatch\":[\"*.mtaext\"],\"url\":\"https://json.schemastore.org/mtaext\"},{\"name\":\"xs-app.json\",\"description\":\"JSON schema for the SAP Application Router v8.2.2\",\"fileMatch\":[\"xs-app.json\"],\"url\":\"https://json.schemastore.org/xs-app.json\"},{\"name\":\"Opctl\",\"description\":\"Opctl schema for describing an op\",\"url\":\"https://json.schemastore.org/opspec-io-0.1.7\",\"fileMatch\":[\".opspec/*/*.yml\",\".opspec/*/*.yaml\"]},{\"name\":\"HEMTT\",\"description\":\"HEMTT Project File\",\"url\":\"https://json.schemastore.org/hemtt-0.6.2\",\"fileMatch\":[\"hemtt.json\",\"hemtt.toml\"],\"versions\":{\"0.6.2\":\"https://json.schemastore.org/hemtt-0.6.2\"}},{\"name\":\"now\",\"description\":\"ZEIT Now project configuration file\",\"fileMatch\":[\"now.json\"],\"url\":\"https://json.schemastore.org/now\"},{\"name\":\"taskcat\",\"description\":\"taskcat\",\"fileMatch\":[\".taskcat.yml\"],\"url\":\"https://raw.githubusercontent.com/aws-quickstart/taskcat/master/taskcat/cfg/config_schema.json\"},{\"name\":\"BizTalkServerApplicationSchema\",\"description\":\"BizTalk server application inventory json file.\",\"fileMatch\":[\"BizTalkServerInventory.json\"],\"url\":\"https://json.schemastore.org/BizTalkServerApplicationSchema\"},{\"name\":\"httpmockrc\",\"description\":\"Http-mocker is a tool for mock local requests or proxy remote requests.\",\"fileMatch\":[\".httpmockrc\",\".httpmock.json\"],\"url\":\"https://json.schemastore.org/httpmockrc\"},{\"name\":\"neoload\",\"description\":\"Neotys as-code load test specification, more at: https://github.com/Neotys-Labs/neoload-cli\",\"fileMatch\":[\".nl.yaml\",\".nl.yml\",\".nl.json\",\".neoload.yaml\",\".neoload.yml\",\".neoload.json\"],\"url\":\"https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json\"},{\"name\":\"release drafter\",\"description\":\"Release Drafter configuration file\",\"fileMatch\":[\".github/release-drafter.yml\"],\"url\":\"https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json\"},{\"name\":\"zuul\",\"description\":\"Zuul CI configuration file\",\"fileMatch\":[\"*zuul.d/*.yaml\",\"*/.zuul.yaml\"],\"url\":\"https://raw.githubusercontent.com/pycontribs/zuul-lint/master/zuul_lint/zuul-schema.json\"},{\"name\":\"Briefcase\",\"description\":\"Microsoft Briefcase configuration file\",\"fileMatch\":[\"briefcase.yaml\"],\"url\":\"https://raw.githubusercontent.com/microsoft/Briefcase/master/mlbriefcase/briefcase-schema.json\"},{\"name\":\"httparchive\",\"description\":\"HTTP Archive\",\"fileMatch\":[\"*.har\"],\"url\":\"https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json\"},{\"name\":\"jsdoc\",\"description\":\"JSDoc configuration file\",\"fileMatch\":[\"conf.js*\",\"jsdoc.js*\"],\"url\":\"https://json.schemastore.org/jsdoc-1.0.0\"},{\"name\":\"Ray\",\"description\":\"Ray autocluster configuration file\",\"fileMatch\":[\"ray-*-cluster.yaml\"],\"url\":\"https://raw.githubusercontent.com/ray-project/ray/master/python/ray/autoscaler/ray-schema.json\"},{\"name\":\"Hadolint\",\"description\":\"A smarter Dockerfile linter that helps you build best practice Docker images.\",\"fileMatch\":[\".hadolint.yaml\",\"hadolint.yaml\"],\"url\":\"https://json.schemastore.org/hadolint\"},{\"name\":\"helmfile\",\"description\":\"Helmfile is a declarative spec for deploying helm charts\",\"fileMatch\":[\"helmfile.yaml\",\"helmfile.d/**/*.yaml\"],\"url\":\"https://json.schemastore.org/helmfile\"},{\"name\":\"Container Structure Test\",\"description\":\"The Container Structure Tests provide a powerful framework to validate the structure of a container image.\",\"fileMatch\":[\"container-structure-test.yaml\",\"structure-test.yaml\"],\"url\":\"https://json.schemastore.org/container-structure-test\"},{\"name\":\"Žinoma\",\"description\":\"Žinoma incremental build configuration\",\"fileMatch\":[\"zinoma.yml\"],\"url\":\"https://github.com/fbecart/zinoma/releases/latest/download/zinoma-schema.json\"},{\"name\":\"Windows Package Manager\",\"description\":\"Windows Package Manager Manifest file\",\"url\":\"http://json.schemastore.org/winget-pkgs\",\"fileMatch\":[\"manifests/*/*/*.yaml\"]},{\"name\":\".commitlintrc\",\"description\":\"JSON schema for commitlint configuration files\",\"fileMatch\":[\".commitlintrc\",\".commitlintrc.json\"],\"url\":\"https://json.schemastore.org/commitlintrc\"},{\"name\":\"Uniswap Token List\",\"description\":\"A list of tokens compatible with the Uniswap Interface\",\"fileMatch\":[\"*.tokenlist.json\"],\"url\":\"https://uniswap.org/tokenlist.schema.json\"},{\"name\":\"Yippee-Ki-JSON configuration YML\",\"description\":\"Action and rule configuration descriptor for Yippee-Ki-JSON transformations.\",\"fileMatch\":[\"**/yippee-*.yml\",\"**/*.yippee.yml\"],\"url\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json\",\"versions\":{\"1.1.2\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/v1.1.2/schema/yippee-ki-json_config_schema.json\",\"latest\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json\"}},{\"name\":\"docker-compose.yml\",\"description\":\"The Compose specification establishes a standard for the definition of multi-container platform-agnostic applications. \",\"fileMatch\":[\"**/docker-compose.yml\",\"**/docker-compose.yaml\",\"**/docker-compose.*.yml\",\"**/docker-compose.*.yaml\",\"**/compose.yml\",\"**/compose.yaml\",\"**/compose.*.yml\",\"**/compose.*.yaml\"],\"url\":\"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json\"},{\"name\":\"devinit\",\"description\":\"Devinit configuration file schema.\",\"url\":\"https://json.schemastore.org/devinit.schema-2.0\",\"fileMatch\":[\"**/*devinit*.json\"],\"versions\":{\"1.0\":\"https://json.schemastore.org/devinit.schema-1.0\",\"2.0\":\"https://json.schemastore.org/devinit.schema-2.0\"}},{\"name\":\"tsoa\",\"description\":\"JSON Schema for the tsoa configuration file\",\"url\":\"https://json.schemastore.org/tsoa\",\"fileMatch\":[\"**/tsoa.json\"]},{\"name\":\"API Builder\",\"description\":\"apibuilder.io schema\",\"fileMatch\":[\"**/api.json\"],\"url\":\"http://json.schemastore.org/apibuilder.json\"}]}");
 
 /***/ }),
-/* 31 */
+/* 34 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5341,6 +5746,7 @@ module.exports = {"$schema":"http://json.schemastore.org/schema-catalog","versio
  *--------------------------------------------------------------------------------------------*/
 
 Object.defineProperty(exports, "__esModule", { value: true });
+exports.hash = void 0;
 /**
  * Return a hash value for an object.
  */
@@ -5368,7 +5774,7 @@ function hash(obj, hashVal = 0) {
 }
 exports.hash = hash;
 function numberHash(val, initialHashVal) {
-    return (((initialHashVal << 5) - initialHashVal) + val) | 0; // hashVal * 31 + ch, keep as int32
+    return (((initialHashVal << 5) - initialHashVal) + val) | 0;
 }
 function booleanHash(b, initialHashVal) {
     return numberHash(b ? 433 : 863, initialHashVal);
@@ -5394,10 +5800,753 @@ function objectHash(obj, initialHashVal) {
 
 
 /***/ }),
-/* 32 */
+/* 35 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "URI", function() { return URI; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uriToFsPath", function() { return uriToFsPath; });
+/*---------------------------------------------------------------------------------------------
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *  Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+var __extends = (undefined && undefined.__extends) || (function () {
+    var extendStatics = function (d, b) {
+        extendStatics = Object.setPrototypeOf ||
+            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        return extendStatics(d, b);
+    };
+    return function (d, b) {
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+})();
+var _a;
+var isWindows;
+if (typeof process === 'object') {
+    isWindows = process.platform === 'win32';
+}
+else if (typeof navigator === 'object') {
+    var userAgent = navigator.userAgent;
+    isWindows = userAgent.indexOf('Windows') >= 0;
+}
+function isHighSurrogate(charCode) {
+    return (0xD800 <= charCode && charCode <= 0xDBFF);
+}
+function isLowSurrogate(charCode) {
+    return (0xDC00 <= charCode && charCode <= 0xDFFF);
+}
+function isLowerAsciiHex(code) {
+    return code >= 97 /* a */ && code <= 102 /* f */;
+}
+function isLowerAsciiLetter(code) {
+    return code >= 97 /* a */ && code <= 122 /* z */;
+}
+function isUpperAsciiLetter(code) {
+    return code >= 65 /* A */ && code <= 90 /* Z */;
+}
+function isAsciiLetter(code) {
+    return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);
+}
+//#endregion
+var _schemePattern = /^\w[\w\d+.-]*$/;
+var _singleSlashStart = /^\//;
+var _doubleSlashStart = /^\/\//;
+function _validateUri(ret, _strict) {
+    // scheme, must be set
+    if (!ret.scheme && _strict) {
+        throw new Error("[UriError]: Scheme is missing: {scheme: \"\", authority: \"" + ret.authority + "\", path: \"" + ret.path + "\", query: \"" + ret.query + "\", fragment: \"" + ret.fragment + "\"}");
+    }
+    // scheme, https://tools.ietf.org/html/rfc3986#section-3.1
+    // ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
+    if (ret.scheme && !_schemePattern.test(ret.scheme)) {
+        throw new Error('[UriError]: Scheme contains illegal characters.');
+    }
+    // path, http://tools.ietf.org/html/rfc3986#section-3.3
+    // If a URI contains an authority component, then the path component
+    // must either be empty or begin with a slash ("/") character.  If a URI
+    // does not contain an authority component, then the path cannot begin
+    // with two slash characters ("//").
+    if (ret.path) {
+        if (ret.authority) {
+            if (!_singleSlashStart.test(ret.path)) {
+                throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character');
+            }
+        }
+        else {
+            if (_doubleSlashStart.test(ret.path)) {
+                throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")');
+            }
+        }
+    }
+}
+// for a while we allowed uris *without* schemes and this is the migration
+// for them, e.g. an uri without scheme and without strict-mode warns and falls
+// back to the file-scheme. that should cause the least carnage and still be a
+// clear warning
+function _schemeFix(scheme, _strict) {
+    if (!scheme && !_strict) {
+        return 'file';
+    }
+    return scheme;
+}
+// implements a bit of https://tools.ietf.org/html/rfc3986#section-5
+function _referenceResolution(scheme, path) {
+    // the slash-character is our 'default base' as we don't
+    // support constructing URIs relative to other URIs. This
+    // also means that we alter and potentially break paths.
+    // see https://tools.ietf.org/html/rfc3986#section-5.1.4
+    switch (scheme) {
+        case 'https':
+        case 'http':
+        case 'file':
+            if (!path) {
+                path = _slash;
+            }
+            else if (path[0] !== _slash) {
+                path = _slash + path;
+            }
+            break;
+    }
+    return path;
+}
+var _empty = '';
+var _slash = '/';
+var _regexp = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
+/**
+ * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.
+ * This class is a simple parser which creates the basic component parts
+ * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
+ * and encoding.
+ *
+ * ```txt
+ *       foo://example.com:8042/over/there?name=ferret#nose
+ *       \_/   \______________/\_________/ \_________/ \__/
+ *        |           |            |            |        |
+ *     scheme     authority       path        query   fragment
+ *        |   _____________________|__
+ *       / \ /                        \
+ *       urn:example:animal:ferret:nose
+ * ```
+ */
+var URI = /** @class */ (function () {
+    /**
+     * @internal
+     */
+    function URI(schemeOrData, authority, path, query, fragment, _strict) {
+        if (_strict === void 0) { _strict = false; }
+        if (typeof schemeOrData === 'object') {
+            this.scheme = schemeOrData.scheme || _empty;
+            this.authority = schemeOrData.authority || _empty;
+            this.path = schemeOrData.path || _empty;
+            this.query = schemeOrData.query || _empty;
+            this.fragment = schemeOrData.fragment || _empty;
+            // no validation because it's this URI
+            // that creates uri components.
+            // _validateUri(this);
+        }
+        else {
+            this.scheme = _schemeFix(schemeOrData, _strict);
+            this.authority = authority || _empty;
+            this.path = _referenceResolution(this.scheme, path || _empty);
+            this.query = query || _empty;
+            this.fragment = fragment || _empty;
+            _validateUri(this, _strict);
+        }
+    }
+    URI.isUri = function (thing) {
+        if (thing instanceof URI) {
+            return true;
+        }
+        if (!thing) {
+            return false;
+        }
+        return typeof thing.authority === 'string'
+            && typeof thing.fragment === 'string'
+            && typeof thing.path === 'string'
+            && typeof thing.query === 'string'
+            && typeof thing.scheme === 'string'
+            && typeof thing.fsPath === 'function'
+            && typeof thing.with === 'function'
+            && typeof thing.toString === 'function';
+    };
+    Object.defineProperty(URI.prototype, "fsPath", {
+        // ---- filesystem path -----------------------
+        /**
+         * Returns a string representing the corresponding file system path of this URI.
+         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
+         * platform specific path separator.
+         *
+         * * Will *not* validate the path for invalid characters and semantics.
+         * * Will *not* look at the scheme of this URI.
+         * * The result shall *not* be used for display purposes but for accessing a file on disk.
+         *
+         *
+         * The *difference* to `URI#path` is the use of the platform specific separator and the handling
+         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
+         *
+         * ```ts
+            const u = URI.parse('file://server/c$/folder/file.txt')
+            u.authority === 'server'
+            u.path === '/shares/c$/file.txt'
+            u.fsPath === '\\server\c$\folder\file.txt'
+        ```
+         *
+         * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,
+         * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working
+         * with URIs that represent files on disk (`file` scheme).
+         */
+        get: function () {
+            // if (this.scheme !== 'file') {
+            //         console.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);
+            // }
+            return uriToFsPath(this, false);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    // ---- modify to new -------------------------
+    URI.prototype.with = function (change) {
+        if (!change) {
+            return this;
+        }
+        var scheme = change.scheme, authority = change.authority, path = change.path, query = change.query, fragment = change.fragment;
+        if (scheme === undefined) {
+            scheme = this.scheme;
+        }
+        else if (scheme === null) {
+            scheme = _empty;
+        }
+        if (authority === undefined) {
+            authority = this.authority;
+        }
+        else if (authority === null) {
+            authority = _empty;
+        }
+        if (path === undefined) {
+            path = this.path;
+        }
+        else if (path === null) {
+            path = _empty;
+        }
+        if (query === undefined) {
+            query = this.query;
+        }
+        else if (query === null) {
+            query = _empty;
+        }
+        if (fragment === undefined) {
+            fragment = this.fragment;
+        }
+        else if (fragment === null) {
+            fragment = _empty;
+        }
+        if (scheme === this.scheme
+            && authority === this.authority
+            && path === this.path
+            && query === this.query
+            && fragment === this.fragment) {
+            return this;
+        }
+        return new _URI(scheme, authority, path, query, fragment);
+    };
+    // ---- parse & validate ------------------------
+    /**
+     * Creates a new URI from a string, e.g. `http://www.msft.com/some/path`,
+     * `file:///usr/home`, or `scheme:with/path`.
+     *
+     * @param value A string which represents an URI (see `URI#toString`).
+     */
+    URI.parse = function (value, _strict) {
+        if (_strict === void 0) { _strict = false; }
+        var match = _regexp.exec(value);
+        if (!match) {
+            return new _URI(_empty, _empty, _empty, _empty, _empty);
+        }
+        return new _URI(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);
+    };
+    /**
+     * Creates a new URI from a file system path, e.g. `c:\my\files`,
+     * `/usr/home`, or `\\server\share\some\path`.
+     *
+     * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument
+     * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**
+     * `URI.parse('file://' + path)` because the path might contain characters that are
+     * interpreted (# and ?). See the following sample:
+     * ```ts
+    const good = URI.file('/coding/c#/project1');
+    good.scheme === 'file';
+    good.path === '/coding/c#/project1';
+    good.fragment === '';
+    const bad = URI.parse('file://' + '/coding/c#/project1');
+    bad.scheme === 'file';
+    bad.path === '/coding/c'; // path is now broken
+    bad.fragment === '/project1';
+    ```
+     *
+     * @param path A file system path (see `URI#fsPath`)
+     */
+    URI.file = function (path) {
+        var authority = _empty;
+        // normalize to fwd-slashes on windows,
+        // on other systems bwd-slashes are valid
+        // filename character, eg /f\oo/ba\r.txt
+        if (isWindows) {
+            path = path.replace(/\\/g, _slash);
+        }
+        // check for authority as used in UNC shares
+        // or use the path as given
+        if (path[0] === _slash && path[1] === _slash) {
+            var idx = path.indexOf(_slash, 2);
+            if (idx === -1) {
+                authority = path.substring(2);
+                path = _slash;
+            }
+            else {
+                authority = path.substring(2, idx);
+                path = path.substring(idx) || _slash;
+            }
+        }
+        return new _URI('file', authority, path, _empty, _empty);
+    };
+    URI.from = function (components) {
+        return new _URI(components.scheme, components.authority, components.path, components.query, components.fragment);
+    };
+    // /**
+    //  * Join a URI path with path fragments and normalizes the resulting path.
+    //  *
+    //  * @param uri The input URI.
+    //  * @param pathFragment The path fragment to add to the URI path.
+    //  * @returns The resulting URI.
+    //  */
+    // static joinPath(uri: URI, ...pathFragment: string[]): URI {
+    //         if (!uri.path) {
+    //                 throw new Error(`[UriError]: cannot call joinPaths on URI without path`);
+    //         }
+    //         let newPath: string;
+    //         if (isWindows && uri.scheme === 'file') {
+    //                 newPath = URI.file(paths.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;
+    //         } else {
+    //                 newPath = paths.posix.join(uri.path, ...pathFragment);
+    //         }
+    //         return uri.with({ path: newPath });
+    // }
+    // ---- printing/externalize ---------------------------
+    /**
+     * Creates a string representation for this URI. It's guaranteed that calling
+     * `URI.parse` with the result of this function creates an URI which is equal
+     * to this URI.
+     *
+     * * The result shall *not* be used for display purposes but for externalization or transport.
+     * * The result will be encoded using the percentage encoding and encoding happens mostly
+     * ignore the scheme-specific encoding rules.
+     *
+     * @param skipEncoding Do not encode the result, default is `false`
+     */
+    URI.prototype.toString = function (skipEncoding) {
+        if (skipEncoding === void 0) { skipEncoding = false; }
+        return _asFormatted(this, skipEncoding);
+    };
+    URI.prototype.toJSON = function () {
+        return this;
+    };
+    URI.revive = function (data) {
+        if (!data) {
+            return data;
+        }
+        else if (data instanceof URI) {
+            return data;
+        }
+        else {
+            var result = new _URI(data);
+            result._formatted = data.external;
+            result._fsPath = data._sep === _pathSepMarker ? data.fsPath : null;
+            return result;
+        }
+    };
+    return URI;
+}());
+
+var _pathSepMarker = isWindows ? 1 : undefined;
+// eslint-disable-next-line @typescript-eslint/class-name-casing
+var _URI = /** @class */ (function (_super) {
+    __extends(_URI, _super);
+    function _URI() {
+        var _this = _super !== null && _super.apply(this, arguments) || this;
+        _this._formatted = null;
+        _this._fsPath = null;
+        return _this;
+    }
+    Object.defineProperty(_URI.prototype, "fsPath", {
+        get: function () {
+            if (!this._fsPath) {
+                this._fsPath = uriToFsPath(this, false);
+            }
+            return this._fsPath;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    _URI.prototype.toString = function (skipEncoding) {
+        if (skipEncoding === void 0) { skipEncoding = false; }
+        if (!skipEncoding) {
+            if (!this._formatted) {
+                this._formatted = _asFormatted(this, false);
+            }
+            return this._formatted;
+        }
+        else {
+            // we don't cache that
+            return _asFormatted(this, true);
+        }
+    };
+    _URI.prototype.toJSON = function () {
+        var res = {
+            $mid: 1
+        };
+        // cached state
+        if (this._fsPath) {
+            res.fsPath = this._fsPath;
+            res._sep = _pathSepMarker;
+        }
+        if (this._formatted) {
+            res.external = this._formatted;
+        }
+        // uri components
+        if (this.path) {
+            res.path = this.path;
+        }
+        if (this.scheme) {
+            res.scheme = this.scheme;
+        }
+        if (this.authority) {
+            res.authority = this.authority;
+        }
+        if (this.query) {
+            res.query = this.query;
+        }
+        if (this.fragment) {
+            res.fragment = this.fragment;
+        }
+        return res;
+    };
+    return _URI;
+}(URI));
+// reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2
+var encodeTable = (_a = {},
+    _a[58 /* Colon */] = '%3A',
+    _a[47 /* Slash */] = '%2F',
+    _a[63 /* QuestionMark */] = '%3F',
+    _a[35 /* Hash */] = '%23',
+    _a[91 /* OpenSquareBracket */] = '%5B',
+    _a[93 /* CloseSquareBracket */] = '%5D',
+    _a[64 /* AtSign */] = '%40',
+    _a[33 /* ExclamationMark */] = '%21',
+    _a[36 /* DollarSign */] = '%24',
+    _a[38 /* Ampersand */] = '%26',
+    _a[39 /* SingleQuote */] = '%27',
+    _a[40 /* OpenParen */] = '%28',
+    _a[41 /* CloseParen */] = '%29',
+    _a[42 /* Asterisk */] = '%2A',
+    _a[43 /* Plus */] = '%2B',
+    _a[44 /* Comma */] = '%2C',
+    _a[59 /* Semicolon */] = '%3B',
+    _a[61 /* Equals */] = '%3D',
+    _a[32 /* Space */] = '%20',
+    _a);
+function encodeURIComponentFast(uriComponent, allowSlash) {
+    var res = undefined;
+    var nativeEncodePos = -1;
+    for (var pos = 0; pos < uriComponent.length; pos++) {
+        var code = uriComponent.charCodeAt(pos);
+        // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3
+        if ((code >= 97 /* a */ && code <= 122 /* z */)
+            || (code >= 65 /* A */ && code <= 90 /* Z */)
+            || (code >= 48 /* Digit0 */ && code <= 57 /* Digit9 */)
+            || code === 45 /* Dash */
+            || code === 46 /* Period */
+            || code === 95 /* Underline */
+            || code === 126 /* Tilde */
+            || (allowSlash && code === 47 /* Slash */)) {
+            // check if we are delaying native encode
+            if (nativeEncodePos !== -1) {
+                res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
+                nativeEncodePos = -1;
+            }
+            // check if we write into a new string (by default we try to return the param)
+            if (res !== undefined) {
+                res += uriComponent.charAt(pos);
+            }
+        }
+        else {
+            // encoding needed, we need to allocate a new string
+            if (res === undefined) {
+                res = uriComponent.substr(0, pos);
+            }
+            // check with default table first
+            var escaped = encodeTable[code];
+            if (escaped !== undefined) {
+                // check if we are delaying native encode
+                if (nativeEncodePos !== -1) {
+                    res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
+                    nativeEncodePos = -1;
+                }
+                // append escaped variant to result
+                res += escaped;
+            }
+            else if (nativeEncodePos === -1) {
+                // use native encode only when needed
+                nativeEncodePos = pos;
+            }
+        }
+    }
+    if (nativeEncodePos !== -1) {
+        res += encodeURIComponent(uriComponent.substring(nativeEncodePos));
+    }
+    return res !== undefined ? res : uriComponent;
+}
+function encodeURIComponentMinimal(path) {
+    var res = undefined;
+    for (var pos = 0; pos < path.length; pos++) {
+        var code = path.charCodeAt(pos);
+        if (code === 35 /* Hash */ || code === 63 /* QuestionMark */) {
+            if (res === undefined) {
+                res = path.substr(0, pos);
+            }
+            res += encodeTable[code];
+        }
+        else {
+            if (res !== undefined) {
+                res += path[pos];
+            }
+        }
+    }
+    return res !== undefined ? res : path;
+}
+/**
+ * Compute `fsPath` for the given uri
+ */
+function uriToFsPath(uri, keepDriveLetterCasing) {
+    var value;
+    if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {
+        // unc path: file://shares/c$/far/boo
+        value = "//" + uri.authority + uri.path;
+    }
+    else if (uri.path.charCodeAt(0) === 47 /* Slash */
+        && (uri.path.charCodeAt(1) >= 65 /* A */ && uri.path.charCodeAt(1) <= 90 /* Z */ || uri.path.charCodeAt(1) >= 97 /* a */ && uri.path.charCodeAt(1) <= 122 /* z */)
+        && uri.path.charCodeAt(2) === 58 /* Colon */) {
+        if (!keepDriveLetterCasing) {
+            // windows drive letter: file:///c:/far/boo
+            value = uri.path[1].toLowerCase() + uri.path.substr(2);
+        }
+        else {
+            value = uri.path.substr(1);
+        }
+    }
+    else {
+        // other path
+        value = uri.path;
+    }
+    if (isWindows) {
+        value = value.replace(/\//g, '\\');
+    }
+    return value;
+}
+/**
+ * Create the external version of a uri
+ */
+function _asFormatted(uri, skipEncoding) {
+    var encoder = !skipEncoding
+        ? encodeURIComponentFast
+        : encodeURIComponentMinimal;
+    var res = '';
+    var scheme = uri.scheme, authority = uri.authority, path = uri.path, query = uri.query, fragment = uri.fragment;
+    if (scheme) {
+        res += scheme;
+        res += ':';
+    }
+    if (authority || scheme === 'file') {
+        res += _slash;
+        res += _slash;
+    }
+    if (authority) {
+        var idx = authority.indexOf('@');
+        if (idx !== -1) {
+            // <user>@<auth>
+            var userinfo = authority.substr(0, idx);
+            authority = authority.substr(idx + 1);
+            idx = userinfo.indexOf(':');
+            if (idx === -1) {
+                res += encoder(userinfo, false);
+            }
+            else {
+                // <user>:<pass>@<auth>
+                res += encoder(userinfo.substr(0, idx), false);
+                res += ':';
+                res += encoder(userinfo.substr(idx + 1), false);
+            }
+            res += '@';
+        }
+        authority = authority.toLowerCase();
+        idx = authority.indexOf(':');
+        if (idx === -1) {
+            res += encoder(authority, false);
+        }
+        else {
+            // <auth>:<port>
+            res += encoder(authority.substr(0, idx), false);
+            res += authority.substr(idx);
+        }
+    }
+    if (path) {
+        // lower-case windows drive letters in /C:/fff or C:/fff
+        if (path.length >= 3 && path.charCodeAt(0) === 47 /* Slash */ && path.charCodeAt(2) === 58 /* Colon */) {
+            var code = path.charCodeAt(1);
+            if (code >= 65 /* A */ && code <= 90 /* Z */) {
+                path = "/" + String.fromCharCode(code + 32) + ":" + path.substr(3); // "/c:".length === 3
+            }
+        }
+        else if (path.length >= 2 && path.charCodeAt(1) === 58 /* Colon */) {
+            var code = path.charCodeAt(0);
+            if (code >= 65 /* A */ && code <= 90 /* Z */) {
+                path = String.fromCharCode(code + 32) + ":" + path.substr(2); // "/c:".length === 3
+            }
+        }
+        // encode the rest of the path
+        res += encoder(path, true);
+    }
+    if (query) {
+        res += '?';
+        res += encoder(query, false);
+    }
+    if (fragment) {
+        res += '#';
+        res += !skipEncoding ? encodeURIComponentFast(fragment, false) : fragment;
+    }
+    return res;
+}
+// --- decode
+function decodeURIComponentGraceful(str) {
+    try {
+        return decodeURIComponent(str);
+    }
+    catch (_a) {
+        if (str.length > 3) {
+            return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));
+        }
+        else {
+            return str;
+        }
+    }
+}
+var _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
+function percentDecode(str) {
+    if (!str.match(_rEncodedAsHex)) {
+        return str;
+    }
+    return str.replace(_rEncodedAsHex, function (match) { return decodeURIComponentGraceful(match); });
+}
+
+
+/***/ }),
+/* 36 */
 /***/ (function(module, exports) {
 
 module.exports = require("coc.nvim");
 
+/***/ }),
+/* 37 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.joinPath = exports.normalizePath = exports.resolvePath = exports.isAbsolutePath = exports.basename = exports.dirname = exports.getScheme = void 0;
+function getScheme(uri) {
+    return uri.substr(0, uri.indexOf(':'));
+}
+exports.getScheme = getScheme;
+function dirname(uri) {
+    const lastIndexOfSlash = uri.lastIndexOf('/');
+    return lastIndexOfSlash !== -1 ? uri.substr(0, lastIndexOfSlash) : '';
+}
+exports.dirname = dirname;
+function basename(uri) {
+    const lastIndexOfSlash = uri.lastIndexOf('/');
+    return uri.substr(lastIndexOfSlash + 1);
+}
+exports.basename = basename;
+const Slash = '/'.charCodeAt(0);
+const Dot = '.'.charCodeAt(0);
+function isAbsolutePath(path) {
+    return path.charCodeAt(0) === Slash;
+}
+exports.isAbsolutePath = isAbsolutePath;
+function resolvePath(uri, path) {
+    if (isAbsolutePath(path)) {
+        return uri.with({ path: normalizePath(path.split('/')) });
+    }
+    return joinPath(uri, path);
+}
+exports.resolvePath = resolvePath;
+function normalizePath(parts) {
+    const newParts = [];
+    for (const part of parts) {
+        if (part.length === 0 || part.length === 1 && part.charCodeAt(0) === Dot) {
+            // ignore
+        }
+        else if (part.length === 2 && part.charCodeAt(0) === Dot && part.charCodeAt(1) === Dot) {
+            newParts.pop();
+        }
+        else {
+            newParts.push(part);
+        }
+    }
+    if (parts.length > 1 && parts[parts.length - 1].length === 0) {
+        newParts.push('');
+    }
+    let res = newParts.join('/');
+    if (parts[0].length === 0) {
+        res = '/' + res;
+    }
+    return res;
+}
+exports.normalizePath = normalizePath;
+function joinPath(uri, ...paths) {
+    const parts = uri.path.split('/');
+    for (let path of paths) {
+        parts.push(...path.split('/'));
+    }
+    return uri.with({ path: normalizePath(parts) });
+}
+exports.joinPath = joinPath;
+
+
+/***/ }),
+/* 38 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = string => {
+       if (typeof string !== 'string') {
+               throw new TypeError(`Expected a string, got ${typeof string}`);
+       }
+
+       // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
+       // conversion translates it to FEFF (UTF-16 BOM)
+       if (string.charCodeAt(0) === 0xFEFF) {
+               return string.slice(1);
+       }
+
+       return string;
+};
+
+
 /***/ })
 /******/ ])));
\ No newline at end of file