Skip to content

Commit 3179582

Browse files
authored
Merge pull request #3985 from OmniSharp/register-fixall-commands
Register FixAll commands for disposal
2 parents 35cb919 + b927ed8 commit 3179582

7 files changed

+850
-137
lines changed

.mocharc.jsonc

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"ui": "tdd",
3+
"require": [
4+
"source-map-support/register",
5+
"ts-node/register"
6+
]
7+
}

mocha.opts

-3
This file was deleted.

offline.vscodeignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ node_modules
2525
gulpfile.ts
2626
!install.Lock
2727
ISSUE_TEMPLATE
28-
mocha.opts
28+
.mocharc.jsonc
2929
*.vscodeignore
3030
package-lock.json
3131
package.json

package-lock.json

+830-127
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@
3939
"compile": "tsc -p ./ && gulp tslint",
4040
"compileDev": "tsc -p ./ && gulp tslint && webpack --mode development",
4141
"watch": "tsc -watch -p ./",
42-
"tdd": "mocha --opts ./mocha.opts --watch --watch-extensions ts test/unitTests/**/*.test.ts*",
42+
"tdd": "mocha --config ./.mocharc.jsonc --watch --watch-extensions ts test/unitTests/**/*.test.ts*",
4343
"test": "gulp test",
4444
"test:unit": "gulp test:unit",
4545
"test:feature": "gulp test:feature",
4646
"test:integration": "gulp test:integration",
4747
"test:integration:singleCsproj": "gulp test:integration:singleCsproj",
4848
"test:integration:slnWithCsproj": "gulp test:integration:slnWithCsproj",
49-
"test:release": "mocha --opts ./mocha.opts test/releaseTests/**/*.test.ts",
50-
"test:artifacts": "mocha --opts ./mocha.opts test/artifactTests/**/*.test.ts",
49+
"test:release": "mocha --config ./.mocharc.jsonc test/releaseTests/**/*.test.ts",
50+
"test:artifacts": "mocha --config ./.mocharc.jsonc test/artifactTests/**/*.test.ts",
5151
"postinstall": "node ./node_modules/vscode/bin/install",
5252
"cov:instrument": "gulp cov:instrument",
5353
"cov:merge": "gulp cov:merge",
@@ -136,7 +136,7 @@
136136
"gulp-tslint": "8.1.3",
137137
"istanbul": "0.4.5",
138138
"ltcdr": "2.2.1",
139-
"mocha": "5.2.0",
139+
"mocha": "^8.1.1",
140140
"mocha-typescript": "1.1.17",
141141
"mock-fs": "4.8.0",
142142
"mock-http-server": "0.2.0",

release.vscodeignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ node_modules/**
2525
gulpfile.ts
2626
install.Lock
2727
ISSUE_TEMPLATE
28-
mocha.opts
28+
.mocharc.jsonc
2929
*.vscodeignore
3030
package-lock.json
3131
package.json

src/omnisharp/extension.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,16 @@ export async function activate(context: vscode.ExtensionContext, packageJSON: an
9393
localDisposables.add(vscode.languages.registerCompletionItemProvider(documentSelector, new CompletionItemProvider(server, languageMiddlewareFeature), '.', ' '));
9494
localDisposables.add(vscode.languages.registerWorkspaceSymbolProvider(new WorkspaceSymbolProvider(server, optionProvider, languageMiddlewareFeature)));
9595
localDisposables.add(vscode.languages.registerSignatureHelpProvider(documentSelector, new SignatureHelpProvider(server, languageMiddlewareFeature), '(', ','));
96+
// Since the CodeActionProvider registers its own commands, we must instantiate it and add it to the localDisposables
97+
// so that it will be cleaned up if OmniSharp is restarted.
9698
const codeActionProvider = new CodeActionProvider(server, optionProvider, languageMiddlewareFeature);
9799
localDisposables.add(codeActionProvider);
98100
localDisposables.add(vscode.languages.registerCodeActionsProvider(documentSelector, codeActionProvider));
99-
localDisposables.add(vscode.languages.registerCodeActionsProvider(documentSelector, new FixAllProvider(server, languageMiddlewareFeature)));
101+
// Since the FixAllProviders registers its own commands, we must instantiate it and add it to the localDisposables
102+
// so that it will be cleaned up if OmniSharp is restarted.
103+
const fixAllProvider = new FixAllProvider(server, languageMiddlewareFeature);
104+
localDisposables.add(fixAllProvider);
105+
localDisposables.add(vscode.languages.registerCodeActionsProvider(documentSelector, fixAllProvider));
100106
localDisposables.add(reportDiagnostics(server, advisor, languageMiddlewareFeature));
101107
localDisposables.add(forwardChanges(server));
102108
localDisposables.add(trackVirtualDocuments(server, eventStream));

0 commit comments

Comments
 (0)