Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-eslint / lib / index.js
index 5bcbccb7f838cf0f15834b1d2552346874b82814..9fed28e114e3501494924c31d7ff4d0a57d6a6fa 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) : adopt(result.value).then(fulfilled, rejected); }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-    });
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
@@ -107,7 +98,7 @@ const coc_nvim_1 = __webpack_require__(1);
 const fs_1 = __importDefault(__webpack_require__(2));
 const path_1 = __importDefault(__webpack_require__(3));
 const vscode_languageserver_protocol_1 = __webpack_require__(4);
-const utils_1 = __webpack_require__(31);
+const utils_1 = __webpack_require__(33);
 const defaultLanguages = ['javascript', 'javascriptreact', 'typescript', 'typescriptreact'];
 var Is;
 (function (Is) {
@@ -145,30 +136,28 @@ var NoESLintLibraryRequest;
     NoESLintLibraryRequest.type = new vscode_languageserver_protocol_1.RequestType('eslint/noLibrary');
 })(NoESLintLibraryRequest || (NoESLintLibraryRequest = {}));
 const exitCalled = new vscode_languageserver_protocol_1.NotificationType('eslint/exitCalled');
-function createDefaultConfiguration() {
-    return __awaiter(this, void 0, void 0, function* () {
-        let { root } = coc_nvim_1.workspace;
-        let configFiles = [
-            '.eslintrc.js',
-            '.eslintrc.yaml',
-            '.eslintrc.yml',
-            '.eslintrc',
-            '.eslintrc.json'
-        ];
-        for (let configFile of configFiles) {
-            if (fs_1.default.existsSync(path_1.default.join(root, configFile))) {
-                coc_nvim_1.workspace.openResource(coc_nvim_1.Uri.file(root).toString()).catch(_e => {
-                    // noop
-                });
-                return;
-            }
+async function createDefaultConfiguration() {
+    let { root } = coc_nvim_1.workspace;
+    let configFiles = [
+        '.eslintrc.js',
+        '.eslintrc.yaml',
+        '.eslintrc.yml',
+        '.eslintrc',
+        '.eslintrc.json'
+    ];
+    for (let configFile of configFiles) {
+        if (fs_1.default.existsSync(path_1.default.join(root, configFile))) {
+            coc_nvim_1.workspace.openResource(coc_nvim_1.Uri.file(root).toString()).catch(_e => {
+                // noop
+            });
+            return;
         }
-        const eslintCommand = yield utils_1.findEslint(root);
-        yield coc_nvim_1.workspace.nvim.call('coc#util#open_terminal', [{
-                cmd: eslintCommand + ' --init',
-                cwd: root
-            }]);
-    });
+    }
+    const eslintCommand = await utils_1.findEslint(root);
+    await coc_nvim_1.workspace.nvim.call('coc#util#open_terminal', [{
+            cmd: eslintCommand + ' --init',
+            cwd: root
+        }]);
 }
 function shouldBeValidated(textDocument) {
     let config = coc_nvim_1.workspace.getConfiguration('eslint', textDocument.uri);
@@ -177,173 +166,187 @@ function shouldBeValidated(textDocument) {
     let filetypes = config.get('filetypes', defaultLanguages);
     return filetypes.indexOf(textDocument.languageId) !== -1;
 }
-function activate(context) {
-    return __awaiter(this, void 0, void 0, function* () {
-        let { subscriptions } = context;
-        const config = coc_nvim_1.workspace.getConfiguration().get('eslint', {});
-        const filetypes = config.filetypes || defaultLanguages;
-        const selector = filetypes.reduce((res, filetype) => {
-            return res.concat([{ language: filetype, scheme: 'file' }, { language: filetype, scheme: 'untitled' }]);
-        }, []);
-        let serverOptions = {
-            module: context.asAbsolutePath('./lib/server.js'),
-            args: ['--node-ipc'],
-            transport: coc_nvim_1.TransportKind.ipc,
-            options: {
-                cwd: coc_nvim_1.workspace.root,
-                execArgv: config.execArgv
-            }
-        };
-        const syncedDocuments = new Map();
-        let clientOptions = {
-            documentSelector: selector,
-            synchronize: {
-                configurationSection: 'eslint',
-                fileEvents: [
-                    coc_nvim_1.workspace.createFileSystemWatcher('**/.eslintr{c.js,c.yaml,c.yml,c,c.json}'),
-                    coc_nvim_1.workspace.createFileSystemWatcher('**/.eslintignore'),
-                    coc_nvim_1.workspace.createFileSystemWatcher('**/package.json')
-                ]
+async function activate(context) {
+    let { subscriptions } = context;
+    const config = coc_nvim_1.workspace.getConfiguration().get('eslint', {});
+    const filetypes = config.filetypes || defaultLanguages;
+    const selector = filetypes.reduce((res, filetype) => {
+        return res.concat([{ language: filetype, scheme: 'file' }, { language: filetype, scheme: 'untitled' }]);
+    }, []);
+    const nodeEnv = config.nodeEnv;
+    let env;
+    if (nodeEnv)
+        env = { nodeEnv };
+    let serverOptions = {
+        runtime: config.runtime,
+        module: context.asAbsolutePath('./lib/server.js'),
+        args: ['--node-ipc'],
+        transport: coc_nvim_1.TransportKind.ipc,
+        options: {
+            cwd: coc_nvim_1.workspace.root,
+            execArgv: config.execArgv,
+            env
+        }
+    };
+    const syncedDocuments = new Map();
+    let clientOptions = {
+        documentSelector: selector,
+        synchronize: {
+            configurationSection: 'eslint',
+            fileEvents: [
+                coc_nvim_1.workspace.createFileSystemWatcher('**/.eslintr{c.js,c.yaml,c.yml,c,c.json}'),
+                coc_nvim_1.workspace.createFileSystemWatcher('**/.eslintignore'),
+                coc_nvim_1.workspace.createFileSystemWatcher('**/package.json')
+            ]
+        },
+        outputChannelName: 'eslint',
+        initializationOptions: config.initializationOptions,
+        diagnosticCollectionName: 'eslint',
+        initializationFailedHandler: error => {
+            coc_nvim_1.workspace.showMessage(`Eslint server initialization failed: ${error.message}.`, 'error');
+            return false;
+        },
+        middleware: {
+            didOpen: (document, next) => {
+                if (shouldBeValidated(document)) {
+                    next(document);
+                    syncedDocuments.set(document.uri.toString(), document);
+                    return;
+                }
             },
-            outputChannelName: 'eslint',
-            initializationOptions: config.initializationOptions,
-            diagnosticCollectionName: 'eslint',
-            initializationFailedHandler: error => {
-                coc_nvim_1.workspace.showMessage(`Eslint server initialization failed: ${error.message}.`, 'error');
-                return false;
+            didChange: (event, next) => {
+                if (syncedDocuments.has(event.textDocument.uri)) {
+                    next(event);
+                }
             },
-            middleware: {
-                didOpen: (document, next) => {
-                    if (shouldBeValidated(document)) {
-                        next(document);
-                        syncedDocuments.set(document.uri.toString(), document);
-                        return;
-                    }
-                },
-                didChange: (event, next) => {
-                    if (syncedDocuments.has(event.textDocument.uri)) {
-                        next(event);
-                    }
-                },
-                didClose: (document, next) => {
-                    let uri = document.uri.toString();
-                    if (syncedDocuments.has(uri)) {
-                        syncedDocuments.delete(uri);
-                        next(document);
-                    }
-                },
-                provideCodeActions: (document, range, context, token, next) => {
-                    if (!syncedDocuments.has(document.uri.toString()) || !context.diagnostics || context.diagnostics.length === 0) {
-                        return [];
-                    }
-                    let eslintDiagnostics = [];
-                    for (let diagnostic of context.diagnostics) {
-                        if (diagnostic.source === 'eslint') {
-                            eslintDiagnostics.push(diagnostic);
-                        }
-                    }
-                    if (eslintDiagnostics.length === 0) {
-                        return [];
-                    }
-                    let newContext = Object.assign({}, context, {
-                        diagnostics: eslintDiagnostics
-                    });
-                    return next(document, range, newContext, token);
-                },
-                workspace: {
-                    configuration: (params, _token, _next) => {
-                        return params.items.map(item => {
-                            let uri = item.scopeUri;
-                            let config = coc_nvim_1.workspace.getConfiguration('eslint', uri);
-                            let pm = config.get('packageManager', 'npm');
-                            let settings = {
-                                packageManager: pm === 'yarn' ? 'yarn' : 'npm',
-                                quiet: config.get('quiet', false),
-                                validate: config.get('validate', true),
-                                autoFix: config.get('autoFix', false),
-                                autoFixOnSave: config.get('autoFixOnSave', false),
-                                nodePath: config.get('nodePath', undefined),
-                                options: config.get('options', {}),
-                                run: config.get('run', 'onType'),
-                                workspaceFolder: getWorkspaceFolder(uri),
-                                workingDirectory: undefined,
-                                codeAction: {
-                                    disableRuleComment: config.get('codeAction.disableRuleComment', { enable: true, location: 'separateLine' }),
-                                    showDocumentation: config.get('codeAction.showDocumentation', { enable: true })
-                                }
-                            };
-                            return settings;
-                        });
+            didClose: (document, next) => {
+                let uri = document.uri.toString();
+                if (syncedDocuments.has(uri)) {
+                    syncedDocuments.delete(uri);
+                    next(document);
+                }
+            },
+            provideCodeActions: (document, range, context, token, next) => {
+                if (!syncedDocuments.has(document.uri.toString()) || !context.diagnostics || context.diagnostics.length === 0) {
+                    return [];
+                }
+                let eslintDiagnostics = [];
+                for (let diagnostic of context.diagnostics) {
+                    if (diagnostic.source === 'eslint') {
+                        eslintDiagnostics.push(diagnostic);
                     }
                 }
-            }
-        };
-        let client = new coc_nvim_1.LanguageClient('eslint', 'eslint langserver', serverOptions, clientOptions);
-        subscriptions.push(coc_nvim_1.services.registLanguageClient(client));
-        function onDidChangeConfiguration(e) {
-            if (!e.affectsConfiguration('eslint'))
-                return;
-            if (client.serviceState != coc_nvim_1.ServiceStat.Running)
-                return;
-            for (let textDocument of syncedDocuments.values()) {
-                if (!shouldBeValidated(textDocument)) {
-                    syncedDocuments.delete(textDocument.uri);
-                    client.sendNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type, { textDocument: { uri: textDocument.uri } });
+                if (eslintDiagnostics.length === 0) {
+                    return [];
                 }
-            }
-            for (let textDocument of coc_nvim_1.workspace.textDocuments) {
-                if (!syncedDocuments.has(textDocument.uri.toString()) && shouldBeValidated(textDocument)) {
-                    client.sendNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type, {
-                        textDocument: {
-                            uri: textDocument.uri,
-                            languageId: textDocument.languageId,
-                            version: textDocument.version,
-                            text: textDocument.getText()
-                        }
+                let newContext = Object.assign({}, context, {
+                    diagnostics: eslintDiagnostics
+                });
+                return next(document, range, newContext, token);
+            },
+            workspace: {
+                configuration: (params, _token, _next) => {
+                    return params.items.map(item => {
+                        let uri = item.scopeUri;
+                        let config = coc_nvim_1.workspace.getConfiguration('eslint', uri);
+                        let pm = config.get('packageManager', 'npm');
+                        let settings = {
+                            packageManager: pm === 'yarn' ? 'yarn' : 'npm',
+                            quiet: config.get('quiet', false),
+                            validate: config.get('validate', true),
+                            autoFix: config.get('autoFix', false),
+                            autoFixOnSave: config.get('autoFixOnSave', false),
+                            autoFixSkipRules: config.get('autoFixSkipRules', []),
+                            nodePath: config.get('nodePath', undefined),
+                            options: config.get('options', {}),
+                            run: config.get('run', 'onType'),
+                            workspaceFolder: getWorkspaceFolder(uri),
+                            workingDirectory: undefined,
+                            codeAction: {
+                                disableRuleComment: config.get('codeAction.disableRuleComment', { enable: true, location: 'separateLine' }),
+                                showDocumentation: config.get('codeAction.showDocumentation', { enable: true })
+                            }
+                        };
+                        return settings;
                     });
-                    syncedDocuments.set(textDocument.uri.toString(), textDocument);
                 }
             }
         }
-        subscriptions.push(coc_nvim_1.commands.registerCommand('eslint.createConfig', createDefaultConfiguration));
-        subscriptions.push(coc_nvim_1.commands.registerCommand('eslint.executeAutofix', () => __awaiter(this, void 0, void 0, function* () {
-            let document = yield coc_nvim_1.workspace.document;
-            let textDocument = {
-                uri: document.uri,
-                version: document.version
-            };
-            let params = {
-                command: 'eslint.applyAutoFix',
-                arguments: [textDocument]
-            };
-            client.sendRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type, params)
-                .then(undefined, () => {
-                coc_nvim_1.workspace.showMessage('Failed to apply ESLint fixes to the document.', 'error');
-            });
-        })));
-        client.onReady().then(() => {
-            client.onNotification(exitCalled, params => {
-                coc_nvim_1.workspace.showMessage(`Server process exited with code ${params[0]}. This usually indicates a misconfigured ESLint setup.`, 'error');
-            });
-            client.onRequest(NoConfigRequest.type, params => {
-                let document = coc_nvim_1.Uri.parse(params.document.uri);
-                let fileLocation = document.fsPath;
-                coc_nvim_1.workspace.showMessage(`No ESLint configuration (e.g .eslintrc) found for file: ${fileLocation}`, 'warning');
-                return {};
-            });
-            client.onRequest(NoESLintLibraryRequest.type, params => {
-                let uri = coc_nvim_1.Uri.parse(params.source.uri);
-                coc_nvim_1.workspace.showMessage(`Failed to load the ESLint library for the document ${uri.fsPath}`, 'warning');
-                return {};
-            });
-            client.onRequest(OpenESLintDocRequest.type, (params) => __awaiter(this, void 0, void 0, function* () {
-                yield coc_nvim_1.commands.executeCommand('vscode.open', coc_nvim_1.Uri.parse(params.url));
-                return {};
-            }));
-            coc_nvim_1.workspace.onDidChangeConfiguration(onDidChangeConfiguration, null, subscriptions);
-        }, _e => {
-            // noop
+    };
+    let client = new coc_nvim_1.LanguageClient('eslint', 'eslint langserver', serverOptions, clientOptions);
+    subscriptions.push(coc_nvim_1.services.registLanguageClient(client));
+    function onDidChangeConfiguration(e) {
+        if (!e.affectsConfiguration('eslint') || client.serviceState != coc_nvim_1.ServiceStat.Running)
+            return;
+        for (let textDocument of syncedDocuments.values()) {
+            if (!shouldBeValidated(textDocument)) {
+                syncedDocuments.delete(textDocument.uri);
+                client.sendNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type, { textDocument: { uri: textDocument.uri } });
+            }
+        }
+        for (let textDocument of coc_nvim_1.workspace.textDocuments) {
+            if (!syncedDocuments.has(textDocument.uri.toString()) && shouldBeValidated(textDocument)) {
+                client.sendNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type, {
+                    textDocument: {
+                        uri: textDocument.uri,
+                        languageId: textDocument.languageId,
+                        version: textDocument.version,
+                        text: textDocument.getText()
+                    }
+                });
+                syncedDocuments.set(textDocument.uri.toString(), textDocument);
+            }
+        }
+    }
+    subscriptions.push(coc_nvim_1.commands.registerCommand('eslint.createConfig', createDefaultConfiguration));
+    subscriptions.push(coc_nvim_1.commands.registerCommand('eslint.executeAutofix', async () => {
+        let document = await coc_nvim_1.workspace.document;
+        if (!shouldBeValidated(document.textDocument)) {
+            coc_nvim_1.workspace.showMessage(`Current filetype ${document.textDocument.languageId} is not handled by coc-eslint.`, 'warning');
+            return;
+        }
+        await client.onReady();
+        let textDocument = {
+            uri: document.uri,
+            version: document.version
+        };
+        let params = {
+            command: 'eslint.applyAutoFix',
+            arguments: [textDocument]
+        };
+        client.sendRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type, params)
+            .then(undefined, () => {
+            coc_nvim_1.workspace.showMessage('Failed to apply ESLint fixes to the document.', 'error');
+        });
+    }));
+    client.onReady().then(() => {
+        client.onNotification(exitCalled, params => {
+            coc_nvim_1.workspace.showMessage(`Server process exited with code ${params[0]}. This usually indicates a misconfigured ESLint setup.`, 'error');
         });
+        client.onRequest(NoConfigRequest.type, params => {
+            let uri = coc_nvim_1.Uri.parse(params.document.uri);
+            let config = coc_nvim_1.workspace.getConfiguration('eslint', uri.toString());
+            if (config.get('quiet', false))
+                return;
+            let fileLocation = uri.fsPath;
+            coc_nvim_1.workspace.showMessage(`No ESLint configuration (e.g .eslintrc) found for file: ${fileLocation}`, 'warning');
+            return {};
+        });
+        client.onRequest(NoESLintLibraryRequest.type, params => {
+            let uri = coc_nvim_1.Uri.parse(params.source.uri);
+            let config = coc_nvim_1.workspace.getConfiguration('eslint', uri.toString());
+            if (config.get('quiet', false))
+                return;
+            coc_nvim_1.workspace.showMessage(`Failed to load the ESLint library for the document ${uri.fsPath}`, 'warning');
+            return {};
+        });
+        client.onRequest(OpenESLintDocRequest.type, async (params) => {
+            await coc_nvim_1.commands.executeCommand('vscode.open', coc_nvim_1.Uri.parse(params.url));
+            return {};
+        });
+        coc_nvim_1.workspace.onDidChangeConfiguration(onDidChangeConfiguration, null, subscriptions);
+    }, _e => {
+        // noop
     });
 }
 exports.activate = activate;
@@ -417,7 +420,8 @@ exports.createServerSocketTransport = vscode_jsonrpc_1.createServerSocketTranspo
 exports.ProgressType = vscode_jsonrpc_1.ProgressType;\r
 __export(__webpack_require__(18));\r
 __export(__webpack_require__(19));\r
-const callHierarchy = __webpack_require__(30);\r
+const callHierarchy = __webpack_require__(31);\r
+const st = __webpack_require__(32);\r
 var Proposed;\r
 (function (Proposed) {\r
     let CallHierarchyPrepareRequest;\r
@@ -428,15 +432,31 @@ var Proposed;
     let CallHierarchyIncomingCallsRequest;\r
     (function (CallHierarchyIncomingCallsRequest) {\r
         CallHierarchyIncomingCallsRequest.method = callHierarchy.CallHierarchyIncomingCallsRequest.method;\r
-        CallHierarchyIncomingCallsRequest.type = callHierarchy.CallHierarchyIncomingCallsRequest;\r
-        CallHierarchyIncomingCallsRequest.resultType = callHierarchy.CallHierarchyIncomingCallsRequest.resultType;\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;\r
-        CallHierarchyOutgoingCallsRequest.resultType = callHierarchy.CallHierarchyOutgoingCallsRequest.resultType;\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
@@ -515,7 +535,6 @@ var ProgressNotification;
 })(ProgressNotification || (ProgressNotification = {}));\r
 class ProgressType {\r
     constructor() {\r
-        this._ = undefined;\r
     }\r
 }\r
 exports.ProgressType = ProgressType;\r
@@ -1526,84 +1545,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
@@ -1614,70 +1631,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
@@ -4390,25 +4397,26 @@ var Is;
 Object.defineProperty(exports, "__esModule", { value: true });\r
 const Is = __webpack_require__(20);\r
 const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const protocol_implementation_1 = __webpack_require__(21);\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__(22);\r
+const protocol_typeDefinition_1 = __webpack_require__(23);\r
 exports.TypeDefinitionRequest = protocol_typeDefinition_1.TypeDefinitionRequest;\r
-const protocol_workspaceFolders_1 = __webpack_require__(23);\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__(24);\r
+const protocol_configuration_1 = __webpack_require__(25);\r
 exports.ConfigurationRequest = protocol_configuration_1.ConfigurationRequest;\r
-const protocol_colorProvider_1 = __webpack_require__(25);\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__(26);\r
+const protocol_foldingRange_1 = __webpack_require__(27);\r
 exports.FoldingRangeRequest = protocol_foldingRange_1.FoldingRangeRequest;\r
-const protocol_declaration_1 = __webpack_require__(27);\r
+const protocol_declaration_1 = __webpack_require__(28);\r
 exports.DeclarationRequest = protocol_declaration_1.DeclarationRequest;\r
-const protocol_selectionRange_1 = __webpack_require__(28);\r
+const protocol_selectionRange_1 = __webpack_require__(29);\r
 exports.SelectionRangeRequest = protocol_selectionRange_1.SelectionRangeRequest;\r
-const protocol_progress_1 = __webpack_require__(29);\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
@@ -4451,7 +4459,7 @@ var DocumentSelector;
  */\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
@@ -4459,7 +4467,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
@@ -4496,7 +4504,7 @@ 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
@@ -4550,7 +4558,7 @@ var WorkDoneProgressOptions;
  */\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
@@ -4571,7 +4579,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
@@ -4582,7 +4590,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
@@ -4591,7 +4599,7 @@ 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
 /**\r
  * The configuration change notification is sent from the client to the server\r
@@ -4600,7 +4608,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
@@ -4631,7 +4639,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
@@ -4639,7 +4647,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
@@ -4647,7 +4655,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
@@ -4656,7 +4664,7 @@ 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
@@ -4693,7 +4701,7 @@ var TextDocumentSyncKind;
 var DidOpenTextDocumentNotification;\r
 (function (DidOpenTextDocumentNotification) {\r
     DidOpenTextDocumentNotification.method = 'textDocument/didOpen';\r
-    DidOpenTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType(DidOpenTextDocumentNotification.method);\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
@@ -4702,7 +4710,7 @@ var DidOpenTextDocumentNotification;
 var DidChangeTextDocumentNotification;\r
 (function (DidChangeTextDocumentNotification) {\r
     DidChangeTextDocumentNotification.method = 'textDocument/didChange';\r
-    DidChangeTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType(DidChangeTextDocumentNotification.method);\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
@@ -4716,7 +4724,7 @@ var DidChangeTextDocumentNotification;
 var DidCloseTextDocumentNotification;\r
 (function (DidCloseTextDocumentNotification) {\r
     DidCloseTextDocumentNotification.method = 'textDocument/didClose';\r
-    DidCloseTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType(DidCloseTextDocumentNotification.method);\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
@@ -4725,7 +4733,7 @@ var DidCloseTextDocumentNotification;
 var DidSaveTextDocumentNotification;\r
 (function (DidSaveTextDocumentNotification) {\r
     DidSaveTextDocumentNotification.method = 'textDocument/didSave';\r
-    DidSaveTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType(DidSaveTextDocumentNotification.method);\r
+    DidSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification.method);\r
 })(DidSaveTextDocumentNotification = exports.DidSaveTextDocumentNotification || (exports.DidSaveTextDocumentNotification = {}));\r
 /**\r
  * Represents reasons why a text document is saved.\r
@@ -4753,7 +4761,7 @@ var TextDocumentSaveReason;
 var WillSaveTextDocumentNotification;\r
 (function (WillSaveTextDocumentNotification) {\r
     WillSaveTextDocumentNotification.method = 'textDocument/willSave';\r
-    WillSaveTextDocumentNotification.type = new vscode_jsonrpc_1.NotificationType(WillSaveTextDocumentNotification.method);\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
@@ -4766,7 +4774,7 @@ var WillSaveTextDocumentNotification;
 var WillSaveTextDocumentWaitUntilRequest;\r
 (function (WillSaveTextDocumentWaitUntilRequest) {\r
     WillSaveTextDocumentWaitUntilRequest.method = 'textDocument/willSaveWaitUntil';\r
-    WillSaveTextDocumentWaitUntilRequest.type = new vscode_jsonrpc_1.RequestType(WillSaveTextDocumentWaitUntilRequest.method);\r
+    WillSaveTextDocumentWaitUntilRequest.type = new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest.method);\r
 })(WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentWaitUntilRequest || (exports.WillSaveTextDocumentWaitUntilRequest = {}));\r
 /**\r
  * The watched files notification is sent from the client to the server when\r
@@ -4774,7 +4782,7 @@ var WillSaveTextDocumentWaitUntilRequest;
  */\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
@@ -4815,7 +4823,7 @@ var WatchKind;
  */\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
@@ -4851,7 +4859,8 @@ var CompletionTriggerKind;
 var CompletionRequest;\r
 (function (CompletionRequest) {\r
     CompletionRequest.method = 'textDocument/completion';\r
-    CompletionRequest.type = new vscode_jsonrpc_1.RequestType(CompletionRequest.method);\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
@@ -4862,7 +4871,7 @@ var CompletionRequest;
 var CompletionResolveRequest;\r
 (function (CompletionResolveRequest) {\r
     CompletionResolveRequest.method = 'completionItem/resolve';\r
-    CompletionResolveRequest.type = new vscode_jsonrpc_1.RequestType(CompletionResolveRequest.method);\r
+    CompletionResolveRequest.type = new messages_1.ProtocolRequestType(CompletionResolveRequest.method);\r
 })(CompletionResolveRequest = exports.CompletionResolveRequest || (exports.CompletionResolveRequest = {}));\r
 /**\r
  * Request to request hover information at a given text document position. The request's\r
@@ -4872,7 +4881,7 @@ var CompletionResolveRequest;
 var HoverRequest;\r
 (function (HoverRequest) {\r
     HoverRequest.method = 'textDocument/hover';\r
-    HoverRequest.type = new vscode_jsonrpc_1.RequestType(HoverRequest.method);\r
+    HoverRequest.type = new messages_1.ProtocolRequestType(HoverRequest.method);\r
 })(HoverRequest = exports.HoverRequest || (exports.HoverRequest = {}));\r
 /**\r
  * How a signature help was triggered.\r
@@ -4897,7 +4906,7 @@ var SignatureHelpTriggerKind;
 var SignatureHelpRequest;\r
 (function (SignatureHelpRequest) {\r
     SignatureHelpRequest.method = 'textDocument/signatureHelp';\r
-    SignatureHelpRequest.type = new vscode_jsonrpc_1.RequestType(SignatureHelpRequest.method);\r
+    SignatureHelpRequest.type = new messages_1.ProtocolRequestType(SignatureHelpRequest.method);\r
 })(SignatureHelpRequest = exports.SignatureHelpRequest || (exports.SignatureHelpRequest = {}));\r
 /**\r
  * A request to resolve the definition location of a symbol at a given text\r
@@ -4909,7 +4918,8 @@ var SignatureHelpRequest;
 var DefinitionRequest;\r
 (function (DefinitionRequest) {\r
     DefinitionRequest.method = 'textDocument/definition';\r
-    DefinitionRequest.type = new vscode_jsonrpc_1.RequestType(DefinitionRequest.method);\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
@@ -4921,7 +4931,8 @@ var DefinitionRequest;
 var ReferencesRequest;\r
 (function (ReferencesRequest) {\r
     ReferencesRequest.method = 'textDocument/references';\r
-    ReferencesRequest.type = new vscode_jsonrpc_1.RequestType(ReferencesRequest.method);\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
 /**\r
@@ -4933,7 +4944,8 @@ var ReferencesRequest;
 var DocumentHighlightRequest;\r
 (function (DocumentHighlightRequest) {\r
     DocumentHighlightRequest.method = 'textDocument/documentHighlight';\r
-    DocumentHighlightRequest.type = new vscode_jsonrpc_1.RequestType(DocumentHighlightRequest.method);\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
 /**\r
@@ -4945,7 +4957,8 @@ var DocumentHighlightRequest;
 var DocumentSymbolRequest;\r
 (function (DocumentSymbolRequest) {\r
     DocumentSymbolRequest.method = 'textDocument/documentSymbol';\r
-    DocumentSymbolRequest.type = new vscode_jsonrpc_1.RequestType(DocumentSymbolRequest.method);\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
 /**\r
@@ -4954,7 +4967,8 @@ var DocumentSymbolRequest;
 var CodeActionRequest;\r
 (function (CodeActionRequest) {\r
     CodeActionRequest.method = 'textDocument/codeAction';\r
-    CodeActionRequest.type = new vscode_jsonrpc_1.RequestType(CodeActionRequest.method);\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
@@ -4966,7 +4980,8 @@ var CodeActionRequest;
 var WorkspaceSymbolRequest;\r
 (function (WorkspaceSymbolRequest) {\r
     WorkspaceSymbolRequest.method = 'workspace/symbol';\r
-    WorkspaceSymbolRequest.type = new vscode_jsonrpc_1.RequestType(WorkspaceSymbolRequest.method);\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
@@ -4974,7 +4989,8 @@ var WorkspaceSymbolRequest;
  */\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
@@ -4982,7 +4998,7 @@ var CodeLensRequest;
  */\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
@@ -4990,7 +5006,8 @@ var CodeLensResolveRequest;
 var DocumentLinkRequest;\r
 (function (DocumentLinkRequest) {\r
     DocumentLinkRequest.method = 'textDocument/documentLink';\r
-    DocumentLinkRequest.type = new vscode_jsonrpc_1.RequestType(DocumentLinkRequest.method);\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
@@ -5000,7 +5017,7 @@ var DocumentLinkRequest;
  */\r
 var DocumentLinkResolveRequest;\r
 (function (DocumentLinkResolveRequest) {\r
-    DocumentLinkResolveRequest.type = new vscode_jsonrpc_1.RequestType('documentLink/resolve');\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
@@ -5008,7 +5025,7 @@ var DocumentLinkResolveRequest;
 var DocumentFormattingRequest;\r
 (function (DocumentFormattingRequest) {\r
     DocumentFormattingRequest.method = 'textDocument/formatting';\r
-    DocumentFormattingRequest.type = new vscode_jsonrpc_1.RequestType(DocumentFormattingRequest.method);\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
@@ -5016,7 +5033,7 @@ var DocumentFormattingRequest;
 var DocumentRangeFormattingRequest;\r
 (function (DocumentRangeFormattingRequest) {\r
     DocumentRangeFormattingRequest.method = 'textDocument/rangeFormatting';\r
-    DocumentRangeFormattingRequest.type = new vscode_jsonrpc_1.RequestType(DocumentRangeFormattingRequest.method);\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
@@ -5024,7 +5041,7 @@ var DocumentRangeFormattingRequest;
 var DocumentOnTypeFormattingRequest;\r
 (function (DocumentOnTypeFormattingRequest) {\r
     DocumentOnTypeFormattingRequest.method = 'textDocument/onTypeFormatting';\r
-    DocumentOnTypeFormattingRequest.type = new vscode_jsonrpc_1.RequestType(DocumentOnTypeFormattingRequest.method);\r
+    DocumentOnTypeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest.method);\r
 })(DocumentOnTypeFormattingRequest = exports.DocumentOnTypeFormattingRequest || (exports.DocumentOnTypeFormattingRequest = {}));\r
 /**\r
  * A request to rename a symbol.\r
@@ -5032,7 +5049,7 @@ var DocumentOnTypeFormattingRequest;
 var RenameRequest;\r
 (function (RenameRequest) {\r
     RenameRequest.method = 'textDocument/rename';\r
-    RenameRequest.type = new vscode_jsonrpc_1.RequestType(RenameRequest.method);\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
@@ -5040,7 +5057,7 @@ var RenameRequest;
 var PrepareRenameRequest;\r
 (function (PrepareRenameRequest) {\r
     PrepareRenameRequest.method = 'textDocument/prepareRename';\r
-    PrepareRenameRequest.type = new vscode_jsonrpc_1.RequestType(PrepareRenameRequest.method);\r
+    PrepareRenameRequest.type = new messages_1.ProtocolRequestType(PrepareRenameRequest.method);\r
 })(PrepareRenameRequest = exports.PrepareRenameRequest || (exports.PrepareRenameRequest = {}));\r
 /**\r
  * A request send from the client to the server to execute a command. The request might return\r
@@ -5048,14 +5065,14 @@ var PrepareRenameRequest;
  */\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
 
 
@@ -5123,6 +5140,45 @@ exports.objectLiteral = objectLiteral;
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\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
@@ -5134,13 +5190,14 @@ let __noDynamicImport;
 var ImplementationRequest;\r
 (function (ImplementationRequest) {\r
     ImplementationRequest.method = 'textDocument/implementation';\r
-    ImplementationRequest.type = new vscode_jsonrpc_1.RequestType(ImplementationRequest.method);\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
 
 
 /***/ }),
-/* 22 */
+/* 23 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5151,6 +5208,7 @@ var ImplementationRequest;
 \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
@@ -5162,13 +5220,14 @@ let __noDynamicImport;
 var TypeDefinitionRequest;\r
 (function (TypeDefinitionRequest) {\r
     TypeDefinitionRequest.method = 'textDocument/typeDefinition';\r
-    TypeDefinitionRequest.type = new vscode_jsonrpc_1.RequestType(TypeDefinitionRequest.method);\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
 
 
 /***/ }),
-/* 23 */
+/* 24 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5178,13 +5237,13 @@ var TypeDefinitionRequest;
  * ------------------------------------------------------------------------------------------ */\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
  * 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
@@ -5192,12 +5251,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
 
 
 /***/ }),
-/* 24 */
+/* 25 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5207,7 +5266,7 @@ var DidChangeWorkspaceFoldersNotification;
  * ------------------------------------------------------------------------------------------ */\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
  * The 'workspace/configuration' request is sent from the server to the client to fetch a certain\r
  * configuration setting.\r
@@ -5219,12 +5278,12 @@ const vscode_jsonrpc_1 = __webpack_require__(5);
  */\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
 
 
 /***/ }),
-/* 25 */
+/* 26 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5235,6 +5294,7 @@ var ConfigurationRequest;
 \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 list all color symbols found in a given text document. The request's\r
  * parameter is of type [DocumentColorParams](#DocumentColorParams) the\r
@@ -5244,7 +5304,8 @@ const vscode_jsonrpc_1 = __webpack_require__(5);
 var DocumentColorRequest;\r
 (function (DocumentColorRequest) {\r
     DocumentColorRequest.method = 'textDocument/documentColor';\r
-    DocumentColorRequest.type = new vscode_jsonrpc_1.RequestType(DocumentColorRequest.method);\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
@@ -5255,12 +5316,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
 
 
 /***/ }),
-/* 26 */
+/* 27 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5271,6 +5332,7 @@ var ColorPresentationRequest;
  *--------------------------------------------------------------------------------------------*/\r
 Object.defineProperty(exports, "__esModule", { value: true });\r
 const vscode_jsonrpc_1 = __webpack_require__(5);\r
+const messages_1 = __webpack_require__(21);\r
 /**\r
  * Enum of known range kinds\r
  */\r
@@ -5298,13 +5360,14 @@ var FoldingRangeKind;
 var FoldingRangeRequest;\r
 (function (FoldingRangeRequest) {\r
     FoldingRangeRequest.method = 'textDocument/foldingRange';\r
-    FoldingRangeRequest.type = new vscode_jsonrpc_1.RequestType(FoldingRangeRequest.method);\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
 
 
 /***/ }),
-/* 27 */
+/* 28 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5315,6 +5378,7 @@ var FoldingRangeRequest;
 \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
@@ -5327,13 +5391,14 @@ let __noDynamicImport;
 var DeclarationRequest;\r
 (function (DeclarationRequest) {\r
     DeclarationRequest.method = 'textDocument/declaration';\r
-    DeclarationRequest.type = new vscode_jsonrpc_1.RequestType(DeclarationRequest.method);\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
 
 
 /***/ }),
-/* 28 */
+/* 29 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5344,6 +5409,7 @@ var DeclarationRequest;
  *--------------------------------------------------------------------------------------------*/\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
@@ -5353,13 +5419,14 @@ const vscode_jsonrpc_1 = __webpack_require__(5);
 var SelectionRangeRequest;\r
 (function (SelectionRangeRequest) {\r
     SelectionRangeRequest.method = 'textDocument/selectionRange';\r
-    SelectionRangeRequest.type = new vscode_jsonrpc_1.RequestType(SelectionRangeRequest.method);\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
 
 
 /***/ }),
-/* 29 */
+/* 30 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5370,6 +5437,7 @@ var SelectionRangeRequest;
 \r
 Object.defineProperty(exports, "__esModule", { value: true });\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
@@ -5380,7 +5448,7 @@ var WorkDoneProgress;
  */\r
 var WorkDoneProgressCreateRequest;\r
 (function (WorkDoneProgressCreateRequest) {\r
-    WorkDoneProgressCreateRequest.type = new vscode_jsonrpc_1.RequestType('window/workDoneProgress/create');\r
+    WorkDoneProgressCreateRequest.type = new messages_1.ProtocolRequestType('window/workDoneProgress/create');\r
 })(WorkDoneProgressCreateRequest = exports.WorkDoneProgressCreateRequest || (exports.WorkDoneProgressCreateRequest = {}));\r
 /**\r
  * The `window/workDoneProgress/cancel` notification is sent from  the client to the server to cancel a progress\r
@@ -5388,12 +5456,12 @@ var WorkDoneProgressCreateRequest;
  */\r
 var WorkDoneProgressCancelNotification;\r
 (function (WorkDoneProgressCancelNotification) {\r
-    WorkDoneProgressCancelNotification.type = new vscode_jsonrpc_1.NotificationType('window/workDoneProgress/cancel');\r
+    WorkDoneProgressCancelNotification.type = new messages_1.ProtocolNotificationType('window/workDoneProgress/cancel');\r
 })(WorkDoneProgressCancelNotification = exports.WorkDoneProgressCancelNotification || (exports.WorkDoneProgressCancelNotification = {}));\r
 
 
 /***/ }),
-/* 30 */
+/* 31 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5403,80 +5471,183 @@ var WorkDoneProgressCancelNotification;
  * ------------------------------------------------------------------------------------------ */\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 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 CallHierarchyPrepareRequest;\r
 (function (CallHierarchyPrepareRequest) {\r
     CallHierarchyPrepareRequest.method = 'textDocument/prepareCallHierarchy';\r
-    CallHierarchyPrepareRequest.type = new vscode_jsonrpc_1.RequestType(CallHierarchyPrepareRequest.method);\r
+    CallHierarchyPrepareRequest.type = new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest.method);\r
 })(CallHierarchyPrepareRequest = exports.CallHierarchyPrepareRequest || (exports.CallHierarchyPrepareRequest = {}));\r
+/**\r
+ * A request to resolve the incoming calls for a given `CallHierarchyItem`.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
 var CallHierarchyIncomingCallsRequest;\r
 (function (CallHierarchyIncomingCallsRequest) {\r
     CallHierarchyIncomingCallsRequest.method = 'callHierarchy/incomingCalls';\r
-    CallHierarchyIncomingCallsRequest.type = new vscode_jsonrpc_1.RequestType(CallHierarchyIncomingCallsRequest.method);\r
-    CallHierarchyIncomingCallsRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
+    CallHierarchyIncomingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest.method);\r
 })(CallHierarchyIncomingCallsRequest = exports.CallHierarchyIncomingCallsRequest || (exports.CallHierarchyIncomingCallsRequest = {}));\r
+/**\r
+ * A request to resolve the outgoing calls for a given `CallHierarchyItem`.\r
+ *\r
+ * @since 3.16.0 - Proposed state\r
+ */\r
 var CallHierarchyOutgoingCallsRequest;\r
 (function (CallHierarchyOutgoingCallsRequest) {\r
     CallHierarchyOutgoingCallsRequest.method = 'callHierarchy/outgoingCalls';\r
-    CallHierarchyOutgoingCallsRequest.type = new vscode_jsonrpc_1.RequestType(CallHierarchyOutgoingCallsRequest.method);\r
-    CallHierarchyOutgoingCallsRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
+    CallHierarchyOutgoingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest.method);\r
 })(CallHierarchyOutgoingCallsRequest = exports.CallHierarchyOutgoingCallsRequest || (exports.CallHierarchyOutgoingCallsRequest = {}));\r
 
 
 /***/ }),
-/* 31 */
+/* 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
+Object.defineProperty(exports, "__esModule", { value: true });\r
+const messages_1 = __webpack_require__(21);\r
+/**\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 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
+        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
+    SemanticTokens.is = is;\r
+})(SemanticTokens = exports.SemanticTokens || (exports.SemanticTokens = {}));\r
+/**\r
+ * @since 3.16.0 - Proposed state\r
+ */\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
+
+
+/***/ }),
+/* 33 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "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) : adopt(result.value).then(fulfilled, rejected); }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-    });
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
 Object.defineProperty(exports, "__esModule", { value: true });
 const path_1 = __importDefault(__webpack_require__(3));
 const fs_1 = __importDefault(__webpack_require__(2));
-const which_1 = __importDefault(__webpack_require__(32));
+const which_1 = __importDefault(__webpack_require__(34));
 function exists(file) {
     return fs_1.default.existsSync(file);
 }
-function findEslint(rootPath) {
-    return __awaiter(this, void 0, void 0, function* () {
-        const platform = process.platform;
-        if (platform === 'win32' &&
-            (exists(path_1.default.join(rootPath, 'node_modules', '.bin', 'eslint.cmd')))) {
-            return path_1.default.join('.', 'node_modules', '.bin', 'eslint.cmd');
-        }
-        else if ((platform === 'linux' || platform === 'darwin') &&
-            (exists(path_1.default.join(rootPath, 'node_modules', '.bin', 'eslint')))) {
-            return path_1.default.join('.', 'node_modules', '.bin', 'eslint');
-        }
-        else if (exists(path_1.default.join(rootPath, '.vscode', 'pnpify', 'eslint', 'bin', 'eslint.js'))) {
-            return path_1.default.join('.', '.vscode', 'pnpify', 'eslint', 'bin', 'eslint.js');
+async function findEslint(rootPath) {
+    const platform = process.platform;
+    if (platform === 'win32' &&
+        (exists(path_1.default.join(rootPath, 'node_modules', '.bin', 'eslint.cmd')))) {
+        return path_1.default.join('.', 'node_modules', '.bin', 'eslint.cmd');
+    }
+    else if ((platform === 'linux' || platform === 'darwin') &&
+        (exists(path_1.default.join(rootPath, 'node_modules', '.bin', 'eslint')))) {
+        return path_1.default.join('.', 'node_modules', '.bin', 'eslint');
+    }
+    else if (exists(path_1.default.join(rootPath, '.vscode', 'pnpify', 'eslint', 'bin', 'eslint.js'))) {
+        return path_1.default.join('.', '.vscode', 'pnpify', 'eslint', 'bin', 'eslint.js');
+    }
+    else {
+        try {
+            return which_1.default.sync('eslint');
         }
-        else {
-            try {
-                return which_1.default.sync('eslint');
-            }
-            catch (e) {
-                return '';
-            }
+        catch (e) {
+            return '';
         }
-    });
+    }
 }
 exports.findEslint = findEslint;
 
 
 /***/ }),
-/* 32 */
+/* 34 */
 /***/ (function(module, exports, __webpack_require__) {
 
 const isWindows = process.platform === 'win32' ||
@@ -5485,7 +5656,7 @@ const isWindows = process.platform === 'win32' ||
 
 const path = __webpack_require__(3)
 const COLON = isWindows ? ';' : ':'
-const isexe = __webpack_require__(33)
+const isexe = __webpack_require__(35)
 
 const getNotFoundError = (cmd) =>
   Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })
@@ -5607,15 +5778,15 @@ which.sync = whichSync
 
 
 /***/ }),
-/* 33 */
+/* 35 */
 /***/ (function(module, exports, __webpack_require__) {
 
 var fs = __webpack_require__(2)
 var core
 if (process.platform === 'win32' || global.TESTING_WINDOWS) {
-  core = __webpack_require__(34)
+  core = __webpack_require__(36)
 } else {
-  core = __webpack_require__(35)
+  core = __webpack_require__(37)
 }
 
 module.exports = isexe
@@ -5670,7 +5841,7 @@ function sync (path, options) {
 
 
 /***/ }),
-/* 34 */
+/* 36 */
 /***/ (function(module, exports, __webpack_require__) {
 
 module.exports = isexe
@@ -5718,7 +5889,7 @@ function sync (path, options) {
 
 
 /***/ }),
-/* 35 */
+/* 37 */
 /***/ (function(module, exports, __webpack_require__) {
 
 module.exports = isexe