Skip to content

Commit 122fc92

Browse files
authored
Merge pull request #6662 from dibarbet/enable_promise_reject_error
Enable eslint rule ensuring rejected promises throw an error
2 parents 4dc9b6c + da17016 commit 122fc92

File tree

4 files changed

+9
-7
lines changed

4 files changed

+9
-7
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ module.exports = {
3333
],
3434
"@typescript-eslint/no-namespace": "off",
3535
"@typescript-eslint/promise-function-async": "error",
36+
"prefer-promise-reject-errors": "error",
3637
"curly": "error",
3738
"prettier/prettier": [ "error", { "endOfLine": "auto" } ],
3839
"unicorn/filename-case": [

src/features/codeActionProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export default class OmniSharpCodeActionProvider
7878
};
7979
});
8080
} catch (error) {
81-
return Promise.reject(`Problem invoking 'GetCodeActions' on OmniSharp server: ${error}`);
81+
return Promise.reject(new Error(`Problem invoking 'GetCodeActions' on OmniSharp server: ${error}`));
8282
}
8383
}
8484

@@ -107,7 +107,7 @@ export default class OmniSharpCodeActionProvider
107107
return buildEditForResponse(response.Changes, this._languageMiddlewareFeature, token);
108108
}
109109
} catch (error) {
110-
return Promise.reject(`Problem invoking 'RunCodeAction' on OmniSharp server: ${error}`);
110+
return Promise.reject(new Error(`Problem invoking 'RunCodeAction' on OmniSharp server: ${error}`));
111111
}
112112

113113
return undefined;

src/features/inlayHintProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ export default class OmniSharpInlayHintProvider extends AbstractProvider impleme
6767
return mappedHint;
6868
});
6969
} catch (error) {
70-
return Promise.reject(`Problem invoking 'GetInlayHints' on OmniSharpServer: ${error}`);
70+
return Promise.reject(new Error(`Problem invoking 'GetInlayHints' on OmniSharpServer: ${error}`));
7171
}
7272
}
7373

7474
async resolveInlayHint?(hint: vscode.InlayHint, token: vscode.CancellationToken): Promise<vscode.InlayHint> {
7575
const inlayHint = this._hintsMap.get(hint);
7676
if (inlayHint === undefined) {
77-
return Promise.reject(`Outdated inlay hint was requested to be resolved, aborting.`);
77+
return Promise.reject(new Error(`Outdated inlay hint was requested to be resolved, aborting.`));
7878
}
7979

8080
const request: InlayHintResolveRequest = { Hint: inlayHint };
@@ -83,7 +83,7 @@ export default class OmniSharpInlayHintProvider extends AbstractProvider impleme
8383
const result = await serverUtils.resolveInlayHints(this._server, request, token);
8484
return this.toVSCodeHint(result);
8585
} catch (error) {
86-
return Promise.reject(`Problem invoking 'ResolveInlayHints' on OmniSharpServer: ${error}`);
86+
return Promise.reject(new Error(`Problem invoking 'ResolveInlayHints' on OmniSharpServer: ${error}`));
8787
}
8888
}
8989

src/lsptoolshost/roslynLanguageServer.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -572,8 +572,9 @@ export class RoslynLanguageServer {
572572
// Error information will be captured from the stdout/stderr streams above.
573573
childProcess.on('exit', (code) => {
574574
if (code && code !== 0) {
575-
_channel.appendLine(`Language server process exited with ${code}`);
576-
reject();
575+
const message = `Language server process exited with ${code}`;
576+
_channel.appendLine(message);
577+
reject(new Error(message));
577578
}
578579
});
579580
});

0 commit comments

Comments
 (0)