Skip to content

Commit

Permalink
Export RequestCancellerFactory implementations as constants
Browse files Browse the repository at this point in the history
  • Loading branch information
mjbvz committed Jul 20, 2020
1 parent 538ff07 commit 8bf2ae1
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { LanguageConfigurationManager } from './features/languageConfiguration';
import { createLazyClientHost, lazilyActivateClient } from './lazyClientHost';
import { CommandManager } from './utils/commandManager';
import { PluginManager } from './utils/plugins';
import { noopRequestCanceller } from './tsServer/cancellation';
import { noopRequestCancellerFactory } from './tsServer/cancellation';

export function activate(
context: vscode.ExtensionContext
Expand All @@ -25,10 +25,7 @@ export function activate(
const onCompletionAccepted = new vscode.EventEmitter<vscode.CompletionItem>();
context.subscriptions.push(onCompletionAccepted);

const lazyClientHost = createLazyClientHost(context, pluginManager, commandManager, noopLogDirectoryProvider, {
create: () => noopRequestCanceller

}, item => {
const lazyClientHost = createLazyClientHost(context, pluginManager, commandManager, noopLogDirectoryProvider, noopRequestCancellerFactory, item => {
onCompletionAccepted.fire(item);
});

Expand Down
6 changes: 2 additions & 4 deletions extensions/typescript-language-features/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { registerCommands } from './commands/index';
import { LanguageConfigurationManager } from './features/languageConfiguration';
import * as task from './features/task';
import { createLazyClientHost, lazilyActivateClient } from './lazyClientHost';
import { NodeRequestCanceller } from './tsServer/cancellation.electron';
import { nodeRequestCancellerFactory } from './tsServer/cancellation.electron';
import { CommandManager } from './utils/commandManager';
import * as electron from './utils/electron';
import { PluginManager } from './utils/plugins';
Expand All @@ -30,9 +30,7 @@ export function activate(

const logDirectoryProvider = new NodeLogDirectoryProvider(context);

const lazyClientHost = createLazyClientHost(context, pluginManager, commandManager, logDirectoryProvider, {
create: (kind, tracer) => new NodeRequestCanceller(kind, tracer)
}, item => {
const lazyClientHost = createLazyClientHost(context, pluginManager, commandManager, logDirectoryProvider, nodeRequestCancellerFactory, item => {
onCompletionAccepted.fire(item);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/

import * as fs from 'fs';
import { OngoingRequestCanceller } from './cancellation';
import { OngoingRequestCanceller, OngoingRequestCancellerFactory } from './cancellation';
import { getTempFile } from '../utils/electron';
import Tracer from '../utils/tracer';

Expand All @@ -31,3 +31,10 @@ export class NodeRequestCanceller implements OngoingRequestCanceller {
return true;
}
}


export const nodeRequestCancellerFactory = new class implements OngoingRequestCancellerFactory {
create(serverId: string, tracer: Tracer): OngoingRequestCanceller {
return new NodeRequestCanceller(serverId, tracer);
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,16 @@ export interface OngoingRequestCancellerFactory {
create(serverId: string, tracer: Tracer): OngoingRequestCanceller;
}

export const noopRequestCanceller = new class implements OngoingRequestCanceller {
const noopRequestCanceller = new class implements OngoingRequestCanceller {
public readonly cancellationPipeName = undefined;

public tryCancelOngoingRequest(_seq: number): boolean {
return false;
}
};

export const noopRequestCancellerFactory = new class implements OngoingRequestCancellerFactory {
create(_serverId: string, _tracer: Tracer): OngoingRequestCanceller {
return noopRequestCanceller;
}
};

0 comments on commit 8bf2ae1

Please sign in to comment.