Skip to content

Commit b4155ec

Browse files
Merge branch 'concurrent-server' into future
2 parents f183afe + 07d572d commit b4155ec

15 files changed

+455
-267
lines changed

src/assets.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import * as fs from 'fs-extra-promise';
99
import * as path from 'path';
1010
import * as vscode from 'vscode';
1111
import * as tasks from 'vscode-tasks';
12-
import {OmnisharpServer} from './omnisharp/server';
12+
import {OmniSharpServer} from './omnisharp/server';
1313
import * as serverUtils from './omnisharp/utils';
1414
import * as protocol from './omnisharp/protocol'
1515

@@ -393,7 +393,7 @@ export enum AddAssetResult {
393393
Cancelled
394394
}
395395

396-
export function addAssetsIfNecessary(server: OmnisharpServer): Promise<AddAssetResult> {
396+
export function addAssetsIfNecessary(server: OmniSharpServer): Promise<AddAssetResult> {
397397
return new Promise<AddAssetResult>((resolve, reject) => {
398398
if (!vscode.workspace.rootPath) {
399399
return resolve(AddAssetResult.NotApplicable);
@@ -492,7 +492,7 @@ function shouldGenerateAssets(paths: Paths) {
492492
});
493493
}
494494

495-
export function generateAssets(server: OmnisharpServer) {
495+
export function generateAssets(server: OmniSharpServer) {
496496
serverUtils.requestWorkspaceInformation(server).then(info => {
497497
if (info.DotNet && info.DotNet.Projects.length > 0) {
498498
getOperations().then(operations => {

src/features/abstractProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
'use strict';
77

8-
import {OmnisharpServer} from '../omnisharp/server';
8+
import {OmniSharpServer} from '../omnisharp/server';
99
import {Disposable} from 'vscode';
1010

1111
export default class AbstractProvider {
1212

13-
protected _server: OmnisharpServer;
13+
protected _server: OmniSharpServer;
1414
protected _disposables: Disposable[];
1515

16-
constructor(server: OmnisharpServer) {
16+
constructor(server: OmniSharpServer) {
1717
this._server = server;
1818
this._disposables = [];
1919
}

src/features/changeForwarding.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
'use strict';
77

88
import {Disposable, Uri, workspace} from 'vscode';
9-
import {OmnisharpServer} from '../omnisharp/server';
9+
import {OmniSharpServer} from '../omnisharp/server';
1010
import * as serverUtils from '../omnisharp/utils';
1111

12-
function forwardDocumentChanges(server: OmnisharpServer): Disposable {
12+
function forwardDocumentChanges(server: OmniSharpServer): Disposable {
1313

1414
return workspace.onDidChangeTextDocument(event => {
1515

@@ -29,7 +29,7 @@ function forwardDocumentChanges(server: OmnisharpServer): Disposable {
2929
});
3030
}
3131

32-
function forwardFileChanges(server: OmnisharpServer): Disposable {
32+
function forwardFileChanges(server: OmniSharpServer): Disposable {
3333

3434
function onFileSystemEvent(uri: Uri): void {
3535
if (!server.isRunning()) {
@@ -52,7 +52,7 @@ function forwardFileChanges(server: OmnisharpServer): Disposable {
5252
return Disposable.from(watcher, d1, d2, d3);
5353
}
5454

55-
export default function forwardChanges(server: OmnisharpServer): Disposable {
55+
export default function forwardChanges(server: OmniSharpServer): Disposable {
5656

5757
// combine file watching and text document watching
5858
return Disposable.from(

src/features/codeActionProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
'use strict';
77

88
import {CodeActionProvider, CodeActionContext, Command, CancellationToken, TextDocument, WorkspaceEdit, TextEdit, Range, Uri, workspace, commands} from 'vscode';
9-
import {OmnisharpServer} from '../omnisharp/server';
9+
import {OmniSharpServer} from '../omnisharp/server';
1010
import AbstractProvider from './abstractProvider';
1111
import * as protocol from '../omnisharp/protocol';
1212
import {toRange2} from '../omnisharp/typeConvertion';
@@ -17,7 +17,7 @@ export default class OmnisharpCodeActionProvider extends AbstractProvider implem
1717
private _disabled: boolean;
1818
private _commandId: string;
1919

20-
constructor(server: OmnisharpServer) {
20+
constructor(server: OmniSharpServer) {
2121
super(server);
2222
this._commandId = 'omnisharp.runCodeAction';
2323

src/features/commands.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
'use strict';
77

8-
import {OmnisharpServer} from '../omnisharp/server';
8+
import {OmniSharpServer} from '../omnisharp/server';
99
import * as serverUtils from '../omnisharp/utils';
1010
import {findLaunchTargets} from '../omnisharp/launcher';
1111
import * as cp from 'child_process';
@@ -19,7 +19,7 @@ import {generateAssets} from '../assets';
1919

2020
let channel = vscode.window.createOutputChannel('.NET');
2121

22-
export default function registerCommands(server: OmnisharpServer, extensionPath: string) {
22+
export default function registerCommands(server: OmniSharpServer, extensionPath: string) {
2323
let d1 = vscode.commands.registerCommand('o.restart', () => restartOmniSharp(server));
2424
let d2 = vscode.commands.registerCommand('o.pickProjectAndStart', () => pickProjectAndStart(server));
2525
let d3 = vscode.commands.registerCommand('o.showOutput', () => server.getChannel().show(vscode.ViewColumn.Three));
@@ -44,7 +44,7 @@ export default function registerCommands(server: OmnisharpServer, extensionPath:
4444
return vscode.Disposable.from(d1, d2, d3, d4, d5, d6, d7, d8, d9);
4545
}
4646

47-
function restartOmniSharp(server: OmnisharpServer) {
47+
function restartOmniSharp(server: OmniSharpServer) {
4848
if (server.isRunning()) {
4949
server.restart();
5050
}
@@ -53,7 +53,7 @@ function restartOmniSharp(server: OmnisharpServer) {
5353
}
5454
}
5555

56-
function pickProjectAndStart(server: OmnisharpServer) {
56+
function pickProjectAndStart(server: OmniSharpServer) {
5757

5858
return findLaunchTargets().then(targets => {
5959

@@ -103,7 +103,7 @@ function projectsToCommands(projects: protocol.DotNetProject[]): Promise<Command
103103
});
104104
}
105105

106-
export function dotnetRestoreAllProjects(server: OmnisharpServer) {
106+
export function dotnetRestoreAllProjects(server: OmniSharpServer) {
107107

108108
if (!server.isRunning()) {
109109
return Promise.reject('OmniSharp server is not running.');
@@ -127,7 +127,7 @@ export function dotnetRestoreAllProjects(server: OmnisharpServer) {
127127
});
128128
}
129129

130-
export function dotnetRestoreForProject(server: OmnisharpServer, fileName: string) {
130+
export function dotnetRestoreForProject(server: OmniSharpServer, fileName: string) {
131131

132132
if (!server.isRunning()) {
133133
return Promise.reject('OmniSharp server is not running.');

src/features/diagnosticsProvider.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
'use strict';
77

8-
import {OmnisharpServer} from '../omnisharp/server';
8+
import {OmniSharpServer} from '../omnisharp/server';
99
import AbstractSupport from './abstractProvider';
1010
import * as protocol from '../omnisharp/protocol';
1111
import * as serverUtils from '../omnisharp/utils';
@@ -15,11 +15,11 @@ import {Disposable, Uri, CancellationTokenSource, TextDocument, Diagnostic, Diag
1515
export class Advisor {
1616

1717
private _disposable: Disposable;
18-
private _server: OmnisharpServer;
18+
private _server: OmniSharpServer;
1919
private _packageRestoreCounter: number = 0;
2020
private _projectSourceFileCounts: { [path: string]: number } = Object.create(null);
2121

22-
constructor(server: OmnisharpServer) {
22+
constructor(server: OmniSharpServer) {
2323
this._server = server;
2424

2525
let d1 = server.onProjectChange(this._onProjectChange, this);
@@ -112,7 +112,7 @@ export class Advisor {
112112
}
113113
}
114114

115-
export default function reportDiagnostics(server: OmnisharpServer, advisor: Advisor): Disposable {
115+
export default function reportDiagnostics(server: OmniSharpServer, advisor: Advisor): Disposable {
116116
return new DiagnosticsProvider(server, advisor);
117117
}
118118

@@ -124,7 +124,7 @@ class DiagnosticsProvider extends AbstractSupport {
124124
private _projectValidation: CancellationTokenSource;
125125
private _diagnostics: DiagnosticCollection;
126126

127-
constructor(server: OmnisharpServer, validationAdvisor: Advisor) {
127+
constructor(server: OmniSharpServer, validationAdvisor: Advisor) {
128128
super(server);
129129
this._validationAdvisor = validationAdvisor;
130130
this._diagnostics = languages.createDiagnosticCollection('csharp');

src/features/dotnetTest.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
'use strict';
77

8-
import {OmnisharpServer} from '../omnisharp/server';
8+
import {OmniSharpServer} from '../omnisharp/server';
99
import {toRange} from '../omnisharp/typeConvertion';
1010
import * as vscode from 'vscode';
1111
import * as serverUtils from "../omnisharp/utils";
@@ -21,20 +21,20 @@ function getTestOutputChannel(): vscode.OutputChannel {
2121
return _testOutputChannel;
2222
}
2323

24-
export function registerDotNetTestRunCommand(server: OmnisharpServer): vscode.Disposable {
24+
export function registerDotNetTestRunCommand(server: OmniSharpServer): vscode.Disposable {
2525
return vscode.commands.registerCommand(
2626
'dotnet.test.run',
2727
(testMethod, fileName) => runDotnetTest(testMethod, fileName, server));
2828
}
2929

30-
export function registerDotNetTestDebugCommand(server: OmnisharpServer): vscode.Disposable {
30+
export function registerDotNetTestDebugCommand(server: OmniSharpServer): vscode.Disposable {
3131
return vscode.commands.registerCommand(
3232
'dotnet.test.debug',
3333
(testMethod, fileName) => debugDotnetTest(testMethod, fileName, server));
3434
}
3535

3636
// Run test through dotnet-test command. This function can be moved to a separate structure
37-
export function runDotnetTest(testMethod: string, fileName: string, server: OmnisharpServer) {
37+
export function runDotnetTest(testMethod: string, fileName: string, server: OmniSharpServer) {
3838
getTestOutputChannel().show();
3939
getTestOutputChannel().appendLine('Running test ' + testMethod + '...');
4040
serverUtils
@@ -54,7 +54,7 @@ export function runDotnetTest(testMethod: string, fileName: string, server: Omni
5454
}
5555

5656
// Run test through dotnet-test command with debugger attached
57-
export function debugDotnetTest(testMethod: string, fileName: string, server: OmnisharpServer) {
57+
export function debugDotnetTest(testMethod: string, fileName: string, server: OmniSharpServer) {
5858
serverUtils.getTestStartInfo(server, { FileName: fileName, MethodName: testMethod }).then(response => {
5959
vscode.commands.executeCommand(
6060
'vscode.startDebug', {

src/features/status.ts

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
'use strict';
66

77
import * as vscode from 'vscode';
8-
import {OmnisharpServer} from '../omnisharp/server';
8+
import {OmniSharpServer} from '../omnisharp/server';
99
import {dotnetRestoreForProject} from './commands';
1010
import {basename} from 'path';
1111
import * as protocol from '../omnisharp/protocol';
1212
import * as serverUtils from '../omnisharp/utils';
1313

1414
const debounce = require('lodash.debounce');
1515

16-
export default function reportStatus(server: OmnisharpServer) {
16+
export default function reportStatus(server: OmniSharpServer) {
1717
return vscode.Disposable.from(
1818
reportServerStatus(server),
1919
forwardOutput(server),
@@ -41,7 +41,7 @@ class Status {
4141
}
4242
}
4343

44-
export function reportDocumentStatus(server: OmnisharpServer): vscode.Disposable {
44+
export function reportDocumentStatus(server: OmniSharpServer): vscode.Disposable {
4545

4646
let disposables: vscode.Disposable[] = [];
4747
let localDisposables: vscode.Disposable[];
@@ -202,7 +202,7 @@ export function reportDocumentStatus(server: OmnisharpServer): vscode.Disposable
202202

203203
// ---- server status
204204

205-
export function reportServerStatus(server: OmnisharpServer): vscode.Disposable{
205+
export function reportServerStatus(server: OmniSharpServer): vscode.Disposable{
206206

207207
function appendLine(value: string = '') {
208208
server.getChannel().appendLine(value);
@@ -275,20 +275,14 @@ function showMessageSoon() {
275275

276276
// --- mirror output in channel
277277

278-
function forwardOutput(server: OmnisharpServer) {
278+
function forwardOutput(server: OmniSharpServer) {
279279

280280
const logChannel = server.getChannel();
281-
const timing200Pattern = /^\[INFORMATION:OmniSharp.Middleware.LoggingMiddleware\] \/\w+: 200 \d+ms/;
282281

283282
function forward(message: string) {
284-
// strip stuff like: /codecheck: 200 339ms
285-
if(!timing200Pattern.test(message)) {
286-
logChannel.append(message);
287-
}
283+
logChannel.append(message);
288284
}
289285

290286
return vscode.Disposable.from(
291-
server.onStdout(forward),
292287
server.onStderr(forward));
293-
}
294-
288+
}

src/omnisharp/extension.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import SignatureHelpProvider from '../features/signatureHelpProvider';
2323
import registerCommands from '../features/commands';
2424
import forwardChanges from '../features/changeForwarding';
2525
import reportStatus from '../features/status';
26-
import {StdioOmnisharpServer} from './server';
26+
import {OmniSharpServer} from './server';
2727
import {Options} from './options';
2828
import {addAssetsIfNecessary, AddAssetResult} from '../assets';
2929

@@ -33,7 +33,7 @@ export function activate(context: vscode.ExtensionContext, reporter: TelemetryRe
3333
scheme: 'file' // only files from disk
3434
};
3535

36-
const server = new StdioOmnisharpServer(reporter);
36+
const server = new OmniSharpServer(reporter);
3737
const advisor = new Advisor(server); // create before server is started
3838
const disposables: vscode.Disposable[] = [];
3939
const localDisposables: vscode.Disposable[] = [];

src/omnisharp/launcher.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export function launchOmniSharp(cwd: string, args: string[]): Promise<LaunchResu
144144
.then(result => {
145145
// async error - when target not not ENEOT
146146
result.process.on('error', err => {
147-
reject(err)
147+
reject(err);
148148
});
149149

150150
// success after a short freeing event loop
@@ -228,9 +228,9 @@ function launchNixMono(launchPath: string, cwd: string, args: string[]): Promise
228228
return canLaunchMono()
229229
.then(() => {
230230
let argsCopy = args.slice(0); // create copy of details args
231-
args.unshift(launchPath);
231+
argsCopy.unshift(launchPath);
232232

233-
let process = spawn('mono', args, {
233+
let process = spawn('mono', argsCopy, {
234234
detached: false,
235235
cwd: cwd
236236
});

0 commit comments

Comments
 (0)