Skip to content

Commit 9b3fe55

Browse files
committed
Enable eslint rule ensuring rejected promises throw an error
1 parent 87bcff0 commit 9b3fe55

File tree

6 files changed

+12
-10
lines changed

6 files changed

+12
-10
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/commands.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,13 @@ async function dotnetRestoreAllProjects(server: OmniSharpServer, eventStream: Ev
198198

199199
async function getProjectDescriptors(server: OmniSharpServer): Promise<protocol.ProjectDescriptor[]> {
200200
if (!server.isRunning()) {
201-
return Promise.reject('OmniSharp server is not running.');
201+
return Promise.reject(new Error('OmniSharp server is not running.'));
202202
}
203203

204204
const info = await serverUtils.requestWorkspaceInformation(server);
205205
const descriptors = protocol.getDotNetCoreProjectDescriptors(info);
206206
if (descriptors.length === 0) {
207-
return Promise.reject('No .NET Core projects found');
207+
return Promise.reject(new Error('No .NET Core projects found'));
208208
}
209209

210210
return descriptors;

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
});

src/omnisharp/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ export class OmniSharpServer {
741741

742742
public async makeRequest<TResponse>(command: string, data?: any, token?: CancellationToken): Promise<TResponse> {
743743
if (this._state.status !== ServerState.Started) {
744-
return Promise.reject<TResponse>('OmniSharp server is not running.');
744+
return Promise.reject<TResponse>(new Error('OmniSharp server is not running.'));
745745
}
746746

747747
const { engine } = this._state;

0 commit comments

Comments
 (0)