diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b9f1b52..397e4342 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## [1.9.4](https://github.com/lgeiger/ide-python/compare/v1.9.3...v1.9.4) (2021-07-17) + + +### Bug Fixes + +* add eslint ([c26448e](https://github.com/lgeiger/ide-python/commit/c26448e85bd7874d74e04af7692b776c3f403481)) +* default to python3 and fallback to python ([2850374](https://github.com/lgeiger/ide-python/commit/2850374140890fff815512bf83ecf4b4c7a97a5d)) +* lazy-load log4js ([6e11dde](https://github.com/lgeiger/ide-python/commit/6e11dde88cad24aab526fb3644e4a1fb3c6186b2)) +* lazy-load RemoteDebuggerCommandService ([c7fff17](https://github.com/lgeiger/ide-python/commit/c7fff17e002225371cbf036b8614daac0c7e62ac)) +* merge activate methods ([e15d390](https://github.com/lgeiger/ide-python/commit/e15d390b937692dd31dd3eda68805b5ff78fdc08)) +* remove excess async ([e52839f](https://github.com/lgeiger/ide-python/commit/e52839f4b1c42e577958baa4876ebb595d90bb25)) +* update atom-languageclient ([cf16a1e](https://github.com/lgeiger/ide-python/commit/cf16a1ebdb953c6efd3af8c38bf51e90fac52a75)) +* use accurate type comparisons and remove unused reject parameters ([dfe5b0d](https://github.com/lgeiger/ide-python/commit/dfe5b0dcc0caf9b4d315c22563ead00a1911d157)) + ## [1.9.3](https://github.com/lgeiger/ide-python/compare/v1.9.2...v1.9.3) (2021-06-13) diff --git a/dist/debugger/RemoteDebuggerCommandService.js b/dist/debugger/RemoteDebuggerCommandService.js index f552f92a..ad9398d0 100644 --- a/dist/debugger/RemoteDebuggerCommandService.js +++ b/dist/debugger/RemoteDebuggerCommandService.js @@ -47,7 +47,7 @@ function observeAttachDebugTargets() { } function isPortUsed(port) { - const tryConnectPromise = new Promise((resolve, reject) => { + const tryConnectPromise = new Promise(resolve => { const client = new _net.default.Socket(); client.once("connect", () => { cleanUp(); @@ -138,7 +138,7 @@ function handleJsonRequest(body, res) { (0, _log4js.getLogger)().info("Remote debug target attach request", body); const target = attachReady.get(port); - if (target != null) { + if (target !== undefined) { debugRequests.next({ type, command, @@ -152,4 +152,4 @@ function handleJsonRequest(body, res) { success })); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2UuanMiXSwibmFtZXMiOlsiaXNTZXJ2ZXJTZXR1cCIsImRlYnVnUmVxdWVzdHMiLCJTdWJqZWN0IiwiYXR0YWNoUmVhZHkiLCJNYXAiLCJERUJVR0dFUl9SRUdJU1RSWV9QT1JUIiwib2JzZXJ2ZVJlbW90ZURlYnVnQ29tbWFuZHMiLCJzZXR1cFN0ZXAiLCJPYnNlcnZhYmxlIiwiZnJvbVByb21pc2UiLCJzZXR1cFNlcnZlciIsImlnbm9yZUVsZW1lbnRzIiwiZW1wdHkiLCJjb25jYXQiLCJwdWJsaXNoIiwib2JzZXJ2ZUF0dGFjaERlYnVnVGFyZ2V0cyIsImludGVydmFsIiwic3RhcnRXaXRoIiwic3dpdGNoTWFwIiwiUHJvbWlzZSIsImFsbCIsIkFycmF5IiwiZnJvbSIsInZhbHVlcyIsIm1hcCIsInRhcmdldCIsImlzUG9ydFVzZWQiLCJwb3J0IiwiZGVsZXRlIiwidHJ5Q29ubmVjdFByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiY2xpZW50IiwibmV0IiwiU29ja2V0Iiwib25jZSIsImNsZWFuVXAiLCJlcnIiLCJjb2RlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwiZW5kIiwiZGVzdHJveSIsInVucmVmIiwiY29ubmVjdCIsImhvc3QiLCJjb25uZWN0VGltZW91dFByb21pc2UiLCJ0aGVuIiwicmFjZSIsImh0dHAiLCJjcmVhdGVTZXJ2ZXIiLCJyZXEiLCJyZXMiLCJtZXRob2QiLCJ3cml0ZUhlYWQiLCJib2R5Iiwib24iLCJkYXRhIiwiaGFuZGxlSnNvblJlcXVlc3QiLCJKU09OIiwicGFyc2UiLCJsaXN0ZW4iLCJkb21haW4iLCJjb21tYW5kIiwidHlwZSIsInN1Y2Nlc3MiLCJzdHJpbmdpZnkiLCJOdW1iZXIiLCJvcHRpb25zIiwiaWQiLCJsb2NhbFJvb3QiLCJyZW1vdGVSb290IiwiZGVidWdPcHRpb25zIiwic2V0IiwiaW5mbyIsImdldCIsIm5leHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FB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T0FGaUI7QUFHakJyQyxRQUFBQTtBQUhpQixPQUFuQjtBQUtBdUMsTUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDRDtBQUNGOztBQUNEYixFQUFBQSxHQUFHLENBQUNYLEdBQUosQ0FBUWtCLElBQUksQ0FBQ08sU0FBTCxDQUFlO0FBQUVELElBQUFBO0FBQUYsR0FBZixDQUFSO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RhYmxlT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzLWNvbXBhdC9idW5kbGVzL3J4anMtY29tcGF0LnVtZC5taW4uanNcIlxuXG5pbXBvcnQgaHR0cCBmcm9tIFwiaHR0cFwiXG5pbXBvcnQgbmV0IGZyb20gXCJuZXRcIlxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzLWNvbXBhdC9idW5kbGVzL3J4anMtY29tcGF0LnVtZC5taW4uanNcIlxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcImxvZzRqc1wiXG5pbXBvcnQgeyBzbGVlcCB9IGZyb20gXCJAYXRvbS1pZGUtY29tbXVuaXR5L251Y2xpZGUtY29tbW9ucy9wcm9taXNlXCJcblxubGV0IGlzU2VydmVyU2V0dXAgPSBmYWxzZVxuXG5leHBvcnQgdHlwZSBSZW1vdGVEZWJ1Z0NvbW1hbmRSZXF1ZXN0ID0ge1xuICB0eXBlOiBcInB5dGhvblwiLFxuICBjb21tYW5kOiBcImF0dGFjaFwiLFxuICB0YXJnZXQ6IFB5dGhvbkRlYnVnZ2VyQXR0YWNoVGFyZ2V0LFxufVxuXG5leHBvcnQgdHlwZSBQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldCA9IHtcbiAgcG9ydDogbnVtYmVyLFxuICBsb2NhbFJvb3Q6ID9zdHJpbmcsXG4gIHJlbW90ZVJvb3Q6ID9zdHJpbmcsXG4gIGRlYnVnT3B0aW9uczogP0FycmF5PHN0cmluZz4sXG4gIGlkOiA/c3RyaW5nLFxufVxuXG5jb25zdCBkZWJ1Z1JlcXVlc3RzOiBTdWJqZWN0PFJlbW90ZURlYnVnQ29tbWFuZFJlcXVlc3Q+ID0gbmV3IFN1YmplY3QoKVxuY29uc3QgYXR0YWNoUmVhZHk6IE1hcDxudW1iZXIsIFB5dGhvbkRlYnVnZ2VyQXR0YWNoVGFyZ2V0PiA9IG5ldyBNYXAoKVxuY29uc3QgREVCVUdHRVJfUkVHSVNUUllfUE9SVCA9IDk2MTVcblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVSZW1vdGVEZWJ1Z0NvbW1hbmRzKCk6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxSZW1vdGVEZWJ1Z0NvbW1hbmRSZXF1ZXN0PiB7XG4gIGxldCBzZXR1cFN0ZXBcbiAgaWYgKCFpc1NlcnZlclNldHVwKSB7XG4gICAgc2V0dXBTdGVwID0gT2JzZXJ2YWJsZS5mcm9tUHJvbWlzZShzZXR1cFNlcnZlcigpKS5pZ25vcmVFbGVtZW50cygpXG4gIH0gZWxzZSB7XG4gICAgc2V0dXBTdGVwID0gT2JzZXJ2YWJsZS5lbXB0eSgpXG4gIH1cbiAgcmV0dXJuIHNldHVwU3RlcC5jb25jYXQoZGVidWdSZXF1ZXN0cykucHVibGlzaCgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlQXR0YWNoRGVidWdUYXJnZXRzKCk6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxBcnJheTxQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldD4+IHtcbiAgLy8gVmFsaWRhdGUgYXR0YWNoLXJlYWR5IHZhbHVlcyB3aXRoIHRoZSBwcm9jZXNzZXMgd2l0aCB1c2VkIHBvcnRzIChyZWFkeSB0byBhdHRhY2gpLlxuICAvLyBOb3RlOiB3ZSBjYW4ndCB1c2UgcHJvY2VzcyBpZHMgYmVjYXVzZSB3ZSBjb3VsZCBiZSBkZWJ1Z2dpbmcgcHJvY2Vzc2VzIGluc2lkZSBjb250YWluZXJzXG4gIC8vIHdoZXJlIHRoZSBwcm9jZXNzIGlkcyBkb24ndCBtYXAgdG8gdGhlIGhvc3QgcnVubmluZyB0aGlzIGNvZGUuXG4gIHJldHVybiBPYnNlcnZhYmxlLmludGVydmFsKDMwMDApXG4gICAgLnN0YXJ0V2l0aCgwKVxuICAgIC5zd2l0Y2hNYXAoKCkgPT5cbiAgICAgIFByb21pc2UuYWxsKFxuICAgICAgICBBcnJheS5mcm9tKGF0dGFjaFJlYWR5LnZhbHVlcygpKS5tYXAoYXN5bmMgKHRhcmdldCkgPT4ge1xuICAgICAgICAgIGlmICghKGF3YWl0IGlzUG9ydFVzZWQodGFyZ2V0LnBvcnQpKSkge1xuICAgICAgICAgICAgYXR0YWNoUmVhZHkuZGVsZXRlKHRhcmdldC5wb3J0KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApXG4gICAgLm1hcCgoKSA9PiBBcnJheS5mcm9tKGF0dGFjaFJlYWR5LnZhbHVlcygpKSlcbiAgICAucHVibGlzaCgpXG59XG5cbmZ1bmN0aW9uIGlzUG9ydFVzZWQocG9ydDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHRyeUNvbm5lY3RQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBuZXQuU29ja2V0KClcbiAgICBjbGllbnRcbiAgICAgIC5vbmNlKFwiY29ubmVjdFwiLCAoKSA9PiB7XG4gICAgICAgIGNsZWFuVXAoKVxuICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICB9KVxuICAgICAgLm9uY2UoXCJlcnJvclwiLCAoZXJyKSA9PiB7XG4gICAgICAgIGNsZWFuVXAoKVxuICAgICAgICByZXNvbHZlKGVyci5jb2RlICE9PSBcIkVDT05OUkVGVVNFRFwiKVxuICAgICAgfSlcblxuICAgIGZ1bmN0aW9uIGNsZWFuVXAoKSB7XG4gICAgICBjbGllbnQucmVtb3ZlQWxsTGlzdGVuZXJzKFwiY29ubmVjdFwiKVxuICAgICAgY2xpZW50LnJlbW92ZUFsbExpc3RlbmVycyhcImVycm9yXCIpXG4gICAgICBjbGllbnQuZW5kKClcbiAgICAgIGNsaWVudC5kZXN0cm95KClcbiAgICAgIGNsaWVudC51bnJlZigpXG4gICAgfVxuXG4gICAgY2xpZW50LmNvbm5lY3QoeyBwb3J0LCBob3N0OiBcIjEyNy4wLjAuMVwiIH0pXG4gIH0pXG4gIC8vIFRyeWluZyB0byBjb25uZWN0IGNhbiB0YWtlIG11bHRpcGxlIHNlY29uZHMsIHRoZW4gdGltZXMgb3V0IChpZiB0aGUgc2VydmVyIGlzIGJ1c3kpLlxuICAvLyBIZW5jZSwgd2UgbmVlZCB0byBmYWxsYmFjayB0byBgdHJ1ZWAuXG4gIGNvbnN0IGNvbm5lY3RUaW1lb3V0UHJvbWlzZSA9IHNsZWVwKDEwMDApLnRoZW4oKCkgPT4gdHJ1ZSlcbiAgcmV0dXJuIFByb21pc2UucmFjZShbdHJ5Q29ubmVjdFByb21pc2UsIGNvbm5lY3RUaW1lb3V0UHJvbWlzZV0pXG59XG5cbmZ1bmN0aW9uIHNldHVwU2VydmVyKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGh0dHBcbiAgICAgIC5jcmVhdGVTZXJ2ZXIoKHJlcSwgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXEubWV0aG9kICE9PSBcIlBPU1RcIikge1xuICAgICAgICAgIHJlcy53cml0ZUhlYWQoNTAwLCB7IFwiQ29udGVudC1UeXBlXCI6IFwidGV4dC9odG1sXCIgfSlcbiAgICAgICAgICByZXMuZW5kKFwiSW52YWxpZCByZXF1ZXN0XCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGJvZHkgPSBcIlwiXG4gICAgICAgICAgcmVxLm9uKFwiZGF0YVwiLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgYm9keSArPSBkYXRhXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXEub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaGFuZGxlSnNvblJlcXVlc3QoSlNPTi5wYXJzZShib2R5KSwgcmVzKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAub24oXCJlcnJvclwiLCByZWplY3QpXG4gICAgICAubGlzdGVuKChERUJVR0dFUl9SRUdJU1RSWV9QT1JUOiBhbnkpLCAoKSA9PiB7XG4gICAgICAgIGlzU2VydmVyU2V0dXAgPSB0cnVlXG4gICAgICAgIHJlc29sdmUoKVxuICAgICAgfSlcbiAgfSlcbn1cblxuZnVuY3Rpb24gaGFuZGxlSnNvblJlcXVlc3QoYm9keSwgcmVzKSB7XG4gIHJlcy53cml0ZUhlYWQoMjAwLCB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0pXG4gIGNvbnN0IHsgZG9tYWluLCBjb21tYW5kLCB0eXBlIH0gPSBib2R5XG4gIGxldCBzdWNjZXNzID0gZmFsc2VcbiAgaWYgKGRvbWFpbiAhPT0gXCJkZWJ1Z1wiIHx8IHR5cGUgIT09IFwicHl0aG9uXCIpIHtcbiAgICByZXMuZW5kKEpTT04uc3RyaW5naWZ5KHsgc3VjY2VzcyB9KSlcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoY29tbWFuZCA9PT0gXCJlbmFibGUtYXR0YWNoXCIpIHtcbiAgICBjb25zdCBwb3J0ID0gTnVtYmVyKGJvZHkucG9ydClcbiAgICBjb25zdCB7IG9wdGlvbnMgfSA9IGJvZHlcbiAgICBjb25zdCB0YXJnZXQgPSB7XG4gICAgICBwb3J0LFxuICAgICAgaWQ6IG9wdGlvbnMuaWQsXG4gICAgICBsb2NhbFJvb3Q6IG9wdGlvbnMubG9jYWxSb290LFxuICAgICAgcmVtb3RlUm9vdDogb3B0aW9ucy5yZW1vdGVSb290LFxuICAgICAgZGVidWdPcHRpb25zOiBvcHRpb25zLmRlYnVnT3B0aW9ucyxcbiAgICB9XG4gICAgYXR0YWNoUmVhZHkuc2V0KHBvcnQsIHRhcmdldClcbiAgICBnZXRMb2dnZXIoKS5pbmZvKFwiUmVtb3RlIGRlYnVnIHRhcmdldCBpcyByZWFkeSB0byBhdHRhY2hcIiwgdGFyZ2V0KVxuICAgIHN1Y2Nlc3MgPSB0cnVlXG4gIH0gZWxzZSBpZiAoY29tbWFuZCA9PT0gXCJhdHRhY2hcIikge1xuICAgIGNvbnN0IHBvcnQgPSBOdW1iZXIoYm9keS5wb3J0KVxuICAgIGdldExvZ2dlcigpLmluZm8oXCJSZW1vdGUgZGVidWcgdGFyZ2V0IGF0dGFjaCByZXF1ZXN0XCIsIGJvZHkpXG4gICAgY29uc3QgdGFyZ2V0ID0gYXR0YWNoUmVhZHkuZ2V0KHBvcnQpXG4gICAgaWYgKHRhcmdldCAhPSBudWxsKSB7XG4gICAgICBkZWJ1Z1JlcXVlc3RzLm5leHQoe1xuICAgICAgICB0eXBlLFxuICAgICAgICBjb21tYW5kLFxuICAgICAgICB0YXJnZXQsXG4gICAgICB9KVxuICAgICAgc3VjY2VzcyA9IHRydWVcbiAgICB9XG4gIH1cbiAgcmVzLmVuZChKU09OLnN0cmluZ2lmeSh7IHN1Y2Nlc3MgfSkpXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2UuanMiXSwibmFtZXMiOlsiaXNTZXJ2ZXJTZXR1cCIsImRlYnVnUmVxdWVzdHMiLCJTdWJqZWN0IiwiYXR0YWNoUmVhZHkiLCJNYXAiLCJERUJVR0dFUl9SRUdJU1RSWV9QT1JUIiwib2JzZXJ2ZVJlbW90ZURlYnVnQ29tbWFuZHMiLCJzZXR1cFN0ZXAiLCJPYnNlcnZhYmxlIiwiZnJvbVByb21pc2UiLCJzZXR1cFNlcnZlciIsImlnbm9yZUVsZW1lbnRzIiwiZW1wdHkiLCJjb25jYXQiLCJwdWJsaXNoIiwib2JzZXJ2ZUF0dGFjaERlYnVnVGFyZ2V0cyIsImludGVydmFsIiwic3RhcnRXaXRoIiwic3dpdGNoTWFwIiwiUHJvbWlzZSIsImFsbCIsIkFycmF5IiwiZnJvbSIsInZhbHVlcyIsIm1hcCIsInRhcmdldCIsImlzUG9ydFVzZWQiLCJwb3J0IiwiZGVsZXRlIiwidHJ5Q29ubmVjdFByb21pc2UiLCJyZXNvbHZlIiwiY2xpZW50IiwibmV0IiwiU29ja2V0Iiwib25jZSIsImNsZWFuVXAiLCJlcnIiLCJjb2RlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwiZW5kIiwiZGVzdHJveSIsInVucmVmIiwiY29ubmVjdCIsImhvc3QiLCJjb25uZWN0VGltZW91dFByb21pc2UiLCJ0aGVuIiwicmFjZSIsInJlamVjdCIsImh0dHAiLCJjcmVhdGVTZXJ2ZXIiLCJyZXEiLCJyZXMiLCJtZXRob2QiLCJ3cml0ZUhlYWQiLCJib2R5Iiwib24iLCJkYXRhIiwiaGFuZGxlSnNvblJlcXVlc3QiLCJKU09OIiwicGFyc2UiLCJsaXN0ZW4iLCJkb21haW4iLCJjb21tYW5kIiwidHlwZSIsInN1Y2Nlc3MiLCJzdHJpbmdpZnkiLCJOdW1iZXIiLCJvcHRpb25zIiwiaWQiLCJsb2NhbFJvb3QiLCJyZW1vdGVSb290IiwiZGVidWdPcHRpb25zIiwic2V0IiwiaW5mbyIsImdldCIsInVuZGVmaW5lZCIsIm5leHQiXSwibWFwcGluZ3Mi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QUdqQnJDLFFBQUFBO0FBSGlCLE9BQW5CO0FBS0F1QyxNQUFBQSxPQUFPLEdBQUcsSUFBVjtBQUNEO0FBQ0Y7O0FBQ0RiLEVBQUFBLEdBQUcsQ0FBQ1osR0FBSixDQUFRbUIsSUFBSSxDQUFDTyxTQUFMLENBQWU7QUFBRUQsSUFBQUE7QUFBRixHQUFmLENBQVI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29ubmVjdGFibGVPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anMtY29tcGF0L2J1bmRsZXMvcnhqcy1jb21wYXQudW1kLm1pbi5qc1wiXG5cbmltcG9ydCBodHRwIGZyb20gXCJodHRwXCJcbmltcG9ydCBuZXQgZnJvbSBcIm5ldFwiXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anMtY29tcGF0L2J1bmRsZXMvcnhqcy1jb21wYXQudW1kLm1pbi5qc1wiXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwibG9nNGpzXCJcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSBcIkBhdG9tLWlkZS1jb21tdW5pdHkvbnVjbGlkZS1jb21tb25zL3Byb21pc2VcIlxuXG5sZXQgaXNTZXJ2ZXJTZXR1cCA9IGZhbHNlXG5cbmV4cG9ydCB0eXBlIFJlbW90ZURlYnVnQ29tbWFuZFJlcXVlc3QgPSB7XG4gIHR5cGU6IFwicHl0aG9uXCIsXG4gIGNvbW1hbmQ6IFwiYXR0YWNoXCIsXG4gIHRhcmdldDogUHl0aG9uRGVidWdnZXJBdHRhY2hUYXJnZXQsXG59XG5cbmV4cG9ydCB0eXBlIFB5dGhvbkRlYnVnZ2VyQXR0YWNoVGFyZ2V0ID0ge1xuICBwb3J0OiBudW1iZXIsXG4gIGxvY2FsUm9vdDogP3N0cmluZyxcbiAgcmVtb3RlUm9vdDogP3N0cmluZyxcbiAgZGVidWdPcHRpb25zOiA/QXJyYXk8c3RyaW5nPixcbiAgaWQ6ID9zdHJpbmcsXG59XG5cbmNvbnN0IGRlYnVnUmVxdWVzdHM6IFN1YmplY3Q8UmVtb3RlRGVidWdDb21tYW5kUmVxdWVzdD4gPSBuZXcgU3ViamVjdCgpXG5jb25zdCBhdHRhY2hSZWFkeTogTWFwPG51bWJlciwgUHl0aG9uRGVidWdnZXJBdHRhY2hUYXJnZXQ+ID0gbmV3IE1hcCgpXG5jb25zdCBERUJVR0dFUl9SRUdJU1RSWV9QT1JUID0gOTYxNVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZVJlbW90ZURlYnVnQ29tbWFuZHMoKTogQ29ubmVjdGFibGVPYnNlcnZhYmxlPFJlbW90ZURlYnVnQ29tbWFuZFJlcXVlc3Q+IHtcbiAgbGV0IHNldHVwU3RlcFxuICBpZiAoIWlzU2VydmVyU2V0dXApIHtcbiAgICBzZXR1cFN0ZXAgPSBPYnNlcnZhYmxlLmZyb21Qcm9taXNlKHNldHVwU2VydmVyKCkpLmlnbm9yZUVsZW1lbnRzKClcbiAgfSBlbHNlIHtcbiAgICBzZXR1cFN0ZXAgPSBPYnNlcnZhYmxlLmVtcHR5KClcbiAgfVxuICByZXR1cm4gc2V0dXBTdGVwLmNvbmNhdChkZWJ1Z1JlcXVlc3RzKS5wdWJsaXNoKClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVBdHRhY2hEZWJ1Z1RhcmdldHMoKTogQ29ubmVjdGFibGVPYnNlcnZhYmxlPEFycmF5PFB5dGhvbkRlYnVnZ2VyQXR0YWNoVGFyZ2V0Pj4ge1xuICAvLyBWYWxpZGF0ZSBhdHRhY2gtcmVhZHkgdmFsdWVzIHdpdGggdGhlIHByb2Nlc3NlcyB3aXRoIHVzZWQgcG9ydHMgKHJlYWR5IHRvIGF0dGFjaCkuXG4gIC8vIE5vdGU6IHdlIGNhbid0IHVzZSBwcm9jZXNzIGlkcyBiZWNhdXNlIHdlIGNvdWxkIGJlIGRlYnVnZ2luZyBwcm9jZXNzZXMgaW5zaWRlIGNvbnRhaW5lcnNcbiAgLy8gd2hlcmUgdGhlIHByb2Nlc3MgaWRzIGRvbid0IG1hcCB0byB0aGUgaG9zdCBydW5uaW5nIHRoaXMgY29kZS5cbiAgcmV0dXJuIE9ic2VydmFibGUuaW50ZXJ2YWwoMzAwMClcbiAgICAuc3RhcnRXaXRoKDApXG4gICAgLnN3aXRjaE1hcCgoKSA9PlxuICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgIEFycmF5LmZyb20oYXR0YWNoUmVhZHkudmFsdWVzKCkpLm1hcChhc3luYyAodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgaWYgKCEoYXdhaXQgaXNQb3J0VXNlZCh0YXJnZXQucG9ydCkpKSB7XG4gICAgICAgICAgICBhdHRhY2hSZWFkeS5kZWxldGUodGFyZ2V0LnBvcnQpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIClcbiAgICAubWFwKCgpID0+IEFycmF5LmZyb20oYXR0YWNoUmVhZHkudmFsdWVzKCkpKVxuICAgIC5wdWJsaXNoKClcbn1cblxuZnVuY3Rpb24gaXNQb3J0VXNlZChwb3J0OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgdHJ5Q29ubmVjdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBuZXQuU29ja2V0KClcbiAgICBjbGllbnRcbiAgICAgIC5vbmNlKFwiY29ubmVjdFwiLCAoKSA9PiB7XG4gICAgICAgIGNsZWFuVXAoKVxuICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICB9KVxuICAgICAgLm9uY2UoXCJlcnJvclwiLCAoZXJyKSA9PiB7XG4gICAgICAgIGNsZWFuVXAoKVxuICAgICAgICByZXNvbHZlKGVyci5jb2RlICE9PSBcIkVDT05OUkVGVVNFRFwiKVxuICAgICAgfSlcblxuICAgIGZ1bmN0aW9uIGNsZWFuVXAoKSB7XG4gICAgICBjbGllbnQucmVtb3ZlQWxsTGlzdGVuZXJzKFwiY29ubmVjdFwiKVxuICAgICAgY2xpZW50LnJlbW92ZUFsbExpc3RlbmVycyhcImVycm9yXCIpXG4gICAgICBjbGllbnQuZW5kKClcbiAgICAgIGNsaWVudC5kZXN0cm95KClcbiAgICAgIGNsaWVudC51bnJlZigpXG4gICAgfVxuXG4gICAgY2xpZW50LmNvbm5lY3QoeyBwb3J0LCBob3N0OiBcIjEyNy4wLjAuMVwiIH0pXG4gIH0pXG4gIC8vIFRyeWluZyB0byBjb25uZWN0IGNhbiB0YWtlIG11bHRpcGxlIHNlY29uZHMsIHRoZW4gdGltZXMgb3V0IChpZiB0aGUgc2VydmVyIGlzIGJ1c3kpLlxuICAvLyBIZW5jZSwgd2UgbmVlZCB0byBmYWxsYmFjayB0byBgdHJ1ZWAuXG4gIGNvbnN0IGNvbm5lY3RUaW1lb3V0UHJvbWlzZSA9IHNsZWVwKDEwMDApLnRoZW4oKCkgPT4gdHJ1ZSlcbiAgcmV0dXJuIFByb21pc2UucmFjZShbdHJ5Q29ubmVjdFByb21pc2UsIGNvbm5lY3RUaW1lb3V0UHJvbWlzZV0pXG59XG5cbmZ1bmN0aW9uIHNldHVwU2VydmVyKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGh0dHBcbiAgICAgIC5jcmVhdGVTZXJ2ZXIoKHJlcSwgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXEubWV0aG9kICE9PSBcIlBPU1RcIikge1xuICAgICAgICAgIHJlcy53cml0ZUhlYWQoNTAwLCB7IFwiQ29udGVudC1UeXBlXCI6IFwidGV4dC9odG1sXCIgfSlcbiAgICAgICAgICByZXMuZW5kKFwiSW52YWxpZCByZXF1ZXN0XCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGJvZHkgPSBcIlwiXG4gICAgICAgICAgcmVxLm9uKFwiZGF0YVwiLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgYm9keSArPSBkYXRhXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXEub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaGFuZGxlSnNvblJlcXVlc3QoSlNPTi5wYXJzZShib2R5KSwgcmVzKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAub24oXCJlcnJvclwiLCByZWplY3QpXG4gICAgICAubGlzdGVuKChERUJVR0dFUl9SRUdJU1RSWV9QT1JUOiBhbnkpLCAoKSA9PiB7XG4gICAgICAgIGlzU2VydmVyU2V0dXAgPSB0cnVlXG4gICAgICAgIHJlc29sdmUoKVxuICAgICAgfSlcbiAgfSlcbn1cblxuZnVuY3Rpb24gaGFuZGxlSnNvblJlcXVlc3QoYm9keSwgcmVzKSB7XG4gIHJlcy53cml0ZUhlYWQoMjAwLCB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0pXG4gIGNvbnN0IHsgZG9tYWluLCBjb21tYW5kLCB0eXBlIH0gPSBib2R5XG4gIGxldCBzdWNjZXNzID0gZmFsc2VcbiAgaWYgKGRvbWFpbiAhPT0gXCJkZWJ1Z1wiIHx8IHR5cGUgIT09IFwicHl0aG9uXCIpIHtcbiAgICByZXMuZW5kKEpTT04uc3RyaW5naWZ5KHsgc3VjY2VzcyB9KSlcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoY29tbWFuZCA9PT0gXCJlbmFibGUtYXR0YWNoXCIpIHtcbiAgICBjb25zdCBwb3J0ID0gTnVtYmVyKGJvZHkucG9ydClcbiAgICBjb25zdCB7IG9wdGlvbnMgfSA9IGJvZHlcbiAgICBjb25zdCB0YXJnZXQgPSB7XG4gICAgICBwb3J0LFxuICAgICAgaWQ6IG9wdGlvbnMuaWQsXG4gICAgICBsb2NhbFJvb3Q6IG9wdGlvbnMubG9jYWxSb290LFxuICAgICAgcmVtb3RlUm9vdDogb3B0aW9ucy5yZW1vdGVSb290LFxuICAgICAgZGVidWdPcHRpb25zOiBvcHRpb25zLmRlYnVnT3B0aW9ucyxcbiAgICB9XG4gICAgYXR0YWNoUmVhZHkuc2V0KHBvcnQsIHRhcmdldClcbiAgICBnZXRMb2dnZXIoKS5pbmZvKFwiUmVtb3RlIGRlYnVnIHRhcmdldCBpcyByZWFkeSB0byBhdHRhY2hcIiwgdGFyZ2V0KVxuICAgIHN1Y2Nlc3MgPSB0cnVlXG4gIH0gZWxzZSBpZiAoY29tbWFuZCA9PT0gXCJhdHRhY2hcIikge1xuICAgIGNvbnN0IHBvcnQgPSBOdW1iZXIoYm9keS5wb3J0KVxuICAgIGdldExvZ2dlcigpLmluZm8oXCJSZW1vdGUgZGVidWcgdGFyZ2V0IGF0dGFjaCByZXF1ZXN0XCIsIGJvZHkpXG4gICAgY29uc3QgdGFyZ2V0ID0gYXR0YWNoUmVhZHkuZ2V0KHBvcnQpXG4gICAgaWYgKHRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWJ1Z1JlcXVlc3RzLm5leHQoe1xuICAgICAgICB0eXBlLFxuICAgICAgICBjb21tYW5kLFxuICAgICAgICB0YXJnZXQsXG4gICAgICB9KVxuICAgICAgc3VjY2VzcyA9IHRydWVcbiAgICB9XG4gIH1cbiAgcmVzLmVuZChKU09OLnN0cmluZ2lmeSh7IHN1Y2Nlc3MgfSkpXG59XG4iXX0= \ No newline at end of file diff --git a/dist/debugger/utils.js b/dist/debugger/utils.js index c566e428..bce88e1a 100644 --- a/dist/debugger/utils.js +++ b/dist/debugger/utils.js @@ -21,16 +21,8 @@ var _rxjsCompatUmdMin = require("rxjs-compat/bundles/rxjs-compat.umd.min.js"); var _analytics = require("@atom-ide-community/nuclide-commons/analytics"); -var RemoteDebuggerCommandServiceLocal = _interopRequireWildcard(require("./RemoteDebuggerCommandService")); - var _nullthrows = _interopRequireDefault(require("nullthrows")); -var _log4js = require("log4js"); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } let _rpcService = null; @@ -68,7 +60,11 @@ function listenToRemoteDebugCommands() { const service = getRemoteDebuggerCommandServiceByNuclideUri(rootUri); if (service == null) { - (0, _log4js.getLogger)().error("null remote command service for uri:", rootUri); + const { + getLogger + } = require("log4js"); + + getLogger().error("null remote command service for uri:", rootUri); return _rxjsCompatUmdMin.Observable.empty(); } else { return _rxjsCompatUmdMin.Observable.of({ @@ -153,10 +149,12 @@ function findDuplicateAttachTargetIds(targets) { } function getRemoteDebuggerCommandServiceByNuclideUri(uri) { + const RemoteDebuggerCommandServiceLocal = require("./RemoteDebuggerCommandService"); + if (_rpcService == null && !_nuclideUri.default.isRemote(uri)) { return RemoteDebuggerCommandServiceLocal; } return (0, _nullthrows.default)(_rpcService).getServiceByNuclideUri("RemoteDebuggerCommandService", uri); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbIl9ycGNTZXJ2aWNlIiwiZ2V0UHl0aG9uQXR0YWNoVGFyZ2V0UHJvY2Vzc0NvbmZpZyIsInRhcmdldFJvb3RVcmkiLCJ0YXJnZXQiLCJ0YXJnZXRVcmkiLCJkZWJ1Z01vZGUiLCJhZGFwdGVyVHlwZSIsImNvbmZpZyIsImdldFB5dGhvbkF0dGFjaFRhcmdldENvbmZpZyIsInNlcnZpY2VkRmlsZUV4dGVuc2lvbnMiLCJsb2NhbFJvb3QiLCJyZW1vdGVSb290IiwicG9ydCIsImhvc3QiLCJzZXRScGNTZXJ2aWNlIiwicnBjU2VydmljZSIsIlVuaXZlcnNhbERpc3Bvc2FibGUiLCJsaXN0ZW5Ub1JlbW90ZURlYnVnQ29tbWFuZHMiLCJhZGRlZEhvc3RuYW1lcyIsInN0YXJ0V2l0aCIsInJlbW90ZURlYnVnZ2VyU2VydmljZXMiLCJmbGF0TWFwIiwiaG9zdG5hbWUiLCJyb290VXJpIiwibnVjbGlkZVVyaSIsImNyZWF0ZVJlbW90ZVVyaSIsInNlcnZpY2UiLCJnZXRSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlQnlOdWNsaWRlVXJpIiwiZXJyb3IiLCJPYnNlcnZhYmxlIiwiZW1wdHkiLCJvZiIsIm9ic2VydmVBdHRhY2hEZWJ1Z1RhcmdldHMiLCJyZWZDb3VudCIsIm1hcCIsInRhcmdldHMiLCJmaW5kRHVwbGljYXRlQXR0YWNoVGFyZ2V0SWRzIiwic3Vic2NyaWJlIiwiZHVwbGljYXRlVGFyZ2V0SWRzIiwibm90aWZ5RHVwbGljYXRlRGVidWdUYXJnZXRzIiwib2JzZXJ2ZVJlbW90ZURlYnVnQ29tbWFuZHMiLCJjYXRjaCIsImNvbnNvbGUiLCJ3YXJuIiwiU3RyaW5nIiwiY29tbWFuZCIsImxldCIsImF0dGFjaFByb2Nlc3NDb25maWciLCJkZWJ1Z2dlclNlcnZpY2UiLCJzdGFydFZzcERlYnVnZ2luZyIsInNob3VsZE5vdGlmeUR1cGxpY2F0ZVRhcmdldHMiLCJkdXBsaWNhdGVUYXJnZXRzTm90aWZpY2F0aW9uIiwic2l6ZSIsImZvcm1hdHRlZElkcyIsIkFycmF5IiwiZnJvbSIsImpvaW4iLCJhdG9tIiwibm90aWZpY2F0aW9ucyIsImFkZEluZm8iLCJidXR0b25zIiwib25EaWRDbGljayIsImRpc21pc3MiLCJ0ZXh0IiwiZGVzY3JpcHRpb24iLCJkaXNtaXNzYWJsZSIsIm9uRGlkRGlzbWlzcyIsInRhcmdldElkcyIsIlNldCIsImZvckVhY2giLCJpZCIsImhhcyIsImFkZCIsInVyaSIsImlzUmVtb3RlIiwiUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZUxvY2FsIiwiZ2V0U2VydmljZUJ5TnVjbGlkZVVyaSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBSUEsV0FBZ0MsR0FBRyxJQUF2Qzs7QUFFQSxTQUFTQyxrQ0FBVCxDQUNFQyxhQURGLEVBRUVDLE1BRkYsRUFHa0I7QUFDaEIsU0FBTztBQUNMQyxJQUFBQSxTQUFTLEVBQUVGLGFBRE47QUFFTEcsSUFBQUEsU0FBUyxFQUFFLFFBRk47QUFHTEMsSUFBQUEsV0FBVyxFQUFFLFFBSFI7QUFJTEMsSUFBQUEsTUFBTSxFQUFFQywyQkFBMkIsQ0FBQ0wsTUFBRCxDQUo5QjtBQUtMTSxJQUFBQSxzQkFBc0IsRUFBRSxDQUFDLElBQUQ7QUFMbkIsR0FBUDtBQU9EOztBQUVELFNBQVNELDJCQUFULENBQXFDTCxNQUFyQyxFQUFpRjtBQUMvRSxTQUFPO0FBQ0xPLElBQUFBLFNBQVMsRUFBRVAsTUFBTSxDQUFDTyxTQURiO0FBRUxDLElBQUFBLFVBQVUsRUFBRVIsTUFBTSxDQUFDUSxVQUZkO0FBR0xDLElBQUFBLElBQUksRUFBRVQsTUFBTSxDQUFDUyxJQUhSO0FBSUxDLElBQUFBLElBQUksRUFBRTtBQUpELEdBQVA7QUFNRDs7QUFFTSxTQUFTQyxhQUFULENBQXVCQyxVQUF2QixFQUFvRTtBQUN6RWYsRUFBQUEsV0FBVyxHQUFHZSxVQUFk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aEMsa0JBQVA7QUFDRDs7QUFFTSxTQUFTWCwyQ0FBVCxDQUFxRDhDLEdBQXJELEVBQW9HO0FBQ3pHLE1BQUl6RSxXQUFXLElBQUksSUFBZixJQUF1QixDQUFDd0Isb0JBQVdrRCxRQUFYLENBQW9CRCxHQUFwQixDQUE1QixFQUFzRDtBQUNwRCxXQUFPRSxpQ0FBUDtBQUNEOztBQUVELFNBQU8seUJBQVczRSxXQUFYLEVBQXdCNEUsc0JBQXhCLENBQStDLDhCQUEvQyxFQUErRUgsR0FBL0UsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOdWNsaWRlVXJpIH0gZnJvbSBcIkBhdG9tLWlkZS1jb21tdW5pdHkvbnVjbGlkZS1jb21tb25zL251Y2xpZGVVcmlcIlxuaW1wb3J0IHR5cGUgeyBQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldCwgUmVtb3RlRGVidWdDb21tYW5kUmVxdWVzdCB9IGZyb20gXCIuL1JlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIlxuaW1wb3J0IHR5cGUgeyBJUHJvY2Vzc0NvbmZpZyB9IGZyb20gXCJAYXRvbS1pZGUtY29tbXVuaXR5L251Y2xpZGUtZGVidWdnZXItY29tbW9uXCJcbmltcG9ydCB0eXBlb2YgKiBhcyBSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlIGZyb20gXCIuL1JlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIlxuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlclNlcnZpY2UgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMtYXRvbS9kZWJ1Z2dlclwiXG5pbXBvcnQgeyBvYnNlcnZlQWRkZWRIb3N0bmFtZXMgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMtYXRvbS9wcm9qZWN0c1wiXG5pbXBvcnQgbnVjbGlkZVVyaSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvbnVjbGlkZVVyaVwiXG5pbXBvcnQgeyBmYXN0RGVib3VuY2UgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvb2JzZXJ2YWJsZVwiXG5pbXBvcnQgVW5pdmVyc2FsRGlzcG9zYWJsZSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvVW5pdmVyc2FsRGlzcG9zYWJsZVwiXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anMtY29tcGF0L2J1bmRsZXMvcnhqcy1jb21wYXQudW1kLm1pbi5qc1wiXG5pbXBvcnQgeyB0cmFjayB9IGZyb20gXCJAYXRvbS1pZGUtY29tbXVuaXR5L251Y2xpZGUtY29tbW9ucy9hbmFseXRpY3NcIlxuaW1wb3J0ICogYXMgUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZUxvY2FsIGZyb20gXCIuL1JlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIlxuaW1wb3J0IG51bGx0aHJvd3MgZnJvbSBcIm51bGx0aHJvd3NcIlxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcImxvZzRqc1wiXG5cbmxldCBfcnBjU2VydmljZTogP251Y2xpZGUkUnBjU2VydmljZSA9IG51bGxcblxuZnVuY3Rpb24gZ2V0UHl0aG9uQXR0YWNoVGFyZ2V0UHJvY2Vzc0NvbmZpZyhcbiAgdGFyZ2V0Um9vdFVyaTogTnVjbGlkZVVyaSxcbiAgdGFyZ2V0OiBQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldFxuKTogSVByb2Nlc3NDb25maWcge1xuICByZXR1cm4ge1xuICAgIHRhcmdldFVyaTogdGFyZ2V0Um9vdFVyaSxcbiAgICBkZWJ1Z01vZGU6IFwiYXR0YWNoXCIsXG4gICAgYWRhcHRlclR5cGU6IFwicHl0aG9uXCIsXG4gICAgY29uZmlnOiBnZXRQeXRob25BdHRhY2hUYXJnZXRDb25maWcodGFyZ2V0KSxcbiAgICBzZXJ2aWNlZEZpbGVFeHRlbnNpb25zOiBbXCJweVwiXSxcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQeXRob25BdHRhY2hUYXJnZXRDb25maWcodGFyZ2V0OiBQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldCk6IE9iamVjdCB7XG4gIHJldHVybiB7XG4gICAgbG9jYWxSb290OiB0YXJnZXQubG9jYWxSb290LFxuICAgIHJlbW90ZVJvb3Q6IHRhcmdldC5yZW1vdGVSb290LFxuICAgIHBvcnQ6IHRhcmdldC5wb3J0LFxuICAgIGhvc3Q6IFwiMTI3LjAuMC4xXCIsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJwY1NlcnZpY2UocnBjU2VydmljZTogbnVjbGlkZSRScGNTZXJ2aWNlKTogSURpc3Bvc2FibGUge1xuICBfcnBjU2VydmljZSA9IHJwY1NlcnZpY2VcbiAgcmV0dXJuIG5ldyBVbml2ZXJzYWxEaXNwb3NhYmxlKCgpID0+IHtcbiAgICBfcnBjU2VydmljZSA9IG51bGxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvUmVtb3RlRGVidWdDb21tYW5kcygpOiBJRGlzcG9zYWJsZSB7XG4gIGNvbnN0IGFkZGVkSG9zdG5hbWVzID0gb2JzZXJ2ZUFkZGVkSG9zdG5hbWVzKCkuc3RhcnRXaXRoKFwibG9jYWxcIilcblxuICBjb25zdCByZW1vdGVEZWJ1Z2dlclNlcnZpY2VzID0gYWRkZWRIb3N0bmFtZXMuZmxhdE1hcCgoaG9zdG5hbWUpID0+IHtcbiAgICBjb25zdCByb290VXJpID0gaG9zdG5hbWUgPT09IFwibG9jYWxcIiA/IFwiXCIgOiBudWNsaWRlVXJpLmNyZWF0ZVJlbW90ZVVyaShob3N0bmFtZSwgXCIvXCIpXG4gICAgY29uc3Qgc2VydmljZSA9IGdldFJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VCeU51Y2xpZGVVcmkocm9vdFVyaSlcbiAgICBpZiAoc2VydmljZSA9PSBudWxsKSB7XG4gICAgICBnZXRMb2dnZXIoKS5lcnJvcihcIm51bGwgcmVtb3RlIGNvbW1hbmQgc2VydmljZSBmb3IgdXJpOlwiLCByb290VXJpKVxuICAgICAgcmV0dXJuIE9ic2VydmFibGUuZW1wdHkoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZih7IHNlcnZpY2UsIHJvb3RVcmkgfSlcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBVbml2ZXJzYWxEaXNwb3NhYmxlKFxuICAgIHJlbW90ZURlYnVnZ2VyU2VydmljZXNcbiAgICAgIC5mbGF0TWFwKCh7IHNlcnZpY2UsIHJvb3RVcmkgfSkgPT4ge1xuICAgICAgICByZXR1cm4gc2VydmljZVxuICAgICAgICAgIC5vYnNlcnZlQXR0YWNoRGVidWdUYXJnZXRzKClcbiAgICAgICAgICAucmVmQ291bnQoKVxuICAgICAgICAgIC5tYXAoKHRhcmdldHMpID0+IGZpbmREdXBsaWNhdGVBdHRhY2hUYXJnZXRJZHModGFyZ2V0cykpXG4gICAgICB9KVxuXG4gICAgICAuc3Vic2NyaWJlKChkdXBsaWNhdGVUYXJnZXRJZHMpID0+IG5vdGlmeUR1cGxpY2F0ZURlYnVnVGFyZ2V0cyhkdXBsaWNhdGVUYXJnZXRJZHMpKSxcbiAgICByZW1vdGVEZWJ1Z2dlclNlcnZpY2VzXG4gICAgICAuZmxhdE1hcCgoeyBzZXJ2aWNlLCByb290VXJpIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VcbiAgICAgICAgICAub2JzZXJ2ZVJlbW90ZURlYnVnQ29tbWFuZHMoKVxuICAgICAgICAgIC5yZWZDb3VudCgpXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgXCJGYWlsZWQgdG8gbGlzdGVuIHRvIHJlbW90ZSBkZWJ1ZyBjb21tYW5kcyAtIFwiICtcbiAgICAgICAgICAgICAgICBcIllvdSBjb3VsZCBiZSBydW5uaW5nIGxvY2FsbHkgd2l0aCB0d28gQXRvbSB3aW5kb3dzLiBcIiArXG4gICAgICAgICAgICAgICAgYElzTG9jYWw6ICR7U3RyaW5nKHJvb3RVcmkgPT09IFwiXCIpfWBcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmVtcHR5KClcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5tYXAoKGNvbW1hbmQ6IFJlbW90ZURlYnVnQ29tbWFuZFJlcXVlc3QpID0+ICh7IHJvb3RVcmksIGNvbW1hbmQgfSkpXG4gICAgICB9KVxuICAgICAgLmxldChmYXN0RGVib3VuY2UoNTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHsgcm9vdFVyaSwgY29tbWFuZCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dGFjaFByb2Nlc3NDb25maWcgPSBnZXRQeXRob25BdHRhY2hUYXJnZXRQcm9jZXNzQ29uZmlnKHJvb3RVcmksIGNvbW1hbmQudGFyZ2V0KVxuICAgICAgICBjb25zdCBkZWJ1Z2dlclNlcnZpY2UgPSBhd2FpdCBnZXREZWJ1Z2dlclNlcnZpY2UoKVxuICAgICAgICB0cmFjayhcImZiLXB5dGhvbi1kZWJ1Z2dlci1hdXRvLWF0dGFjaFwiKVxuICAgICAgICBkZWJ1Z2dlclNlcnZpY2Uuc3RhcnRWc3BEZWJ1Z2dpbmcoYXR0YWNoUHJvY2Vzc0NvbmZpZylcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSdyZSBhbHJlYWR5IGRlYnVnZ2luZyB0aGF0IHRhcmdldC5cbiAgICAgIH0pXG4gIClcbn1cblxubGV0IHNob3VsZE5vdGlmeUR1cGxpY2F0ZVRhcmdldHMgPSB0cnVlXG5sZXQgZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvblxuXG5mdW5jdGlvbiBub3RpZnlEdXBsaWNhdGVEZWJ1Z1RhcmdldHMoZHVwbGljYXRlVGFyZ2V0SWRzOiBTZXQ8c3RyaW5nPik6IHZvaWQge1xuICBpZiAoZHVwbGljYXRlVGFyZ2V0SWRzLnNpemUgPiAwICYmIHNob3VsZE5vdGlmeUR1cGxpY2F0ZVRhcmdldHMgJiYgZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvbiA9PSBudWxsKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkSWRzID0gQXJyYXkuZnJvbShkdXBsaWNhdGVUYXJnZXRJZHMpLmpvaW4oXCIsIFwiKVxuICAgIGR1cGxpY2F0ZVRhcmdldHNOb3RpZmljYXRpb24gPSBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkSW5mbyhcbiAgICAgIGBEZWJ1Z2dlcjogZHVwbGljYXRlIGF0dGFjaCB0YXJnZXRzOiBcXGAke2Zvcm1hdHRlZElkc31cXGBgLFxuICAgICAge1xuICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb25EaWRDbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICBzaG91bGROb3RpZnlEdXBsaWNhdGVUYXJnZXRzID0gZmFsc2VcbiAgICAgICAgICAgICAgaWYgKGR1cGxpY2F0ZVRhcmdldHNOb3RpZmljYXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGR1cGxpY2F0ZVRhcmdldHNOb3RpZmljYXRpb24uZGlzbWlzcygpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0ZXh0OiBcIklnbm9yZVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgIGBOdWNsaWRlIGRlYnVnZ2VyIGRldGVjdGVkIGR1cGxpY2F0ZSBhdHRhY2ggdGFyZ2V0cyB3aXRoIGlkcyAoJHtmb3JtYXR0ZWRJZHN9KSBgICtcbiAgICAgICAgICBcIlRoYXQgY291bGQgYmUgaW5zdGFncmFtIHJ1bm5pbmcgbXVsdGlwbGUgcHJvY2Vzc2VzIC0gY2hlY2sgb3V0IGh0dHBzOi8vb3VyLmludGVybi5mYWNlYm9vay5jb20vaW50ZXJuL2RleC9pbnN0YWdyYW0tc2VydmVyL2RlYnVnZ2luZy13aXRoLW51Y2xpZGUvXCIsXG4gICAgICAgIGRpc21pc3NhYmxlOiB0cnVlLFxuICAgICAgfVxuICAgIClcbiAgICBkdXBsaWNhdGVUYXJnZXRzTm90aWZpY2F0aW9uLm9uRGlkRGlzbWlzcygoKSA9PiB7XG4gICAgICBkdXBsaWNhdGVUYXJnZXRzTm90aWZpY2F0aW9uID0gbnVsbFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZER1cGxpY2F0ZUF0dGFjaFRhcmdldElkcyh0YXJnZXRzOiBBcnJheTxQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldD4pOiBTZXQ8c3RyaW5nPiB7XG4gIGNvbnN0IHRhcmdldElkcyA9IG5ldyBTZXQoKVxuICBjb25zdCBkdXBsaWNhdGVUYXJnZXRJZHMgPSBuZXcgU2V0KClcbiAgdGFyZ2V0cy5mb3JFYWNoKCh0YXJnZXQpID0+IHtcbiAgICBjb25zdCB7IGlkIH0gPSB0YXJnZXRcbiAgICBpZiAoaWQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICh0YXJnZXRJZHMuaGFzKGlkKSkge1xuICAgICAgZHVwbGljYXRlVGFyZ2V0SWRzLmFkZChpZClcbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0SWRzLmFkZChpZClcbiAgICB9XG4gIH0pXG4gIHJldHVybiBkdXBsaWNhdGVUYXJnZXRJZHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VCeU51Y2xpZGVVcmkodXJpOiBOdWNsaWRlVXJpKTogUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZSB7XG4gIGlmIChfcnBjU2VydmljZSA9PSBudWxsICYmICFudWNsaWRlVXJpLmlzUmVtb3RlKHVyaSkpIHtcbiAgICByZXR1cm4gUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZUxvY2FsXG4gIH1cblxuICByZXR1cm4gbnVsbHRocm93cyhfcnBjU2VydmljZSkuZ2V0U2VydmljZUJ5TnVjbGlkZVVyaShcIlJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIiwgdXJpKVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbIl9ycGNTZXJ2aWNlIiwiZ2V0UHl0aG9uQXR0YWNoVGFyZ2V0UHJvY2Vzc0NvbmZpZyIsInRhcmdldFJvb3RVcmkiLCJ0YXJnZXQiLCJ0YXJnZXRVcmkiLCJkZWJ1Z01vZGUiLCJhZGFwdGVyVHlwZSIsImNvbmZpZyIsImdldFB5dGhvbkF0dGFjaFRhcmdldENvbmZpZyIsInNlcnZpY2VkRmlsZUV4dGVuc2lvbnMiLCJsb2NhbFJvb3QiLCJyZW1vdGVSb290IiwicG9ydCIsImhvc3QiLCJzZXRScGNTZXJ2aWNlIiwicnBjU2VydmljZSIsIlVuaXZlcnNhbERpc3Bvc2FibGUiLCJsaXN0ZW5Ub1JlbW90ZURlYnVnQ29tbWFuZHMiLCJhZGRlZEhvc3RuYW1lcyIsInN0YXJ0V2l0aCIsInJlbW90ZURlYnVnZ2VyU2VydmljZXMiLCJmbGF0TWFwIiwiaG9zdG5hbWUiLCJyb290VXJpIiwibnVjbGlkZVVyaSIsImNyZWF0ZVJlbW90ZVVyaSIsInNlcnZpY2UiLCJnZXRSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlQnlOdWNsaWRlVXJpIiwiZ2V0TG9nZ2VyIiwicmVxdWlyZSIsImVycm9yIiwiT2JzZXJ2YWJsZSIsImVtcHR5Iiwib2YiLCJvYnNlcnZlQXR0YWNoRGVidWdUYXJnZXRzIiwicmVmQ291bnQiLCJtYXAiLCJ0YXJnZXRzIiwiZmluZER1cGxpY2F0ZUF0dGFjaFRhcmdldElkcyIsInN1YnNjcmliZSIsImR1cGxpY2F0ZVRhcmdldElkcyIsIm5vdGlmeUR1cGxpY2F0ZURlYnVnVGFyZ2V0cyIsIm9ic2VydmVSZW1vdGVEZWJ1Z0NvbW1hbmRzIiwiY2F0Y2giLCJjb25zb2xlIiwid2FybiIsIlN0cmluZyIsImNvbW1hbmQiLCJsZXQiLCJhdHRhY2hQcm9jZXNzQ29uZmlnIiwiZGVidWdnZXJTZXJ2aWNlIiwic3RhcnRWc3BEZWJ1Z2dpbmciLCJzaG91bGROb3RpZnlEdXBsaWNhdGVUYXJnZXRzIiwiZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvbiIsInNpemUiLCJmb3JtYXR0ZWRJZHMiLCJBcnJheSIsImZyb20iLCJqb2luIiwiYXRvbSIsIm5vdGlmaWNhdGlvbnMiLCJhZGRJbmZvIiwiYnV0dG9ucyIsIm9uRGlkQ2xpY2siLCJkaXNtaXNzIiwidGV4dCIsImRlc2NyaXB0aW9uIiwiZGlzbWlzc2FibGUiLCJvbkRpZERpc21pc3MiLCJ0YXJnZXRJZHMiLCJTZXQiLCJmb3JFYWNoIiwiaWQiLCJoYXMiLCJhZGQiLCJ1cmkiLCJSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlTG9jYWwiLCJpc1JlbW90ZSIsImdldFNlcnZpY2VCeU51Y2xpZGVVcmkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsSUFBSUEsV0FBZ0MsR0FBRyxJQUF2Qzs7QUFFQSxTQUFTQyxrQ0FBVCxDQUNFQyxhQURGLEVBRUVDLE1BRkYsRUFHa0I7QUFDaEIsU0FBTztBQUNMQyxJQUFBQSxTQUFTLEVBQUVGLGFBRE47QUFFTEcsSUFBQUEsU0FBUyxFQUFFLFFBRk47QUFHTEMsSUFBQUEsV0FBVyxFQUFFLFFBSFI7QUFJTEMsSUFBQUEsTUFBTSxFQUFFQywyQkFBMkIsQ0FBQ0wsTUFBRCxDQUo5QjtBQUtMTSxJQUFBQSxzQkFBc0IsRUFBRSxDQUFDLElBQUQ7QUFMbkIsR0FBUDtBQU9EOztBQUVELFNBQVNELDJCQUFULENBQXFDTCxNQUFyQyxFQUFpRjtBQUMvRSxTQUFPO0FBQ0xPLElBQUFBLFNBQVMsRUFBRVAsTUFBTSxDQUFDTyxTQURiO0FBRUxDLElBQUFBLFVBQVUsRUFBRVIsTUFBTSxDQUFDUSxVQUZkO0FBR0xDLElBQUFBLElBQUksRUFBRVQsTUFBTSxDQUFDUyxJQUhSO0FBSUxDLElBQUFBLElBQUksRUFBRTtBQUpELEdBQVA7QUFNRDs7QUFFTSxTQUFTQyxhQUFULENBQXVCQyxVQUF2QixFQUFvRTtBQUN6RWYsRUFBQUEsV0FBVyxHQUFHZSxVQUFkO0FBQ0EsU0FBTyxJQUFJQyw0QkFBSixDQUF3QixNQUFNO0FBQ25DaEIsSUFBQUEsV0FBVyxHQUFHLElBQWQ7QUFDRCxHQUZNLENBQVA7QUFHRDs7QUFFTSxTQUFTaUIsMkJBQVQsR0FBb0Q7QUFDekQsUUFBTUMsY0FBYyxHQUFHLHVDQUF3QkMsU0FBeEIsQ0FBa0MsT0FBbEMsQ0FBdkI7QUFFQSxRQUFNQyxzQkFBc0IsR0FBR0YsY0FBYyxDQUFDRyxPQUFmLENBQXdCQyxRQUFELElBQWM7QUFDbEUsVUFBTUMsT0FBTyxHQUFHRCxRQUFRLEtBQUssT0FBYixHQUF1QixFQUF2QixHQUE0QkUsb0JBQVdDLGVBQVgsQ0FBMkJILFFBQTNCLEVBQXFDLEdBQXJDLENBQTVDO0FBQ0EsVUFBTUksT0FBTyxHQUFHQywyQ0FBMkMsQ0FBQ0osT0FBRCxDQUEzRDs7QUFDQSxRQUFJRyxPQUFPLElBQUksSUFBZixFQUFxQjtBQUNuQixZQUFNO0FBQUVFLFFBQUFBO0FBQUYsVUFBZ0JDLE9BQU8sQ0FBQyxRQUFELENBQTdCOztBQUNBRCxNQUFBQSxTQUFTLEdBQUdFLEtBQVosQ0FBa0Isc0NBQWxCLEVBQTBEUCxPQUExRDtBQUNBLGFBQU9RLDZCQUFXQyxLQUFYLEVBQVA7QUFDRCxLQUpELE1BSU87QUFDTCxhQUFPRCw2QkFBV0UsRUFBWCxDQUFjO0FBQUVQLFFBQUFBLE9BQUY7QUFBV0gsUUFBQUE7QUFBWCxPQUFkLENBQVA7QUFDRDtBQUNGLEdBVjhCLENBQS9CO0FBWUEsU0FBTyxJQUFJUCw0QkFBSixDQUNMSSxzQkFBc0IsQ0FDbkJDLE9BREgsQ0FDVyxDQUFDO0FBQUVLLElBQUFBLE9BQUY7QUFBV0gsSUFBQUE7QUFBWCxHQUFELEtBQTBCO0FBQ2pDLFdBQU9HLE9BQU8sQ0FDWFEseUJBREksR0FFSkMsUUFGSSxHQUdKQyxHQUhJLENBR0NDLE9BQUQsSUFBYUMsNEJBQTRCLENBQUNELE9BQUQsQ0FIekMsQ0FBUDtBQUlELEdBTkgsRUFRR0UsU0FSSCxDQVFjQyxrQkFBRCxJQUF3QkMsMkJBQTJCLENBQUNELGtCQUFELENBUmhFLENBREssRUFVTHBCLHNCQUFzQixDQUNuQkMsT0FESCxDQUNXLENBQUM7QUFBRUssSUFBQUEsT0FBRjtBQUFXSCxJQUFBQTtBQUFYLEdBQUQsS0FBMEI7QUFDakMsV0FBT0csT0FBTyxDQUNYZ0IsMEJBREksR0FFSlAsUUFGSSxHQUdKUSxLQUhJLENBR0diLEtBQUQsSUFBVztBQUNoQjtBQUNBYyxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FDRSxpREFDRSxzREFERixHQUVHLFlBQVdDLE1BQU0sQ0FBQ3ZCLE9BQU8sS0FBSyxFQUFiLENBQWlCLEVBSHZDO0FBS0EsYUFBT1EsNkJBQVdDLEtBQVgsRUFBUDtBQUNELEtBWEksRUFZSkksR0FaSSxDQVlDVyxPQUFELEtBQXlDO0FBQUV4QixNQUFBQSxPQUFGO0FBQVd3QixNQUFBQTtBQUFYLEtBQXpDLENBWkEsQ0FBUDtBQWFELEdBZkgsRUFnQkdDLEdBaEJILENBZ0JPLDhCQUFhLEdBQWIsQ0FoQlAsRUFpQkdULFNBakJILENBaUJhLE9BQU87QUFBRWhCLElBQUFBLE9BQUY7QUFBV3dCLElBQUFBO0FBQVgsR0FBUCxLQUFnQztBQUN6QyxVQUFNRSxtQkFBbUIsR0FBR2hELGtDQUFrQyxDQUFDc0IsT0FBRCxFQUFVd0IsT0FBTyxDQUFDNUMsTUFBbEIsQ0FBOUQ7QUFDQSxVQUFNK0MsZUFBZSxHQUFHLE1BQU0sbUNBQTlCO0FBQ0EsMEJBQU0sZ0NBQU47QUFDQUEsSUFBQUEsZUFBZSxDQUFDQyxpQkFBaEIsQ0FBa0NGLG1CQUFsQyxFQUp5QyxDQUt6QztBQUNELEdBdkJILENBVkssQ0FBUDtBQW1DRDs7QUFFRCxJQUFJRyw0QkFBNEIsR0FBRyxJQUFuQztBQUNBLElBQUlDLDRCQUFKOztBQUVBLFNBQVNaLDJCQUFULENBQXFDRCxrQkFBckMsRUFBNEU7QUFDMUUsTUFBSUEsa0JBQWtCLENBQUNjLElBQW5CLEdBQTBCLENBQTFCLElBQStCRiw0QkFBL0IsSUFBK0RDLDRCQUE0QixJQUFJLElBQW5HLEVBQXlHO0FBQ3ZHLFVBQU1FLFlBQVksR0FBR0MsS0FBSyxDQUFDQyxJQUFOLENBQVdqQixrQkFBWCxFQUErQmtCLElBQS9CLENBQW9DLElBQXBDLENBQXJCO0FBQ0FMLElBQUFBLDRCQUE0QixHQUFHTSxJQUFJLENBQUNDLGFBQUwsQ0FBbUJDLE9BQW5CLENBQzVCLHlDQUF3Q04sWUFBYSxJQUR6QixFQUU3QjtBQUNFTyxNQUFBQSxPQUFPLEVBQUUsQ0FDUDtBQUNFQyxRQUFBQSxVQUFVLEVBQUUsTUFBTTtBQUNoQlgsVUFBQUEsNEJBQTRCLEdBQUcsS0FBL0I7O0FBQ0EsY0FBSUMsNEJBQTRCLElBQUksSUFBcEMsRUFBMEM7QUFDeENBLFlBQUFBLDRCQUE0QixDQUFDVyxPQUE3QjtBQUNEO0FBQ0YsU0FOSDtBQU9FQyxRQUFBQSxJQUFJLEVBQUU7QUFQUixPQURPLENBRFg7QUFZRUMsTUFBQUEsV0FBVyxFQUNSLGdFQUErRFgsWUFBYSxJQUE3RSxHQUNBLG9KQWRKO0FBZUVZLE1BQUFBLFdBQVcsRUFBRTtBQWZmLEtBRjZCLENBQS9CO0FBb0JBZCxJQUFBQSw0QkFBNEIsQ0FBQ2UsWUFBN0IsQ0FBMEMsTUFBTTtBQUM5Q2YsTUFBQUEsNEJBQTRCLEdBQUcsSUFBL0I7QUFDRCxLQUZEO0FBR0Q7QUFDRjs7QUFFRCxTQUFTZiw0QkFBVCxDQUFzQ0QsT0FBdEMsRUFBK0Y7QUFDN0YsUUFBTWdDLFNBQVMsR0FBRyxJQUFJQyxHQUFKLEVBQWxCO0FBQ0EsUUFBTTlCLGtCQUFrQixHQUFHLElBQUk4QixHQUFKLEVBQTNCO0FBQ0FqQyxFQUFBQSxPQUFPLENBQUNrQyxPQUFSLENBQWlCcEUsTUFBRCxJQUFZO0FBQzFCLFVBQU07QUFBRXFFLE1BQUFBO0FBQUYsUUFBU3JFLE1BQWY7O0FBQ0EsUUFBSXFFLEVBQUUsSUFBSSxJQUFWLEVBQWdCO0FBQ2Q7QUFDRDs7QUFDRCxRQUFJSCxTQUFTLENBQUNJLEdBQVYsQ0FBY0QsRUFBZCxDQUFKLEVBQXVCO0FBQ3JCaEMsTUFBQUEsa0JBQWtCLENBQUNrQyxHQUFuQixDQUF1QkYsRUFBdkI7QUFDRCxLQUZELE1BRU87QUFDTEgsTUFBQUEsU0FBUyxDQUFDSyxHQUFWLENBQWNGLEVBQWQ7QUFDRDtBQUNGLEdBVkQ7QUFXQSxTQUFPaEMsa0JBQVA7QUFDRDs7QUFFTSxTQUFTYiwyQ0FBVCxDQUFxRGdELEdBQXJELEVBQW9HO0FBQ3pHLFFBQU1DLGlDQUFpQyxHQUFHL0MsT0FBTyxDQUFDLGdDQUFELENBQWpEOztBQUNBLE1BQUk3QixXQUFXLElBQUksSUFBZixJQUF1QixDQUFDd0Isb0JBQVdxRCxRQUFYLENBQW9CRixHQUFwQixDQUE1QixFQUFzRDtBQUNwRCxXQUFPQyxpQ0FBUDtBQUNEOztBQUVELFNBQU8seUJBQVc1RSxXQUFYLEVBQXdCOEUsc0JBQXhCLENBQStDLDhCQUEvQyxFQUErRUgsR0FBL0UsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOdWNsaWRlVXJpIH0gZnJvbSBcIkBhdG9tLWlkZS1jb21tdW5pdHkvbnVjbGlkZS1jb21tb25zL251Y2xpZGVVcmlcIlxuaW1wb3J0IHR5cGUgeyBQeXRob25EZWJ1Z2dlckF0dGFjaFRhcmdldCwgUmVtb3RlRGVidWdDb21tYW5kUmVxdWVzdCB9IGZyb20gXCIuL1JlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIlxuaW1wb3J0IHR5cGUgeyBJUHJvY2Vzc0NvbmZpZyB9IGZyb20gXCJAYXRvbS1pZGUtY29tbXVuaXR5L251Y2xpZGUtZGVidWdnZXItY29tbW9uXCJcbmltcG9ydCB0eXBlb2YgKiBhcyBSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlIGZyb20gXCIuL1JlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VcIlxuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlclNlcnZpY2UgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMtYXRvbS9kZWJ1Z2dlclwiXG5pbXBvcnQgeyBvYnNlcnZlQWRkZWRIb3N0bmFtZXMgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMtYXRvbS9wcm9qZWN0c1wiXG5pbXBvcnQgbnVjbGlkZVVyaSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvbnVjbGlkZVVyaVwiXG5pbXBvcnQgeyBmYXN0RGVib3VuY2UgfSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvb2JzZXJ2YWJsZVwiXG5pbXBvcnQgVW5pdmVyc2FsRGlzcG9zYWJsZSBmcm9tIFwiQGF0b20taWRlLWNvbW11bml0eS9udWNsaWRlLWNvbW1vbnMvVW5pdmVyc2FsRGlzcG9zYWJsZVwiXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anMtY29tcGF0L2J1bmRsZXMvcnhqcy1jb21wYXQudW1kLm1pbi5qc1wiXG5pbXBvcnQgeyB0cmFjayB9IGZyb20gXCJAYXRvbS1pZGUtY29tbXVuaXR5L251Y2xpZGUtY29tbW9ucy9hbmFseXRpY3NcIlxuaW1wb3J0IG51bGx0aHJvd3MgZnJvbSBcIm51bGx0aHJvd3NcIlxuXG5sZXQgX3JwY1NlcnZpY2U6ID9udWNsaWRlJFJwY1NlcnZpY2UgPSBudWxsXG5cbmZ1bmN0aW9uIGdldFB5dGhvbkF0dGFjaFRhcmdldFByb2Nlc3NDb25maWcoXG4gIHRhcmdldFJvb3RVcmk6IE51Y2xpZGVVcmksXG4gIHRhcmdldDogUHl0aG9uRGVidWdnZXJBdHRhY2hUYXJnZXRcbik6IElQcm9jZXNzQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICB0YXJnZXRVcmk6IHRhcmdldFJvb3RVcmksXG4gICAgZGVidWdNb2RlOiBcImF0dGFjaFwiLFxuICAgIGFkYXB0ZXJUeXBlOiBcInB5dGhvblwiLFxuICAgIGNvbmZpZzogZ2V0UHl0aG9uQXR0YWNoVGFyZ2V0Q29uZmlnKHRhcmdldCksXG4gICAgc2VydmljZWRGaWxlRXh0ZW5zaW9uczogW1wicHlcIl0sXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UHl0aG9uQXR0YWNoVGFyZ2V0Q29uZmlnKHRhcmdldDogUHl0aG9uRGVidWdnZXJBdHRhY2hUYXJnZXQpOiBPYmplY3Qge1xuICByZXR1cm4ge1xuICAgIGxvY2FsUm9vdDogdGFyZ2V0LmxvY2FsUm9vdCxcbiAgICByZW1vdGVSb290OiB0YXJnZXQucmVtb3RlUm9vdCxcbiAgICBwb3J0OiB0YXJnZXQucG9ydCxcbiAgICBob3N0OiBcIjEyNy4wLjAuMVwiLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRScGNTZXJ2aWNlKHJwY1NlcnZpY2U6IG51Y2xpZGUkUnBjU2VydmljZSk6IElEaXNwb3NhYmxlIHtcbiAgX3JwY1NlcnZpY2UgPSBycGNTZXJ2aWNlXG4gIHJldHVybiBuZXcgVW5pdmVyc2FsRGlzcG9zYWJsZSgoKSA9PiB7XG4gICAgX3JwY1NlcnZpY2UgPSBudWxsXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Ub1JlbW90ZURlYnVnQ29tbWFuZHMoKTogSURpc3Bvc2FibGUge1xuICBjb25zdCBhZGRlZEhvc3RuYW1lcyA9IG9ic2VydmVBZGRlZEhvc3RuYW1lcygpLnN0YXJ0V2l0aChcImxvY2FsXCIpXG5cbiAgY29uc3QgcmVtb3RlRGVidWdnZXJTZXJ2aWNlcyA9IGFkZGVkSG9zdG5hbWVzLmZsYXRNYXAoKGhvc3RuYW1lKSA9PiB7XG4gICAgY29uc3Qgcm9vdFVyaSA9IGhvc3RuYW1lID09PSBcImxvY2FsXCIgPyBcIlwiIDogbnVjbGlkZVVyaS5jcmVhdGVSZW1vdGVVcmkoaG9zdG5hbWUsIFwiL1wiKVxuICAgIGNvbnN0IHNlcnZpY2UgPSBnZXRSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlQnlOdWNsaWRlVXJpKHJvb3RVcmkpXG4gICAgaWYgKHNlcnZpY2UgPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBnZXRMb2dnZXIgfSA9IHJlcXVpcmUoXCJsb2c0anNcIilcbiAgICAgIGdldExvZ2dlcigpLmVycm9yKFwibnVsbCByZW1vdGUgY29tbWFuZCBzZXJ2aWNlIGZvciB1cmk6XCIsIHJvb3RVcmkpXG4gICAgICByZXR1cm4gT2JzZXJ2YWJsZS5lbXB0eSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBPYnNlcnZhYmxlLm9mKHsgc2VydmljZSwgcm9vdFVyaSB9KVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gbmV3IFVuaXZlcnNhbERpc3Bvc2FibGUoXG4gICAgcmVtb3RlRGVidWdnZXJTZXJ2aWNlc1xuICAgICAgLmZsYXRNYXAoKHsgc2VydmljZSwgcm9vdFVyaSB9KSA9PiB7XG4gICAgICAgIHJldHVybiBzZXJ2aWNlXG4gICAgICAgICAgLm9ic2VydmVBdHRhY2hEZWJ1Z1RhcmdldHMoKVxuICAgICAgICAgIC5yZWZDb3VudCgpXG4gICAgICAgICAgLm1hcCgodGFyZ2V0cykgPT4gZmluZER1cGxpY2F0ZUF0dGFjaFRhcmdldElkcyh0YXJnZXRzKSlcbiAgICAgIH0pXG5cbiAgICAgIC5zdWJzY3JpYmUoKGR1cGxpY2F0ZVRhcmdldElkcykgPT4gbm90aWZ5RHVwbGljYXRlRGVidWdUYXJnZXRzKGR1cGxpY2F0ZVRhcmdldElkcykpLFxuICAgIHJlbW90ZURlYnVnZ2VyU2VydmljZXNcbiAgICAgIC5mbGF0TWFwKCh7IHNlcnZpY2UsIHJvb3RVcmkgfSkgPT4ge1xuICAgICAgICByZXR1cm4gc2VydmljZVxuICAgICAgICAgIC5vYnNlcnZlUmVtb3RlRGVidWdDb21tYW5kcygpXG4gICAgICAgICAgLnJlZkNvdW50KClcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICBcIkZhaWxlZCB0byBsaXN0ZW4gdG8gcmVtb3RlIGRlYnVnIGNvbW1hbmRzIC0gXCIgK1xuICAgICAgICAgICAgICAgIFwiWW91IGNvdWxkIGJlIHJ1bm5pbmcgbG9jYWxseSB3aXRoIHR3byBBdG9tIHdpbmRvd3MuIFwiICtcbiAgICAgICAgICAgICAgICBgSXNMb2NhbDogJHtTdHJpbmcocm9vdFVyaSA9PT0gXCJcIil9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuZW1wdHkoKVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLm1hcCgoY29tbWFuZDogUmVtb3RlRGVidWdDb21tYW5kUmVxdWVzdCkgPT4gKHsgcm9vdFVyaSwgY29tbWFuZCB9KSlcbiAgICAgIH0pXG4gICAgICAubGV0KGZhc3REZWJvdW5jZSg1MDApKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoeyByb290VXJpLCBjb21tYW5kIH0pID0+IHtcbiAgICAgICAgY29uc3QgYXR0YWNoUHJvY2Vzc0NvbmZpZyA9IGdldFB5dGhvbkF0dGFjaFRhcmdldFByb2Nlc3NDb25maWcocm9vdFVyaSwgY29tbWFuZC50YXJnZXQpXG4gICAgICAgIGNvbnN0IGRlYnVnZ2VyU2VydmljZSA9IGF3YWl0IGdldERlYnVnZ2VyU2VydmljZSgpXG4gICAgICAgIHRyYWNrKFwiZmItcHl0aG9uLWRlYnVnZ2VyLWF1dG8tYXR0YWNoXCIpXG4gICAgICAgIGRlYnVnZ2VyU2VydmljZS5zdGFydFZzcERlYnVnZ2luZyhhdHRhY2hQcm9jZXNzQ29uZmlnKVxuICAgICAgICAvLyBPdGhlcndpc2UsIHdlJ3JlIGFscmVhZHkgZGVidWdnaW5nIHRoYXQgdGFyZ2V0LlxuICAgICAgfSlcbiAgKVxufVxuXG5sZXQgc2hvdWxkTm90aWZ5RHVwbGljYXRlVGFyZ2V0cyA9IHRydWVcbmxldCBkdXBsaWNhdGVUYXJnZXRzTm90aWZpY2F0aW9uXG5cbmZ1bmN0aW9uIG5vdGlmeUR1cGxpY2F0ZURlYnVnVGFyZ2V0cyhkdXBsaWNhdGVUYXJnZXRJZHM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gIGlmIChkdXBsaWNhdGVUYXJnZXRJZHMuc2l6ZSA+IDAgJiYgc2hvdWxkTm90aWZ5RHVwbGljYXRlVGFyZ2V0cyAmJiBkdXBsaWNhdGVUYXJnZXRzTm90aWZpY2F0aW9uID09IG51bGwpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWRJZHMgPSBBcnJheS5mcm9tKGR1cGxpY2F0ZVRhcmdldElkcykuam9pbihcIiwgXCIpXG4gICAgZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvbiA9IGF0b20ubm90aWZpY2F0aW9ucy5hZGRJbmZvKFxuICAgICAgYERlYnVnZ2VyOiBkdXBsaWNhdGUgYXR0YWNoIHRhcmdldHM6IFxcYCR7Zm9ybWF0dGVkSWRzfVxcYGAsXG4gICAgICB7XG4gICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvbkRpZENsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHNob3VsZE5vdGlmeUR1cGxpY2F0ZVRhcmdldHMgPSBmYWxzZVxuICAgICAgICAgICAgICBpZiAoZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZHVwbGljYXRlVGFyZ2V0c05vdGlmaWNhdGlvbi5kaXNtaXNzKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHQ6IFwiSWdub3JlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgYE51Y2xpZGUgZGVidWdnZXIgZGV0ZWN0ZWQgZHVwbGljYXRlIGF0dGFjaCB0YXJnZXRzIHdpdGggaWRzICgke2Zvcm1hdHRlZElkc30pIGAgK1xuICAgICAgICAgIFwiVGhhdCBjb3VsZCBiZSBpbnN0YWdyYW0gcnVubmluZyBtdWx0aXBsZSBwcm9jZXNzZXMgLSBjaGVjayBvdXQgaHR0cHM6Ly9vdXIuaW50ZXJuLmZhY2Vib29rLmNvbS9pbnRlcm4vZGV4L2luc3RhZ3JhbS1zZXJ2ZXIvZGVidWdnaW5nLXdpdGgtbnVjbGlkZS9cIixcbiAgICAgICAgZGlzbWlzc2FibGU6IHRydWUsXG4gICAgICB9XG4gICAgKVxuICAgIGR1cGxpY2F0ZVRhcmdldHNOb3RpZmljYXRpb24ub25EaWREaXNtaXNzKCgpID0+IHtcbiAgICAgIGR1cGxpY2F0ZVRhcmdldHNOb3RpZmljYXRpb24gPSBudWxsXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kRHVwbGljYXRlQXR0YWNoVGFyZ2V0SWRzKHRhcmdldHM6IEFycmF5PFB5dGhvbkRlYnVnZ2VyQXR0YWNoVGFyZ2V0Pik6IFNldDxzdHJpbmc+IHtcbiAgY29uc3QgdGFyZ2V0SWRzID0gbmV3IFNldCgpXG4gIGNvbnN0IGR1cGxpY2F0ZVRhcmdldElkcyA9IG5ldyBTZXQoKVxuICB0YXJnZXRzLmZvckVhY2goKHRhcmdldCkgPT4ge1xuICAgIGNvbnN0IHsgaWQgfSA9IHRhcmdldFxuICAgIGlmIChpZCA9PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHRhcmdldElkcy5oYXMoaWQpKSB7XG4gICAgICBkdXBsaWNhdGVUYXJnZXRJZHMuYWRkKGlkKVxuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXRJZHMuYWRkKGlkKVxuICAgIH1cbiAgfSlcbiAgcmV0dXJuIGR1cGxpY2F0ZVRhcmdldElkc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZUJ5TnVjbGlkZVVyaSh1cmk6IE51Y2xpZGVVcmkpOiBSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlIHtcbiAgY29uc3QgUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZUxvY2FsID0gcmVxdWlyZShcIi4vUmVtb3RlRGVidWdnZXJDb21tYW5kU2VydmljZVwiKVxuICBpZiAoX3JwY1NlcnZpY2UgPT0gbnVsbCAmJiAhbnVjbGlkZVVyaS5pc1JlbW90ZSh1cmkpKSB7XG4gICAgcmV0dXJuIFJlbW90ZURlYnVnZ2VyQ29tbWFuZFNlcnZpY2VMb2NhbFxuICB9XG5cbiAgcmV0dXJuIG51bGx0aHJvd3MoX3JwY1NlcnZpY2UpLmdldFNlcnZpY2VCeU51Y2xpZGVVcmkoXCJSZW1vdGVEZWJ1Z2dlckNvbW1hbmRTZXJ2aWNlXCIsIHVyaSlcbn1cbiJdfQ== \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index 1baad186..e570a607 100644 --- a/dist/main.js +++ b/dist/main.js @@ -21,7 +21,7 @@ const { // Ref: https://github.com/nteract/hydrogen/blob/master/lib/autocomplete-provider.js#L33 // adapted from http://stackoverflow.com/q/5474008 -const PYTHON_REGEX = /(([^\d\W]|[\u00A0-\uFFFF])[\w.\u00A0-\uFFFF]*)|\.$/; +const PYTHON_REGEX = /(([^\W\d]|[\u00A0-\uFFFF])[\w.\u00A0-\uFFFF]*)|\.$/; class PythonLanguageClient extends AutoLanguageClient { activate() { @@ -35,8 +35,14 @@ class PythonLanguageClient extends AutoLanguageClient { atom.packages.enablePackage("atom-ide-base"); atom.notifications.addSuccess("ide-pyhon: atom-ide-base was installed and enabled..."); }); - } + } // Remove deprecated option + + + atom.config.unset("ide-python.pylsPath"); + (0, _main.activate)(); } + /* eslint-disable class-methods-use-this */ + getGrammarScopes() { return ["source.python", "python"]; @@ -54,13 +60,6 @@ class PythonLanguageClient extends AutoLanguageClient { return "ide-python"; } - activate() { - // Remove deprecated option - atom.config.unset("ide-python.pylsPath"); - super.activate(); - (0, _main.activate)(); - } - mapConfigurationObject(configuration) { return { pyls: { @@ -70,16 +69,26 @@ class PythonLanguageClient extends AutoLanguageClient { } }; } + /* eslint-enable class-methods-use-this */ + async startServerProcess(projectPath) { const venvPath = (await detectPipEnv(projectPath)) || (await detectVirtualEnv(projectPath)); const pylsEnvironment = Object.assign({}, process.env); if (venvPath) { - pylsEnvironment["VIRTUAL_ENV"] = venvPath; + pylsEnvironment.VIRTUAL_ENV = venvPath; + } + + let pythonBin = atom.config.get("ide-python.python") || "python3"; + + if (whichSync(pythonBin, { + nothrow: true + }) === null) { + pythonBin = "python"; } - this.python = replacePipEnvPathVar(atom.config.get("ide-python.python"), venvPath); + this.python = replacePipEnvPathVar(pythonBin, venvPath); let pyls = atom.config.get("ide-python.pyls") || "pylsp"; // check if it exists if (whichSync(pyls, { @@ -96,7 +105,7 @@ class PythonLanguageClient extends AutoLanguageClient { } onSpawnError(err) { - const description = err.code == "ENOENT" ? `No Python interpreter found at \`${this.python}\`.` : `Could not spawn the Python interpreter \`${this.python}\`.`; + const description = err.code === "ENOENT" ? `No Python interpreter found at \`${this.python}\`.` : `Could not spawn the Python interpreter \`${this.python}\`.`; atom.notifications.addError("`ide-python` could not launch your Python runtime.", { dismissable: true, description: `${description}
If you have Python installed please set "Python Executable" setting correctly. If you do not please install Python.
` @@ -104,7 +113,7 @@ class PythonLanguageClient extends AutoLanguageClient { } onSpawnClose(code, signal) { - if (code !== 0 && signal == null) { + if (code !== 0 && signal === null) { atom.notifications.addError("Unable to start the Python language server.", { dismissable: true, buttons: [{ @@ -119,8 +128,11 @@ class PythonLanguageClient extends AutoLanguageClient { } } - async getSuggestions(request) { - if (!PYTHON_REGEX.test(request.prefix)) return null; + getSuggestions(request) { + if (!PYTHON_REGEX.test(request.prefix)) { + return null; + } + return super.getSuggestions(request); } @@ -130,8 +142,8 @@ class PythonLanguageClient extends AutoLanguageClient { } createTimeoutPromise(milliseconds) { - return new Promise((resolve, reject) => { - let timeout = setTimeout(() => { + return new Promise(resolve => { + const timeout = setTimeout(() => { clearTimeout(timeout); this.logger.error(`Server failed to shutdown in ${milliseconds}ms, forcing termination`); resolve(); @@ -145,4 +157,4 @@ const pythonClient = new PythonLanguageClient(); pythonClient.createDebuggerProvider = _main.createDebuggerProvider; // add the debugger module.exports = pythonClient; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiXSwibmFtZXMiOlsic2hlbGwiLCJyZXF1aXJlIiwid2hpY2hTeW5jIiwic3luYyIsIkF1dG9MYW5ndWFnZUNsaWVudCIsImRldGVjdFZpcnR1YWxFbnYiLCJkZXRlY3RQaXBFbnYiLCJyZXBsYWNlUGlwRW52UGF0aFZhciIsInNhbml0aXplQ29uZmlnIiwiUFlUSE9OX1JFR0VYIiwiUHl0aG9uTGFuZ3VhZ2VDbGllbnQiLCJhY3RpdmF0ZSIsImF0b20iLCJwYWNrYWdlcyIsImlzUGFja2FnZUxvYWRlZCIsImluc3RhbGwiLCJ0aGVuIiwiZW5hYmxlUGFja2FnZSIsIm5vdGlmaWNhdGlvbnMiLCJhZGRTdWNjZXNzIiwiZ2V0R3JhbW1hclNjb3BlcyIsImdldExhbmd1YWdlTmFtZSIsImdldFNlcnZlck5hbWUiLCJnZXRSb290Q29uZmlndXJhdGlvbktleSIsImNvbmZpZyIsInVuc2V0IiwibWFwQ29uZmlndXJhdGlvbk9iamVjdCIsImNvbmZpZ3VyYXRpb24iLCJweWxzIiwiY29uZmlndXJhdGlvblNvdXJjZXMiLCJweWxzQ29uZmlndXJhdGlvblNvdXJjZXMiLCJyb3BlIiwicGx1Z2lucyIsInB5bHNQbHVnaW5zIiwic3RhcnRTZXJ2ZXJQcm9jZXNzIiwicHJvamVjdFBhdGgiLCJ2ZW52UGF0aCIsInB5bHNFbnZpcm9ubWVudCIsIk9iamVjdCIsImFzc2lnbiIsInByb2Nlc3MiLCJlbnYiLCJweXRob24iLCJnZXQiLCJub3Rocm93IiwiY2hpbGRQcm9jZXNzIiwic3Bhd24iLCJjd2QiLCJvblNwYXduRXJyb3IiLCJlcnIiLCJkZXNjcmlwdGlvbiIsImNvZGUiLCJhZGRFcnJvciIsImRpc21pc3NhYmxlIiwib25TcGF3bkNsb3NlIiwic2lnbmFsIiwiYnV0dG9ucyIsInRleHQiLCJvbkRpZENsaWNrIiwid29ya3NwYWNlIiwib3BlbiIsIm9wZW5FeHRlcm5hbCIsImdldFN1Z2dlc3Rpb25zIiwicmVxdWVzdCIsInRlc3QiLCJwcmVmaXgiLCJkZWFjdGl2YXRlIiwiUHJvbWlzZSIsInJhY2UiLCJjcmVhdGVUaW1lb3V0UHJvbWlzZSIsIm1pbGxpc2Vjb25kcyIsInJlc29sdmUiLCJyZWplY3QiLCJ0aW1lb3V0Iiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsImxvZ2dlciIsImVycm9yIiwicHl0aG9uQ2xpZW50IiwiY3JlYXRlRGVidWdnZXJQcm92aWRlciIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7O0FBS0E7O0FBTEEsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQVlDLE9BQU8sQ0FBQyxVQUFELENBQXpCOztBQUNBLE1BQU1DLFNBQVMsR0FBR0QsT0FBTyxDQUFDLE9BQUQsQ0FBUCxDQUFpQkUsSUFBbkM7O0FBQ0EsTUFBTTtBQUFFQyxFQUFBQTtBQUFGLElBQXlCSCxPQUFPLENBQUMscUJBQUQsQ0FBdEM7O0FBQ0EsTUFBTTtBQUFFSSxFQUFBQSxnQkFBRjtBQUFvQkMsRUFBQUEsWUFBcEI7QUFBa0NDLEVBQUFBLG9CQUFsQztBQUF3REMsRUFBQUE7QUFBeEQsSUFBMkVQLE9BQU8sQ0FBQyxTQUFELENBQXhGOztBQUlBO0FBQ0E7QUFDQSxNQUFNUSxZQUFZLEdBQUcsb0RBQXJCOztBQUVBLE1BQU1DLG9CQUFOLFNBQW1DTixrQkFBbkMsQ0FBc0Q7QUFDcERPLEVBQUFBLFFBQVEsR0FBRztBQUNULFVBQU1BLFFBQU47O0FBQ0EsUUFBSSxDQUFDQyxJQUFJLENBQUNDLFFBQUwsQ0FBY0MsZUFBZCxDQUE4QixlQUE5QixDQUFMLEVBQXFEO0FBQ25EO0FBQ0E7QUFDQWIsTUFBQUEsT0FBTyxDQUFDLG1CQUFELENBQVAsQ0FDR2MsT0FESCxDQUNXLFlBRFgsRUFDeUIsSUFEekIsRUFFR0MsSUFGSCxDQUVRLE1BQU07QUFDVjtBQUNBSixRQUFBQSxJQUFJLENBQUNDLFFBQUwsQ0FBY0ksYUFBZCxDQUE0QixlQUE1QjtBQUNBTCxRQUFBQSxJQUFJLENBQUNNLGFBQUwsQ0FBbUJDLFVBQW5CLENBQThCLHVEQUE5QjtBQUNELE9B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LE9BSnVCLEVBSXJCRCxZQUpxQixDQUF4QjtBQUtELEtBTk0sQ0FBUDtBQU9EOztBQTFIbUQ7O0FBNkh0RCxNQUFNUSxZQUFZLEdBQUcsSUFBSXBFLG9CQUFKLEVBQXJCO0FBQ0FvRSxZQUFZLENBQUNDLHNCQUFiLEdBQXNDQSw0QkFBdEMsQyxDQUE2RDs7QUFDN0RDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQkgsWUFBakIiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IHNoZWxsIH0gPSByZXF1aXJlKFwiZWxlY3Ryb25cIilcbmNvbnN0IHdoaWNoU3luYyA9IHJlcXVpcmUoXCJ3aGljaFwiKS5zeW5jXG5jb25zdCB7IEF1dG9MYW5ndWFnZUNsaWVudCB9ID0gcmVxdWlyZShcImF0b20tbGFuZ3VhZ2VjbGllbnRcIilcbmNvbnN0IHsgZGV0ZWN0VmlydHVhbEVudiwgZGV0ZWN0UGlwRW52LCByZXBsYWNlUGlwRW52UGF0aFZhciwgc2FuaXRpemVDb25maWcgfSA9IHJlcXVpcmUoXCIuL3V0aWxzXCIpXG5cbmltcG9ydCB7IGNyZWF0ZURlYnVnZ2VyUHJvdmlkZXIsIGFjdGl2YXRlIGFzIGRlYnVnZ2VyQWN0aXZhdGUsIGRpc3Bvc2UgYXMgZGVidWdnZXJEaXNwb3NlIH0gZnJvbSBcIi4vZGVidWdnZXIvbWFpblwiXG5cbi8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL250ZXJhY3QvaHlkcm9nZW4vYmxvYi9tYXN0ZXIvbGliL2F1dG9jb21wbGV0ZS1wcm92aWRlci5qcyNMMzNcbi8vIGFkYXB0ZWQgZnJvbSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcS81NDc0MDA4XG5jb25zdCBQWVRIT05fUkVHRVggPSAvKChbXlxcZFxcV118W1xcdTAwQTAtXFx1RkZGRl0pW1xcdy5cXHUwMEEwLVxcdUZGRkZdKil8XFwuJC9cblxuY2xhc3MgUHl0aG9uTGFuZ3VhZ2VDbGllbnQgZXh0ZW5kcyBBdXRvTGFuZ3VhZ2VDbGllbnQge1xuICBhY3RpdmF0ZSgpIHtcbiAgICBzdXBlci5hY3RpdmF0ZSgpXG4gICAgaWYgKCFhdG9tLnBhY2thZ2VzLmlzUGFja2FnZUxvYWRlZChcImF0b20taWRlLWJhc2VcIikpIHtcbiAgICAgIC8vIGluc3RhbGwgaWYgbm90IGluc3RhbGxlZFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAgIHJlcXVpcmUoXCJhdG9tLXBhY2thZ2UtZGVwc1wiKVxuICAgICAgICAuaW5zdGFsbChcImlkZS1weXRob25cIiwgdHJ1ZSlcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIC8vIGVuYWJsZSBpZiBkaXNhYmxlZFxuICAgICAgICAgIGF0b20ucGFja2FnZXMuZW5hYmxlUGFja2FnZShcImF0b20taWRlLWJhc2VcIilcbiAgICAgICAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkU3VjY2VzcyhcImlkZS1weWhvbjogYXRvbS1pZGUtYmFzZSB3YXMgaW5zdGFsbGVkIGFuZCBlbmFibGVkLi4uXCIpXG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0R3JhbW1hclNjb3BlcygpIHtcbiAgICByZXR1cm4gW1wic291cmNlLnB5dGhvblwiLCBcInB5dGhvblwiXVxuICB9XG5cbiAgZ2V0TGFuZ3VhZ2VOYW1lKCkge1xuICAgIHJldHVybiBcIlB5dGhvblwiXG4gIH1cblxuICBnZXRTZXJ2ZXJOYW1lKCkge1xuICAgIHJldHVybiBcInB5bHNcIlxuICB9XG5cbiAgZ2V0Um9vdENvbmZpZ3VyYXRpb25LZXkoKSB7XG4gICAgcmV0dXJuIFwiaWRlLXB5dGhvblwiXG4gIH1cblxuICBhY3RpdmF0ZSgpIHtcbiAgICAvLyBSZW1vdmUgZGVwcmVjYXRlZCBvcHRpb25cbiAgICBhdG9tLmNvbmZpZy51bnNldChcImlkZS1weXRob24ucHlsc1BhdGhcIilcbiAgICBzdXBlci5hY3RpdmF0ZSgpXG4gICAgZGVidWdnZXJBY3RpdmF0ZSgpXG4gIH1cblxuICBtYXBDb25maWd1cmF0aW9uT2JqZWN0KGNvbmZpZ3VyYXRpb24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHlsczoge1xuICAgICAgICBjb25maWd1cmF0aW9uU291cmNlczogY29uZmlndXJhdGlvbi5weWxzQ29uZmlndXJhdGlvblNvdXJjZXMsXG4gICAgICAgIHJvcGU6IHNhbml0aXplQ29uZmlnKGNvbmZpZ3VyYXRpb24ucm9wZSksXG4gICAgICAgIHBsdWdpbnM6IGNvbmZpZ3VyYXRpb24ucHlsc1BsdWdpbnMsXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHN0YXJ0U2VydmVyUHJvY2Vzcyhwcm9qZWN0UGF0aCkge1xuICAgIGNvbnN0IHZlbnZQYXRoID0gKGF3YWl0IGRldGVjdFBpcEVudihwcm9qZWN0UGF0aCkpIHx8IChhd2FpdCBkZXRlY3RWaXJ0dWFsRW52KHByb2plY3RQYXRoKSlcbiAgICBjb25zdCBweWxzRW52aXJvbm1lbnQgPSBPYmplY3QuYXNzaWduKHt9LCBwcm9jZXNzLmVudilcbiAgICBpZiAodmVudlBhdGgpIHtcbiAgICAgIHB5bHNFbnZpcm9ubWVudFtcIlZJUlRVQUxfRU5WXCJdID0gdmVudlBhdGhcbiAgICB9XG4gICAgdGhpcy5weXRob24gPSByZXBsYWNlUGlwRW52UGF0aFZhcihhdG9tLmNvbmZpZy5nZXQoXCJpZGUtcHl0aG9uLnB5dGhvblwiKSwgdmVudlBhdGgpXG5cbiAgICBsZXQgcHlscyA9IGF0b20uY29uZmlnLmdldChcImlkZS1weXRob24ucHlsc1wiKSB8fCBcInB5bHNwXCJcbiAgICAvLyBjaGVjayBpZiBpdCBleGlzdHNcbiAgICBpZiAod2hpY2hTeW5jKHB5bHMsIHsgbm90aHJvdzogdHJ1ZSB9KSA9PT0gbnVsbCkge1xuICAgICAgcHlscyA9IFwicHlsc1wiXG4gICAgfVxuICAgIGNvbnN0IGNoaWxkUHJvY2VzcyA9IHN1cGVyLnNwYXduKHRoaXMucHl0aG9uLCBbXCItbVwiLCBweWxzXSwge1xuICAgICAgY3dkOiBwcm9qZWN0UGF0aCxcbiAgICAgIGVudjogcHlsc0Vudmlyb25tZW50LFxuICAgIH0pXG4gICAgcmV0dXJuIGNoaWxkUHJvY2Vzc1xuICB9XG5cbiAgb25TcGF3bkVycm9yKGVycikge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID1cbiAgICAgIGVyci5jb2RlID09IFwiRU5PRU5UXCJcbiAgICAgICAgPyBgTm8gUHl0aG9uIGludGVycHJldGVyIGZvdW5kIGF0IFxcYCR7dGhpcy5weXRob259XFxgLmBcbiAgICAgICAgOiBgQ291bGQgbm90IHNwYXduIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgXFxgJHt0aGlzLnB5dGhvbn1cXGAuYFxuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRFcnJvcihcImBpZGUtcHl0aG9uYCBjb3VsZCBub3QgbGF1bmNoIHlvdXIgUHl0aG9uIHJ1bnRpbWUuXCIsIHtcbiAgICAgIGRpc21pc3NhYmxlOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246IGAke2Rlc2NyaXB0aW9ufTxwPklmIHlvdSBoYXZlIFB5dGhvbiBpbnN0YWxsZWQgcGxlYXNlIHNldCBcIlB5dGhvbiBFeGVjdXRhYmxlXCIgc2V0dGluZyBjb3JyZWN0bHkuIElmIHlvdSBkbyBub3QgcGxlYXNlIGluc3RhbGwgUHl0aG9uLjwvcD5gLFxuICAgIH0pXG4gIH1cblxuICBvblNwYXduQ2xvc2UoY29kZSwgc2lnbmFsKSB7XG4gICAgaWYgKGNvZGUgIT09IDAgJiYgc2lnbmFsID09IG51bGwpIHtcbiAgICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRFcnJvcihcIlVuYWJsZSB0byBzdGFydCB0aGUgUHl0aG9uIGxhbmd1YWdlIHNlcnZlci5cIiwge1xuICAgICAgICBkaXNtaXNzYWJsZTogdHJ1ZSxcbiAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IFwiSW5zdGFsbCBJbnN0cnVjdGlvbnNcIixcbiAgICAgICAgICAgIG9uRGlkQ2xpY2s6ICgpID0+IGF0b20ud29ya3NwYWNlLm9wZW4oXCJhdG9tOi8vY29uZmlnL3BhY2thZ2VzL2lkZS1weXRob25cIiksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiBcIkRvd25sb2FkIFB5dGhvblwiLFxuICAgICAgICAgICAgb25EaWRDbGljazogKCkgPT4gc2hlbGwub3BlbkV4dGVybmFsKFwiaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZHMvXCIpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgIFwiTWFrZSBzdXJlIHRvIGluc3RhbGwgYHB5bHNwYCAwLjE5IG9yIG5ld2VyIGJ5IHJ1bm5pbmc6XFxuXCIgK1xuICAgICAgICAgIFwiYGBgXFxuXCIgK1xuICAgICAgICAgIGAke3RoaXMucHl0aG9ufSAtbSBwaXAgaW5zdGFsbCAncHl0aG9uLWxzcC1zZXJ2ZXJbYWxsXSdcXG5gICtcbiAgICAgICAgICBgJHt0aGlzLnB5dGhvbn0gLW0gcGlwIGluc3RhbGwgZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS90b212NTY0L3B5bHMtbXlweS5naXRcXG5gICtcbiAgICAgICAgICBcImBgYFwiLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRTdWdnZXN0aW9ucyhyZXF1ZXN0KSB7XG4gICAgaWYgKCFQWVRIT05fUkVHRVgudGVzdChyZXF1ZXN0LnByZWZpeCkpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHN1cGVyLmdldFN1Z2dlc3Rpb25zKHJlcXVlc3QpXG4gIH1cblxuICBkZWFjdGl2YXRlKCkge1xuICAgIGRlYnVnZ2VyRGlzcG9zZSgpXG4gICAgcmV0dXJuIFByb21pc2UucmFjZShbc3VwZXIuZGVhY3RpdmF0ZSgpLCB0aGlzLmNyZWF0ZVRpbWVvdXRQcm9taXNlKDIwMDApXSlcbiAgfVxuXG4gIGNyZWF0ZVRpbWVvdXRQcm9taXNlKG1pbGxpc2Vjb25kcykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dClcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYFNlcnZlciBmYWlsZWQgdG8gc2h1dGRvd24gaW4gJHttaWxsaXNlY29uZHN9bXMsIGZvcmNpbmcgdGVybWluYXRpb25gKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0sIG1pbGxpc2Vjb25kcylcbiAgICB9KVxuICB9XG59XG5cbmNvbnN0IHB5dGhvbkNsaWVudCA9IG5ldyBQeXRob25MYW5ndWFnZUNsaWVudCgpXG5weXRob25DbGllbnQuY3JlYXRlRGVidWdnZXJQcm92aWRlciA9IGNyZWF0ZURlYnVnZ2VyUHJvdmlkZXIgLy8gYWRkIHRoZSBkZWJ1Z2dlclxubW9kdWxlLmV4cG9ydHMgPSBweXRob25DbGllbnRcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiXSwibmFtZXMiOlsic2hlbGwiLCJyZXF1aXJlIiwid2hpY2hTeW5jIiwic3luYyIsIkF1dG9MYW5ndWFnZUNsaWVudCIsImRldGVjdFZpcnR1YWxFbnYiLCJkZXRlY3RQaXBFbnYiLCJyZXBsYWNlUGlwRW52UGF0aFZhciIsInNhbml0aXplQ29uZmlnIiwiUFlUSE9OX1JFR0VYIiwiUHl0aG9uTGFuZ3VhZ2VDbGllbnQiLCJhY3RpdmF0ZSIsImF0b20iLCJwYWNrYWdlcyIsImlzUGFja2FnZUxvYWRlZCIsImluc3RhbGwiLCJ0aGVuIiwiZW5hYmxlUGFja2FnZSIsIm5vdGlmaWNhdGlvbnMiLCJhZGRTdWNjZXNzIiwiY29uZmlnIiwidW5zZXQiLCJnZXRHcmFtbWFyU2NvcGVzIiwiZ2V0TGFuZ3VhZ2VOYW1lIiwiZ2V0U2VydmVyTmFtZSIsImdldFJvb3RDb25maWd1cmF0aW9uS2V5IiwibWFwQ29uZmlndXJhdGlvbk9iamVjdCIsImNvbmZpZ3VyYXRpb24iLCJweWxzIiwiY29uZmlndXJhdGlvblNvdXJjZXMiLCJweWxzQ29uZmlndXJhdGlvblNvdXJjZXMiLCJyb3BlIiwicGx1Z2lucyIsInB5bHNQbHVnaW5zIiwic3RhcnRTZXJ2ZXJQcm9jZXNzIiwicHJvamVjdFBhdGgiLCJ2ZW52UGF0aCIsInB5bHNFbnZpcm9ubWVudCIsIk9iamVjdCIsImFzc2lnbiIsInByb2Nlc3MiLCJlbnYiLCJWSVJUVUFMX0VOViIsInB5dGhvbkJpbiIsImdldCIsIm5vdGhyb3ciLCJweXRob24iLCJjaGlsZFByb2Nlc3MiLCJzcGF3biIsImN3ZCIsIm9uU3Bhd25FcnJvciIsImVyciIsImRlc2NyaXB0aW9uIiwiY29kZSIsImFkZEVycm9yIiwiZGlzbWlzc2FibGUiLCJvblNwYXduQ2xvc2UiLCJzaWduYWwiLCJidXR0b25zIiwidGV4dCIsIm9uRGlkQ2xpY2siLCJ3b3Jrc3BhY2UiLCJvcGVuIiwib3BlbkV4dGVybmFsIiwiZ2V0U3VnZ2VzdGlvbnMiLCJyZXF1ZXN0IiwidGVzdCIsInByZWZpeCIsImRlYWN0aXZhdGUiLCJQcm9taXNlIiwicmFjZSIsImNyZWF0ZVRpbWVvdXRQcm9taXNlIiwibWlsbGlzZWNvbmRzIiwicmVzb2x2ZSIsInRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwibG9nZ2VyIiwiZXJyb3IiLCJweXRob25DbGllbnQiLCJjcmVhdGVEZWJ1Z2dlclByb3ZpZGVyIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFLQTs7QUFMQSxNQUFNO0FBQUVBLEVBQUFBO0FBQUYsSUFBWUMsT0FBTyxDQUFDLFVBQUQsQ0FBekI7O0FBQ0EsTUFBTUMsU0FBUyxHQUFHRCxPQUFPLENBQUMsT0FBRCxDQUFQLENBQWlCRSxJQUFuQzs7QUFDQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBeUJILE9BQU8sQ0FBQyxxQkFBRCxDQUF0Qzs7QUFDQSxNQUFNO0FBQUVJLEVBQUFBLGdCQUFGO0FBQW9CQyxFQUFBQSxZQUFwQjtBQUFrQ0MsRUFBQUEsb0JBQWxDO0FBQXdEQyxFQUFBQTtBQUF4RCxJQUEyRVAsT0FBTyxDQUFDLFNBQUQsQ0FBeEY7O0FBSUE7QUFDQTtBQUNBLE1BQU1RLFlBQVksR0FBRyxvREFBckI7O0FBRUEsTUFBTUMsb0JBQU4sU0FBbUNOLGtCQUFuQyxDQUFzRDtBQUNwRE8sRUFBQUEsUUFBUSxHQUFHO0FBQ1QsVUFBTUEsUUFBTjs7QUFDQSxRQUFJLENBQUNDLElBQUksQ0FBQ0MsUUFBTCxDQUFjQyxlQUFkLENBQThCLGVBQTlCLENBQUwsRUFBcUQ7QUFDbkQ7QUFDQTtBQUNBYixNQUFBQSxPQUFPLENBQUMsbUJBQUQsQ0FBUCxDQUNHYyxPQURILENBQ1csWUFEWCxFQUN5QixJQUR6QixFQUVHQyxJQUZILENBRVEsTUFBTTtBQUNWO0FBQ0FKLFFBQUFBLElBQUksQ0FBQ0MsUUFBTCxDQUFjSSxhQUFkLENBQTRCLGVBQTVCO0FBQ0FMLFFBQUFBLElBQUksQ0FBQ00sYUFBTCxDQUFtQkMsVUFBbkIsQ0FB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QixZQUFNQyxPQUFPLEdBQUdDLFVBQVUsQ0FBQyxNQUFNO0FBQy9CQyxRQUFBQSxZQUFZLENBQUNGLE9BQUQsQ0FBWjtBQUNBLGFBQUtHLE1BQUwsQ0FBWUMsS0FBWixDQUFtQixnQ0FBK0JOLFlBQWEseUJBQS9EO0FBQ0FDLFFBQUFBLE9BQU87QUFDUixPQUp5QixFQUl2QkQsWUFKdUIsQ0FBMUI7QUFLRCxLQU5NLENBQVA7QUFPRDs7QUFqSW1EOztBQW9JdEQsTUFBTU8sWUFBWSxHQUFHLElBQUlyRSxvQkFBSixFQUFyQjtBQUNBcUUsWUFBWSxDQUFDQyxzQkFBYixHQUFzQ0EsNEJBQXRDLEMsQ0FBNkQ7O0FBQzdEQyxNQUFNLENBQUNDLE9BQVAsR0FBaUJILFlBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyBzaGVsbCB9ID0gcmVxdWlyZShcImVsZWN0cm9uXCIpXG5jb25zdCB3aGljaFN5bmMgPSByZXF1aXJlKFwid2hpY2hcIikuc3luY1xuY29uc3QgeyBBdXRvTGFuZ3VhZ2VDbGllbnQgfSA9IHJlcXVpcmUoXCJhdG9tLWxhbmd1YWdlY2xpZW50XCIpXG5jb25zdCB7IGRldGVjdFZpcnR1YWxFbnYsIGRldGVjdFBpcEVudiwgcmVwbGFjZVBpcEVudlBhdGhWYXIsIHNhbml0aXplQ29uZmlnIH0gPSByZXF1aXJlKFwiLi91dGlsc1wiKVxuXG5pbXBvcnQgeyBjcmVhdGVEZWJ1Z2dlclByb3ZpZGVyLCBhY3RpdmF0ZSBhcyBkZWJ1Z2dlckFjdGl2YXRlLCBkaXNwb3NlIGFzIGRlYnVnZ2VyRGlzcG9zZSB9IGZyb20gXCIuL2RlYnVnZ2VyL21haW5cIlxuXG4vLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9udGVyYWN0L2h5ZHJvZ2VuL2Jsb2IvbWFzdGVyL2xpYi9hdXRvY29tcGxldGUtcHJvdmlkZXIuanMjTDMzXG4vLyBhZGFwdGVkIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3EvNTQ3NDAwOFxuY29uc3QgUFlUSE9OX1JFR0VYID0gLygoW15cXFdcXGRdfFtcXHUwMEEwLVxcdUZGRkZdKVtcXHcuXFx1MDBBMC1cXHVGRkZGXSopfFxcLiQvXG5cbmNsYXNzIFB5dGhvbkxhbmd1YWdlQ2xpZW50IGV4dGVuZHMgQXV0b0xhbmd1YWdlQ2xpZW50IHtcbiAgYWN0aXZhdGUoKSB7XG4gICAgc3VwZXIuYWN0aXZhdGUoKVxuICAgIGlmICghYXRvbS5wYWNrYWdlcy5pc1BhY2thZ2VMb2FkZWQoXCJhdG9tLWlkZS1iYXNlXCIpKSB7XG4gICAgICAvLyBpbnN0YWxsIGlmIG5vdCBpbnN0YWxsZWRcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgICByZXF1aXJlKFwiYXRvbS1wYWNrYWdlLWRlcHNcIilcbiAgICAgICAgLmluc3RhbGwoXCJpZGUtcHl0aG9uXCIsIHRydWUpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAvLyBlbmFibGUgaWYgZGlzYWJsZWRcbiAgICAgICAgICBhdG9tLnBhY2thZ2VzLmVuYWJsZVBhY2thZ2UoXCJhdG9tLWlkZS1iYXNlXCIpXG4gICAgICAgICAgYXRvbS5ub3RpZmljYXRpb25zLmFkZFN1Y2Nlc3MoXCJpZGUtcHlob246IGF0b20taWRlLWJhc2Ugd2FzIGluc3RhbGxlZCBhbmQgZW5hYmxlZC4uLlwiKVxuICAgICAgICB9KVxuICAgIH1cbiAgICAvLyBSZW1vdmUgZGVwcmVjYXRlZCBvcHRpb25cbiAgICBhdG9tLmNvbmZpZy51bnNldChcImlkZS1weXRob24ucHlsc1BhdGhcIilcbiAgICBkZWJ1Z2dlckFjdGl2YXRlKClcbiAgfVxuXG4gIC8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cbiAgZ2V0R3JhbW1hclNjb3BlcygpIHtcbiAgICByZXR1cm4gW1wic291cmNlLnB5dGhvblwiLCBcInB5dGhvblwiXVxuICB9XG5cbiAgZ2V0TGFuZ3VhZ2VOYW1lKCkge1xuICAgIHJldHVybiBcIlB5dGhvblwiXG4gIH1cblxuICBnZXRTZXJ2ZXJOYW1lKCkge1xuICAgIHJldHVybiBcInB5bHNcIlxuICB9XG5cbiAgZ2V0Um9vdENvbmZpZ3VyYXRpb25LZXkoKSB7XG4gICAgcmV0dXJuIFwiaWRlLXB5dGhvblwiXG4gIH1cblxuICBtYXBDb25maWd1cmF0aW9uT2JqZWN0KGNvbmZpZ3VyYXRpb24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHlsczoge1xuICAgICAgICBjb25maWd1cmF0aW9uU291cmNlczogY29uZmlndXJhdGlvbi5weWxzQ29uZmlndXJhdGlvblNvdXJjZXMsXG4gICAgICAgIHJvcGU6IHNhbml0aXplQ29uZmlnKGNvbmZpZ3VyYXRpb24ucm9wZSksXG4gICAgICAgIHBsdWdpbnM6IGNvbmZpZ3VyYXRpb24ucHlsc1BsdWdpbnMsXG4gICAgICB9LFxuICAgIH1cbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cblxuICBhc3luYyBzdGFydFNlcnZlclByb2Nlc3MocHJvamVjdFBhdGgpIHtcbiAgICBjb25zdCB2ZW52UGF0aCA9IChhd2FpdCBkZXRlY3RQaXBFbnYocHJvamVjdFBhdGgpKSB8fCAoYXdhaXQgZGV0ZWN0VmlydHVhbEVudihwcm9qZWN0UGF0aCkpXG4gICAgY29uc3QgcHlsc0Vudmlyb25tZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgcHJvY2Vzcy5lbnYpXG4gICAgaWYgKHZlbnZQYXRoKSB7XG4gICAgICBweWxzRW52aXJvbm1lbnQuVklSVFVBTF9FTlYgPSB2ZW52UGF0aFxuICAgIH1cblxuICAgIGxldCBweXRob25CaW4gPSBhdG9tLmNvbmZpZy5nZXQoXCJpZGUtcHl0aG9uLnB5dGhvblwiKSB8fCBcInB5dGhvbjNcIlxuICAgIGlmICh3aGljaFN5bmMocHl0aG9uQmluLCB7IG5vdGhyb3c6IHRydWUgfSkgPT09IG51bGwpIHtcbiAgICAgIHB5dGhvbkJpbiA9IFwicHl0aG9uXCJcbiAgICB9XG5cbiAgICB0aGlzLnB5dGhvbiA9IHJlcGxhY2VQaXBFbnZQYXRoVmFyKHB5dGhvbkJpbiwgdmVudlBhdGgpXG5cbiAgICBsZXQgcHlscyA9IGF0b20uY29uZmlnLmdldChcImlkZS1weXRob24ucHlsc1wiKSB8fCBcInB5bHNwXCJcbiAgICAvLyBjaGVjayBpZiBpdCBleGlzdHNcbiAgICBpZiAod2hpY2hTeW5jKHB5bHMsIHsgbm90aHJvdzogdHJ1ZSB9KSA9PT0gbnVsbCkge1xuICAgICAgcHlscyA9IFwicHlsc1wiXG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRQcm9jZXNzID0gc3VwZXIuc3Bhd24odGhpcy5weXRob24sIFtcIi1tXCIsIHB5bHNdLCB7XG4gICAgICBjd2Q6IHByb2plY3RQYXRoLFxuICAgICAgZW52OiBweWxzRW52aXJvbm1lbnQsXG4gICAgfSlcbiAgICByZXR1cm4gY2hpbGRQcm9jZXNzXG4gIH1cblxuICBvblNwYXduRXJyb3IoZXJyKSB7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPVxuICAgICAgZXJyLmNvZGUgPT09IFwiRU5PRU5UXCJcbiAgICAgICAgPyBgTm8gUHl0aG9uIGludGVycHJldGVyIGZvdW5kIGF0IFxcYCR7dGhpcy5weXRob259XFxgLmBcbiAgICAgICAgOiBgQ291bGQgbm90IHNwYXduIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgXFxgJHt0aGlzLnB5dGhvbn1cXGAuYFxuICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRFcnJvcihcImBpZGUtcHl0aG9uYCBjb3VsZCBub3QgbGF1bmNoIHlvdXIgUHl0aG9uIHJ1bnRpbWUuXCIsIHtcbiAgICAgIGRpc21pc3NhYmxlOiB0cnVlLFxuICAgICAgZGVzY3JpcHRpb246IGAke2Rlc2NyaXB0aW9ufTxwPklmIHlvdSBoYXZlIFB5dGhvbiBpbnN0YWxsZWQgcGxlYXNlIHNldCBcIlB5dGhvbiBFeGVjdXRhYmxlXCIgc2V0dGluZyBjb3JyZWN0bHkuIElmIHlvdSBkbyBub3QgcGxlYXNlIGluc3RhbGwgUHl0aG9uLjwvcD5gLFxuICAgIH0pXG4gIH1cblxuICBvblNwYXduQ2xvc2UoY29kZSwgc2lnbmFsKSB7XG4gICAgaWYgKGNvZGUgIT09IDAgJiYgc2lnbmFsID09PSBudWxsKSB7XG4gICAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkRXJyb3IoXCJVbmFibGUgdG8gc3RhcnQgdGhlIFB5dGhvbiBsYW5ndWFnZSBzZXJ2ZXIuXCIsIHtcbiAgICAgICAgZGlzbWlzc2FibGU6IHRydWUsXG4gICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiBcIkluc3RhbGwgSW5zdHJ1Y3Rpb25zXCIsXG4gICAgICAgICAgICBvbkRpZENsaWNrOiAoKSA9PiBhdG9tLndvcmtzcGFjZS5vcGVuKFwiYXRvbTovL2NvbmZpZy9wYWNrYWdlcy9pZGUtcHl0aG9uXCIpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogXCJEb3dubG9hZCBQeXRob25cIixcbiAgICAgICAgICAgIG9uRGlkQ2xpY2s6ICgpID0+IHNoZWxsLm9wZW5FeHRlcm5hbChcImh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZG93bmxvYWRzL1wiKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICBcIk1ha2Ugc3VyZSB0byBpbnN0YWxsIGBweWxzcGAgMC4xOSBvciBuZXdlciBieSBydW5uaW5nOlxcblwiICtcbiAgICAgICAgICBcImBgYFxcblwiICtcbiAgICAgICAgICBgJHt0aGlzLnB5dGhvbn0gLW0gcGlwIGluc3RhbGwgJ3B5dGhvbi1sc3Atc2VydmVyW2FsbF0nXFxuYCArXG4gICAgICAgICAgYCR7dGhpcy5weXRob259IC1tIHBpcCBpbnN0YWxsIGdpdCtodHRwczovL2dpdGh1Yi5jb20vdG9tdjU2NC9weWxzLW15cHkuZ2l0XFxuYCArXG4gICAgICAgICAgXCJgYGBcIixcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0U3VnZ2VzdGlvbnMocmVxdWVzdCkge1xuICAgIGlmICghUFlUSE9OX1JFR0VYLnRlc3QocmVxdWVzdC5wcmVmaXgpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuZ2V0U3VnZ2VzdGlvbnMocmVxdWVzdClcbiAgfVxuXG4gIGRlYWN0aXZhdGUoKSB7XG4gICAgZGVidWdnZXJEaXNwb3NlKClcbiAgICByZXR1cm4gUHJvbWlzZS5yYWNlKFtzdXBlci5kZWFjdGl2YXRlKCksIHRoaXMuY3JlYXRlVGltZW91dFByb21pc2UoMjAwMCldKVxuICB9XG5cbiAgY3JlYXRlVGltZW91dFByb21pc2UobWlsbGlzZWNvbmRzKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KVxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgU2VydmVyIGZhaWxlZCB0byBzaHV0ZG93biBpbiAke21pbGxpc2Vjb25kc31tcywgZm9yY2luZyB0ZXJtaW5hdGlvbmApXG4gICAgICAgIHJlc29sdmUoKVxuICAgICAgfSwgbWlsbGlzZWNvbmRzKVxuICAgIH0pXG4gIH1cbn1cblxuY29uc3QgcHl0aG9uQ2xpZW50ID0gbmV3IFB5dGhvbkxhbmd1YWdlQ2xpZW50KClcbnB5dGhvbkNsaWVudC5jcmVhdGVEZWJ1Z2dlclByb3ZpZGVyID0gY3JlYXRlRGVidWdnZXJQcm92aWRlciAvLyBhZGQgdGhlIGRlYnVnZ2VyXG5tb2R1bGUuZXhwb3J0cyA9IHB5dGhvbkNsaWVudFxuIl19 \ No newline at end of file diff --git a/dist/utils.js b/dist/utils.js index dfd73351..1b1ff3dd 100644 --- a/dist/utils.js +++ b/dist/utils.js @@ -27,26 +27,30 @@ function detectPipEnv(path) { } async function detectVirtualEnv(path) { - const entries = await new Promise(resolve => new Directory(path).getEntries((error, entries) => { - if (error === null) { - resolve(entries); - } else { - resolve(null); - } - })); + const entries = await new Promise(resolve => { + new Directory(path).getEntries((error, resolvedEntries) => { + if (error === null) { + resolve(resolvedEntries); + } else { + resolve(null); + } + }); + }); if (entries) { - for (let entry of entries) { + for (const entry of entries) { if (entry.isDirectory()) { if (VIRTUAL_ENV_BIN_DIRS.indexOf(entry.getBaseName()) !== -1) { - for (let executable of VIRTUAL_ENV_EXECUTABLES) { + for (const executable of VIRTUAL_ENV_EXECUTABLES) { + /* eslint-disable-next-line no-await-in-loop */ if (await entry.getFile(executable).exists()) { return path; } } } else { - for (let dir_name of VIRTUAL_ENV_BIN_DIRS) { - for (let executable of VIRTUAL_ENV_EXECUTABLES) { + for (const dir_name of VIRTUAL_ENV_BIN_DIRS) { + for (const executable of VIRTUAL_ENV_EXECUTABLES) { + /* eslint-disable-next-line no-await-in-loop */ if (await entry.getSubdirectory(dir_name).getFile(executable).exists()) { return entry.getPath(); } @@ -79,4 +83,4 @@ exports.detectVirtualEnv = detectVirtualEnv; exports.sanitizeConfig = sanitizeConfig; exports.detectPipEnv = detectPipEnv; exports.replacePipEnvPathVar = replacePipEnvPathVar; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbImNwIiwicmVxdWlyZSIsIkRpcmVjdG9yeSIsIlZJUlRVQUxfRU5WX0JJTl9ESVJTIiwiVklSVFVBTF9FTlZfRVhFQ1VUQUJMRVMiLCJkZXRlY3RQaXBFbnYiLCJwYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwaXBFbnZQcm9jZXNzIiwic3Bhd24iLCJjd2QiLCJzdGRvdXQiLCJvbiIsImRhdGEiLCJ0cmltIiwic3RkZXJyIiwiZGV0ZWN0VmlydHVhbEVudiIsImVudHJpZXMiLCJnZXRFbnRyaWVzIiwiZXJyb3IiLCJlbnRyeSIsImlzRGlyZWN0b3J5IiwiaW5kZXhPZiIsImdldEJhc2VOYW1lIiwiZXhlY3V0YWJsZSIsImdldEZpbGUiLCJleGlzdHMiLCJkaXJfbmFtZSIsImdldFN1YmRpcmVjdG9yeSIsImdldFBhdGgiLCJzYW5pdGl6ZUNvbmZpZyIsImNvbmZpZyIsIk9iamVjdCIsImZvckVhY2giLCJrZXkiLCJ2YWx1ZSIsInJlcGxhY2VQaXBFbnZQYXRoVmFyIiwicHl0aG9uUGF0aCIsInBpcEVudlBhdGgiLCJyZXBsYWNlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxFQUFFLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQWxCOztBQUNBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFnQkQsT0FBTyxDQUFDLE1BQUQsQ0FBN0I7O0FBRUEsTUFBTUUsb0JBQW9CLEdBQUcsQ0FBQyxLQUFELEVBQVEsU0FBUixDQUE3QjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLENBQUMsUUFBRCxFQUFXLFlBQVgsQ0FBaEM7O0FBRUEsU0FBU0MsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNEI7QUFDMUIsU0FBTyxJQUFJQyxPQUFKLENBQWFDLE9BQUQsSUFBYTtBQUM5QixVQUFNQyxhQUFhLEdBQUdULEVBQUUsQ0FBQ1UsS0FBSCxDQUFTLFFBQVQsRUFBbUIsQ0FBQyxRQUFELENBQW5CLEVBQStCO0FBQ25EQyxNQUFB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LE9BQU8sQ0FBQ1YsY0FBUixHQUF5QkEsY0FBekI7QUFDQVUsT0FBTyxDQUFDcEMsWUFBUixHQUF1QkEsWUFBdkI7QUFDQW9DLE9BQU8sQ0FBQ0osb0JBQVIsR0FBK0JBLG9CQUEvQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNwID0gcmVxdWlyZShcImNoaWxkX3Byb2Nlc3NcIilcbmNvbnN0IHsgRGlyZWN0b3J5IH0gPSByZXF1aXJlKFwiYXRvbVwiKVxuXG5jb25zdCBWSVJUVUFMX0VOVl9CSU5fRElSUyA9IFtcImJpblwiLCBcIlNjcmlwdHNcIl1cbmNvbnN0IFZJUlRVQUxfRU5WX0VYRUNVVEFCTEVTID0gW1wicHl0aG9uXCIsIFwicHl0aG9uLmV4ZVwiXVxuXG5mdW5jdGlvbiBkZXRlY3RQaXBFbnYocGF0aCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBwaXBFbnZQcm9jZXNzID0gY3Auc3Bhd24oXCJwaXBlbnZcIiwgW1wiLS12ZW52XCJdLCB7XG4gICAgICBjd2Q6IHBhdGgsXG4gICAgfSlcbiAgICBwaXBFbnZQcm9jZXNzLnN0ZG91dC5vbihcImRhdGFcIiwgKGRhdGEpID0+IHtcbiAgICAgIHJlc29sdmUoYCR7ZGF0YX1gLnRyaW0oKSlcbiAgICB9KVxuICAgIHBpcEVudlByb2Nlc3Muc3RkZXJyLm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICByZXNvbHZlKG51bGwpXG4gICAgfSlcbiAgICBwaXBFbnZQcm9jZXNzLm9uKFwiZXJyb3JcIiwgKCkgPT4ge1xuICAgICAgcmVzb2x2ZShudWxsKVxuICAgIH0pXG4gIH0pXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRldGVjdFZpcnR1YWxFbnYocGF0aCkge1xuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgbmV3IERpcmVjdG9yeShwYXRoKS5nZXRFbnRyaWVzKChlcnJvciwgZW50cmllcykgPT4ge1xuICAgICAgaWYgKGVycm9yID09PSBudWxsKSB7XG4gICAgICAgIHJlc29sdmUoZW50cmllcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgIH1cbiAgICB9KVxuICApXG4gIGlmIChlbnRyaWVzKSB7XG4gICAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgaWYgKFZJUlRVQUxfRU5WX0JJTl9ESVJTLmluZGV4T2YoZW50cnkuZ2V0QmFzZU5hbWUoKSkgIT09IC0xKSB7XG4gICAgICAgICAgZm9yIChsZXQgZXhlY3V0YWJsZSBvZiBWSVJUVUFMX0VOVl9FWEVDVVRBQkxFUykge1xuICAgICAgICAgICAgaWYgKGF3YWl0IGVudHJ5LmdldEZpbGUoZXhlY3V0YWJsZSkuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChsZXQgZGlyX25hbWUgb2YgVklSVFVBTF9FTlZfQklOX0RJUlMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGV4ZWN1dGFibGUgb2YgVklSVFVBTF9FTlZfRVhFQ1VUQUJMRVMpIHtcbiAgICAgICAgICAgICAgaWYgKGF3YWl0IGVudHJ5LmdldFN1YmRpcmVjdG9yeShkaXJfbmFtZSkuZ2V0RmlsZShleGVjdXRhYmxlKS5leGlzdHMoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeS5nZXRQYXRoKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZUNvbmZpZyhjb25maWcpIHtcbiAgT2JqZWN0LmVudHJpZXMoY29uZmlnKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAodmFsdWUgPT09IFwibnVsbFwiKSB7XG4gICAgICBjb25maWdba2V5XSA9IG51bGxcbiAgICB9XG4gIH0pXG4gIHJldHVybiBjb25maWdcbn1cblxuZnVuY3Rpb24gcmVwbGFjZVBpcEVudlBhdGhWYXIocHl0aG9uUGF0aCwgcGlwRW52UGF0aCkge1xuICBpZiAocHl0aG9uUGF0aC5pbmRleE9mKFwiJFBJUEVOVl9QQVRIXCIpICE9PSAtMSAmJiBwaXBFbnZQYXRoKSB7XG4gICAgcmV0dXJuIHB5dGhvblBhdGgucmVwbGFjZShcIiRQSVBFTlZfUEFUSFwiLCBwaXBFbnZQYXRoKVxuICB9XG4gIHJldHVybiBweXRob25QYXRoXG59XG5cbmV4cG9ydHMuZGV0ZWN0VmlydHVhbEVudiA9IGRldGVjdFZpcnR1YWxFbnZcbmV4cG9ydHMuc2FuaXRpemVDb25maWcgPSBzYW5pdGl6ZUNvbmZpZ1xuZXhwb3J0cy5kZXRlY3RQaXBFbnYgPSBkZXRlY3RQaXBFbnZcbmV4cG9ydHMucmVwbGFjZVBpcEVudlBhdGhWYXIgPSByZXBsYWNlUGlwRW52UGF0aFZhclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbImNwIiwicmVxdWlyZSIsIkRpcmVjdG9yeSIsIlZJUlRVQUxfRU5WX0JJTl9ESVJTIiwiVklSVFVBTF9FTlZfRVhFQ1VUQUJMRVMiLCJkZXRlY3RQaXBFbnYiLCJwYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwaXBFbnZQcm9jZXNzIiwic3Bhd24iLCJjd2QiLCJzdGRvdXQiLCJvbiIsImRhdGEiLCJ0cmltIiwic3RkZXJyIiwiZGV0ZWN0VmlydHVhbEVudiIsImVudHJpZXMiLCJnZXRFbnRyaWVzIiwiZXJyb3IiLCJyZXNvbHZlZEVudHJpZXMiLCJlbnRyeSIsImlzRGlyZWN0b3J5IiwiaW5kZXhPZiIsImdldEJhc2VOYW1lIiwiZXhlY3V0YWJsZSIsImdldEZpbGUiLCJleGlzdHMiLCJkaXJfbmFtZSIsImdldFN1YmRpcmVjdG9yeSIsImdldFBhdGgiLCJzYW5pdGl6ZUNvbmZpZyIsImNvbmZpZyIsIk9iamVjdCIsImZvckVhY2giLCJrZXkiLCJ2YWx1ZSIsInJlcGxhY2VQaXBFbnZQYXRoVmFyIiwicHl0aG9uUGF0aCIsInBpcEVudlBhdGgiLCJyZXBsYWNlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxFQUFFLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQWxCOztBQUNBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFnQkQsT0FBTyxDQUFDLE1BQUQsQ0FBN0I7O0FBRUEsTUFBTUUsb0JBQW9CLEdBQUcsQ0FBQyxLQUFELEVBQVEsU0FBUixDQUE3QjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLENBQUMsUUFBRCxFQUFXLFlBQVgsQ0FBaEM7O0FBRUEsU0FBU0MsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNEI7QUFDMUIsU0FBTyxJQUFJQyxPQUFKLENBQWFDLE9BQUQsSUFBYTtBQUM5QixVQUFNQyxhQUFhLEdBQUdULEVBQUUsQ0FBQ1UsS0FBSCxDQUFTLFFBQVQsRUFBbUIsQ0FBQyxRQUFELENBQW5CLEVBQStCO0FBQ25EQyxNQUFBQSxHQUFHLEVBQUVMO0FBRDhDLEtBQS9CLENBQXRCO0FBR0FHLElBQUFBLGFBQWEsQ0FBQ0csTUFBZCxDQUFxQkMsRUFBckIsQ0FBd0IsTUFBeEIsRUFBaUNDLElBQUQsSUFBVTtBQUN4Q04sTUFBQUEsT0FBTyxDQUFFLEdBQUVNLElBQUssRUFBUixDQUFVQyxJQUFWLEVBQUQsQ0FBUDtBQUNELEtBRkQ7QUFHQU4sSUFBQUEsYUFBYSxDQUFDTyxNQUFkLENBQXFCSCxFQUFyQixDQUF3QixNQUF4QixFQUFnQyxNQUFNO0FBQ3BDTCxNQUFBQSxPQUFPLENBQUMsSUFBRCxDQUFQO0FBQ0QsS0FGRDtBQUdBQyxJQUFBQSxhQUFhLENBQUNJLEVBQWQsQ0FBaUIsT0FBakIsRUFBMEIsTUFBTTtBQUM5QkwsTUFBQUEsT0FBTyxDQUFDLElBQUQsQ0FBUDtBQUNELEtBRkQ7QUFHRCxHQWJNLENBQVA7QUFjRDs7QUFFRCxlQUFlUyxnQkFBZixDQUFnQ1gsSUFBaEMsRUFBc0M7QUFDcEMsUUFBTVksT0FBTyxHQUFHLE1BQU0sSUFBSVgsT0FBSixDQUFhQyxPQUFELElBQWE7QUFDN0MsUUFBSU4sU0FBSixDQUFjSSxJQUFkLEVBQW9CYSxVQUFwQixDQUErQixDQUFDQyxLQUFELEVBQVFDLGVBQVIsS0FBNEI7QUFDekQsVUFBSUQsS0FBSyxLQUFLLElBQWQsRUFBb0I7QUFDbEJaLFFBQUFBLE9BQU8sQ0FBQ2EsZUFBRCxDQUFQO0FBQ0QsT0FGRCxNQUVPO0FBQ0xiLFFBQUFBLE9BQU8sQ0FBQyxJQUFELENBQVA7QUFDRDtBQUNGLEtBTkQ7QUFPRCxHQVJxQixDQUF0Qjs7QUFTQSxNQUFJVSxPQUFKLEVBQWE7QUFDWCxTQUFLLE1BQU1JLEtBQVgsSUFBb0JKLE9BQXBCLEVBQTZCO0FBQzNCLFVBQUlJLEtBQUssQ0FBQ0MsV0FBTixFQUFKLEVBQXlCO0FBQ3ZCLFlBQUlwQixvQkFBb0IsQ0FBQ3FCLE9BQXJCLENBQTZCRixLQUFLLENBQUNHLFdBQU4sRUFBN0IsTUFBc0QsQ0FBQyxDQUEzRCxFQUE4RDtBQUM1RCxlQUFLLE1BQU1DLFVBQVgsSUFBeUJ0Qix1QkFBekIsRUFBa0Q7QUFDaEQ7QUFDQSxnQkFBSSxNQUFNa0IsS0FBSyxDQUFDSyxPQUFOLENBQWNELFVBQWQsRUFBMEJFLE1BQTFCLEVBQVYsRUFBOEM7QUFDNUMscUJBQU90QixJQUFQO0FBQ0Q7QUFDRjtBQUNGLFNBUEQsTUFPTztBQUNMLGVBQUssTUFBTXVCLFFBQVgsSUFBdUIxQixvQkFBdkIsRUFBNkM7QUFDM0MsaUJBQUssTUFBTXVCLFVBQVgsSUFBeUJ0Qix1QkFBekIsRUFBa0Q7QUFDaEQ7QUFDQSxrQkFBSSxNQUFNa0IsS0FBSyxDQUFDUSxlQUFOLENBQXNCRCxRQUF0QixFQUFnQ0YsT0FBaEMsQ0FBd0NELFVBQXhDLEVBQW9ERSxNQUFwRCxFQUFWLEVBQXdFO0FBQ3RFLHVCQUFPTixLQUFLLENBQUNTLE9BQU4sRUFBUDtBQUNEO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7O0FBRUQsU0FBU0MsY0FBVCxDQUF3QkMsTUFBeEIsRUFBZ0M7QUFDOUJDLEVBQUFBLE1BQU0sQ0FBQ2hCLE9BQVAsQ0FBZWUsTUFBZixFQUF1QkUsT0FBdkIsQ0FBK0IsQ0FBQyxDQUFDQyxHQUFELEVBQU1DLEtBQU4sQ0FBRCxLQUFrQjtBQUMvQyxRQUFJQSxLQUFLLEtBQUssTUFBZCxFQUFzQjtBQUNwQkosTUFBQUEsTUFBTSxDQUFDRyxHQUFELENBQU4sR0FBYyxJQUFkO0FBQ0Q7QUFDRixHQUpEO0FBS0EsU0FBT0gsTUFBUDtBQUNEOztBQUVELFNBQVNLLG9CQUFULENBQThCQyxVQUE5QixFQUEwQ0MsVUFBMUMsRUFBc0Q7QUFDcEQsTUFBSUQsVUFBVSxDQUFDZixPQUFYLENBQW1CLGNBQW5CLE1BQXVDLENBQUMsQ0FBeEMsSUFBNkNnQixVQUFqRCxFQUE2RDtBQUMzRCxXQUFPRCxVQUFVLENBQUNFLE9BQVgsQ0FBbUIsY0FBbkIsRUFBbUNELFVBQW5DLENBQVA7QUFDRDs7QUFDRCxTQUFPRCxVQUFQO0FBQ0Q7O0FBRURHLE9BQU8sQ0FBQ3pCLGdCQUFSLEdBQTJCQSxnQkFBM0I7QUFDQXlCLE9BQU8sQ0FBQ1YsY0FBUixHQUF5QkEsY0FBekI7QUFDQVUsT0FBTyxDQUFDckMsWUFBUixHQUF1QkEsWUFBdkI7QUFDQXFDLE9BQU8sQ0FBQ0osb0JBQVIsR0FBK0JBLG9CQUEvQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNwID0gcmVxdWlyZShcImNoaWxkX3Byb2Nlc3NcIilcbmNvbnN0IHsgRGlyZWN0b3J5IH0gPSByZXF1aXJlKFwiYXRvbVwiKVxuXG5jb25zdCBWSVJUVUFMX0VOVl9CSU5fRElSUyA9IFtcImJpblwiLCBcIlNjcmlwdHNcIl1cbmNvbnN0IFZJUlRVQUxfRU5WX0VYRUNVVEFCTEVTID0gW1wicHl0aG9uXCIsIFwicHl0aG9uLmV4ZVwiXVxuXG5mdW5jdGlvbiBkZXRlY3RQaXBFbnYocGF0aCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBwaXBFbnZQcm9jZXNzID0gY3Auc3Bhd24oXCJwaXBlbnZcIiwgW1wiLS12ZW52XCJdLCB7XG4gICAgICBjd2Q6IHBhdGgsXG4gICAgfSlcbiAgICBwaXBFbnZQcm9jZXNzLnN0ZG91dC5vbihcImRhdGFcIiwgKGRhdGEpID0+IHtcbiAgICAgIHJlc29sdmUoYCR7ZGF0YX1gLnRyaW0oKSlcbiAgICB9KVxuICAgIHBpcEVudlByb2Nlc3Muc3RkZXJyLm9uKFwiZGF0YVwiLCAoKSA9PiB7XG4gICAgICByZXNvbHZlKG51bGwpXG4gICAgfSlcbiAgICBwaXBFbnZQcm9jZXNzLm9uKFwiZXJyb3JcIiwgKCkgPT4ge1xuICAgICAgcmVzb2x2ZShudWxsKVxuICAgIH0pXG4gIH0pXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRldGVjdFZpcnR1YWxFbnYocGF0aCkge1xuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBuZXcgRGlyZWN0b3J5KHBhdGgpLmdldEVudHJpZXMoKGVycm9yLCByZXNvbHZlZEVudHJpZXMpID0+IHtcbiAgICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgICByZXNvbHZlKHJlc29sdmVkRW50cmllcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgIH1cbiAgICB9KVxuICB9KVxuICBpZiAoZW50cmllcykge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgaWYgKFZJUlRVQUxfRU5WX0JJTl9ESVJTLmluZGV4T2YoZW50cnkuZ2V0QmFzZU5hbWUoKSkgIT09IC0xKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBleGVjdXRhYmxlIG9mIFZJUlRVQUxfRU5WX0VYRUNVVEFCTEVTKSB7XG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcCAqL1xuICAgICAgICAgICAgaWYgKGF3YWl0IGVudHJ5LmdldEZpbGUoZXhlY3V0YWJsZSkuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChjb25zdCBkaXJfbmFtZSBvZiBWSVJUVUFMX0VOVl9CSU5fRElSUykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBleGVjdXRhYmxlIG9mIFZJUlRVQUxfRU5WX0VYRUNVVEFCTEVTKSB7XG4gICAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wICovXG4gICAgICAgICAgICAgIGlmIChhd2FpdCBlbnRyeS5nZXRTdWJkaXJlY3RvcnkoZGlyX25hbWUpLmdldEZpbGUoZXhlY3V0YWJsZSkuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnkuZ2V0UGF0aCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2FuaXRpemVDb25maWcoY29uZmlnKSB7XG4gIE9iamVjdC5lbnRyaWVzKGNvbmZpZykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSBcIm51bGxcIikge1xuICAgICAgY29uZmlnW2tleV0gPSBudWxsXG4gICAgfVxuICB9KVxuICByZXR1cm4gY29uZmlnXG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VQaXBFbnZQYXRoVmFyKHB5dGhvblBhdGgsIHBpcEVudlBhdGgpIHtcbiAgaWYgKHB5dGhvblBhdGguaW5kZXhPZihcIiRQSVBFTlZfUEFUSFwiKSAhPT0gLTEgJiYgcGlwRW52UGF0aCkge1xuICAgIHJldHVybiBweXRob25QYXRoLnJlcGxhY2UoXCIkUElQRU5WX1BBVEhcIiwgcGlwRW52UGF0aClcbiAgfVxuICByZXR1cm4gcHl0aG9uUGF0aFxufVxuXG5leHBvcnRzLmRldGVjdFZpcnR1YWxFbnYgPSBkZXRlY3RWaXJ0dWFsRW52XG5leHBvcnRzLnNhbml0aXplQ29uZmlnID0gc2FuaXRpemVDb25maWdcbmV4cG9ydHMuZGV0ZWN0UGlwRW52ID0gZGV0ZWN0UGlwRW52XG5leHBvcnRzLnJlcGxhY2VQaXBFbnZQYXRoVmFyID0gcmVwbGFjZVBpcEVudlBhdGhWYXJcbiJdfQ== \ No newline at end of file diff --git a/package.json b/package.json index fe900d79..cd367180 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ide-python", "main": "./dist/main", - "version": "1.9.3", + "version": "1.9.4", "description": "Python language support for Atom-IDE", "keywords": [ "ide",