Skip to content

Commit 9a363c7

Browse files
lostintangentTylerLeonhardt
authored andcommitted
[Discussion] [Live Share] Restrict language services to local files (#1264)
* Restricting language services to local files * Removing package-lock.json * Updating package-lock.json file * Reverting change
1 parent b88506e commit 9a363c7

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

src/features/DocumentFormatter.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
DocumentFormattingRequest,
2222
DocumentRangeFormattingParams,
2323
DocumentRangeFormattingRequest,
24+
DocumentSelector,
2425
LanguageClient,
2526
RequestType,
2627
} from "vscode-languageclient";
@@ -317,16 +318,16 @@ export class DocumentFormatterFeature implements IFeature {
317318
private languageClient: LanguageClient;
318319
private documentFormattingEditProvider: PSDocumentFormattingEditProvider;
319320

320-
constructor(private logger: Logger) {
321+
constructor(private logger: Logger, documentSelector: DocumentSelector) {
321322
this.documentFormattingEditProvider = new PSDocumentFormattingEditProvider(logger);
322323
this.formattingEditProvider = vscode.languages.registerDocumentFormattingEditProvider(
323-
"powershell",
324+
documentSelector,
324325
this.documentFormattingEditProvider);
325326
this.rangeFormattingEditProvider = vscode.languages.registerDocumentRangeFormattingEditProvider(
326-
"powershell",
327+
documentSelector,
327328
this.documentFormattingEditProvider);
328329
this.onTypeFormattingEditProvider = vscode.languages.registerOnTypeFormattingEditProvider(
329-
"powershell",
330+
documentSelector,
330331
this.documentFormattingEditProvider,
331332
this.firstTriggerCharacter,
332333
...this.moreTriggerCharacters);

src/main.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import path = require("path");
88
import vscode = require("vscode");
9+
import { DocumentSelector } from "vscode-languageclient";
910
import { IFeature } from "./feature";
1011
import { CodeActionsFeature } from "./features/CodeActions";
1112
import { ConsoleFeature } from "./features/Console";
@@ -40,6 +41,11 @@ let logger: Logger;
4041
let sessionManager: SessionManager;
4142
let extensionFeatures: IFeature[] = [];
4243

44+
const documentSelector: DocumentSelector = [
45+
{ language: "powershell", scheme: "file" },
46+
{ language: "powershell", scheme: "untitled" },
47+
];
48+
4349
export function activate(context: vscode.ExtensionContext): void {
4450

4551
checkForUpdatedVersion(context);
@@ -103,7 +109,7 @@ export function activate(context: vscode.ExtensionContext): void {
103109
sessionManager =
104110
new SessionManager(
105111
requiredEditorServicesVersion,
106-
logger);
112+
logger, documentSelector);
107113

108114
// Create features
109115
extensionFeatures = [
@@ -119,7 +125,7 @@ export function activate(context: vscode.ExtensionContext): void {
119125
new SelectPSSARulesFeature(),
120126
new CodeActionsFeature(),
121127
new NewFileOrProjectFeature(),
122-
new DocumentFormatterFeature(logger),
128+
new DocumentFormatterFeature(logger, documentSelector),
123129
new RemoteFilesFeature(),
124130
new DebugSessionFeature(context, sessionManager),
125131
new PickPSHostProcessFeature(),

src/session.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import Settings = require("./settings");
1717
import utils = require("./utils");
1818

1919
import {
20-
CloseAction, ErrorAction, Executable, LanguageClient, LanguageClientOptions,
20+
CloseAction, DocumentSelector, ErrorAction, Executable, LanguageClient, LanguageClientOptions,
2121
Middleware, NotificationType, RequestType, RequestType0,
2222
ResolveCodeLensSignature, RevealOutputChannelOn, StreamInfo } from "vscode-languageclient";
2323

@@ -62,7 +62,8 @@ export class SessionManager implements Middleware {
6262

6363
constructor(
6464
private requiredEditorServicesVersion: string,
65-
private log: Logger) {
65+
private log: Logger,
66+
private documentSelector: DocumentSelector) {
6667

6768
this.platformDetails = getPlatformDetails();
6869

@@ -541,7 +542,7 @@ export class SessionManager implements Middleware {
541542
};
542543

543544
const clientOptions: LanguageClientOptions = {
544-
documentSelector: [utils.PowerShellLanguageId],
545+
documentSelector: this.documentSelector,
545546
synchronize: {
546547
configurationSection: utils.PowerShellLanguageId,
547548
// fileEvents: vscode.workspace.createFileSystemWatcher('**/.eslintrc')

0 commit comments

Comments
 (0)