Skip to content

Commit

Permalink
Adopt prefix private with _ in markdown extension (microsoft#165088)
Browse files Browse the repository at this point in the history
  • Loading branch information
mjbvz authored Oct 31, 2022
1 parent b97827d commit 33867c5
Show file tree
Hide file tree
Showing 29 changed files with 374 additions and 355 deletions.
19 changes: 19 additions & 0 deletions extensions/markdown-language-features/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"rules": {
"@typescript-eslint/naming-convention": [
"warn",
{
"selector": "default",
"modifiers": ["private"],
"format": null,
"leadingUnderscore": "require"
},
{
"selector": "default",
"modifiers": ["public"],
"format": null,
"leadingUnderscore": "forbid"
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ type DirWatcherEntry = {

export class FileWatcherManager {

private readonly fileWatchers = new Map<number, {
private readonly _fileWatchers = new Map<number, {
readonly watcher: vscode.FileSystemWatcher;
readonly dirWatchers: DirWatcherEntry[];
}>();

private readonly dirWatchers = new ResourceMap<{
private readonly _dirWatchers = new ResourceMap<{
readonly watcher: vscode.FileSystemWatcher;
refCount: number;
}>();

create(id: number, uri: vscode.Uri, watchParentDirs: boolean, listeners: { create?: () => void; change?: () => void; delete?: () => void }): void {
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(uri, '*'), !listeners.create, !listeners.change, !listeners.delete);
const parentDirWatchers: DirWatcherEntry[] = [];
this.fileWatchers.set(id, { watcher, dirWatchers: parentDirWatchers });
this._fileWatchers.set(id, { watcher, dirWatchers: parentDirWatchers });

if (listeners.create) { watcher.onDidCreate(listeners.create); }
if (listeners.change) { watcher.onDidChange(listeners.change); }
Expand All @@ -42,12 +42,12 @@ export class FileWatcherManager {
for (let dirUri = Utils.dirname(uri); dirUri.path.length > 1; dirUri = Utils.dirname(dirUri)) {
const dirWatcher: DirWatcherEntry = { uri: dirUri, listeners: [] };

let parentDirWatcher = this.dirWatchers.get(dirUri);
let parentDirWatcher = this._dirWatchers.get(dirUri);
if (!parentDirWatcher) {
const glob = new vscode.RelativePattern(Utils.dirname(dirUri), Utils.basename(dirUri));
const parentWatcher = vscode.workspace.createFileSystemWatcher(glob, !listeners.create, true, !listeners.delete);
parentDirWatcher = { refCount: 0, watcher: parentWatcher };
this.dirWatchers.set(dirUri, parentDirWatcher);
this._dirWatchers.set(dirUri, parentDirWatcher);
}
parentDirWatcher.refCount++;

Expand Down Expand Up @@ -77,23 +77,23 @@ export class FileWatcherManager {
}

delete(id: number): void {
const entry = this.fileWatchers.get(id);
const entry = this._fileWatchers.get(id);
if (entry) {
for (const dirWatcher of entry.dirWatchers) {
disposeAll(dirWatcher.listeners);

const dirWatcherEntry = this.dirWatchers.get(dirWatcher.uri);
const dirWatcherEntry = this._dirWatchers.get(dirWatcher.uri);
if (dirWatcherEntry) {
if (--dirWatcherEntry.refCount <= 0) {
dirWatcherEntry.watcher.dispose();
this.dirWatchers.delete(dirWatcher.uri);
this._dirWatchers.delete(dirWatcher.uri);
}
}
}

entry.watcher.dispose();
}

this.fileWatchers.delete(id);
this._fileWatchers.delete(id);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ export class InMemoryDocument implements ITextDocument {

constructor(
public readonly uri: vscode.Uri,
private readonly contents: string,
private readonly _contents: string,
public readonly version = 0,
) { }

getText(): string {
return this.contents;
return this._contents;
}
}
8 changes: 4 additions & 4 deletions extensions/markdown-language-features/src/client/workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export class VsCodeMdWorkspace extends Disposable {

private readonly _documentCache = new ResourceMap<ITextDocument>();

private readonly utf8Decoder = new TextDecoder('utf-8');
private readonly _utf8Decoder = new TextDecoder('utf-8');

constructor() {
super();
Expand All @@ -45,7 +45,7 @@ export class VsCodeMdWorkspace extends Disposable {
}));
}

private isRelevantMarkdownDocument(doc: vscode.TextDocument) {
private _isRelevantMarkdownDocument(doc: vscode.TextDocument) {
return isMarkdownFile(doc) && doc.uri.scheme !== 'vscode-bulkeditpreview';
}

Expand All @@ -55,7 +55,7 @@ export class VsCodeMdWorkspace extends Disposable {
return existing;
}

const matchingDocument = vscode.workspace.textDocuments.find((doc) => this.isRelevantMarkdownDocument(doc) && doc.uri.toString() === resource.toString());
const matchingDocument = vscode.workspace.textDocuments.find((doc) => this._isRelevantMarkdownDocument(doc) && doc.uri.toString() === resource.toString());
if (matchingDocument) {
this._documentCache.set(resource, matchingDocument);
return matchingDocument;
Expand All @@ -69,7 +69,7 @@ export class VsCodeMdWorkspace extends Disposable {
const bytes = await vscode.workspace.fs.readFile(resource);

// We assume that markdown is in UTF-8
const text = this.utf8Decoder.decode(bytes);
const text = this._utf8Decoder.decode(bytes);
const doc = new InMemoryDocument(resource, text, 0);
this._documentCache.set(resource, doc);
return doc;
Expand Down
16 changes: 8 additions & 8 deletions extensions/markdown-language-features/src/commandManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,27 @@ export interface Command {
}

export class CommandManager {
private readonly commands = new Map<string, vscode.Disposable>();
private readonly _commands = new Map<string, vscode.Disposable>();

public dispose() {
for (const registration of this.commands.values()) {
for (const registration of this._commands.values()) {
registration.dispose();
}
this.commands.clear();
this._commands.clear();
}

public register<T extends Command>(command: T): vscode.Disposable {
this.registerCommand(command.id, command.execute, command);
this._registerCommand(command.id, command.execute, command);
return new vscode.Disposable(() => {
this.commands.delete(command.id);
this._commands.delete(command.id);
});
}

private registerCommand(id: string, impl: (...args: any[]) => void, thisArg?: any) {
if (this.commands.has(id)) {
private _registerCommand(id: string, impl: (...args: any[]) => void, thisArg?: any) {
if (this._commands.has(id)) {
return;
}

this.commands.set(id, vscode.commands.registerCommand(id, impl, thisArg));
this._commands.set(id, vscode.commands.registerCommand(id, impl, thisArg));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ export class RefreshPreviewCommand implements Command {
public readonly id = 'markdown.preview.refresh';

public constructor(
private readonly webviewManager: MarkdownPreviewManager,
private readonly engine: MarkdownItEngine
private readonly _webviewManager: MarkdownPreviewManager,
private readonly _engine: MarkdownItEngine
) { }

public execute() {
this.engine.cleanCache();
this.webviewManager.refresh();
this._engine.cleanCache();
this._webviewManager.refresh();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ export class ReloadPlugins implements Command {
public readonly id = 'markdown.api.reloadPlugins';

public constructor(
private readonly webviewManager: MarkdownPreviewManager,
private readonly engine: MarkdownItEngine,
private readonly _webviewManager: MarkdownPreviewManager,
private readonly _engine: MarkdownItEngine,
) { }

public execute(): void {
this.engine.reloadPlugins();
this.engine.cleanCache();
this.webviewManager.refresh();
this._engine.reloadPlugins();
this._engine.cleanCache();
this._webviewManager.refresh();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ export class RenderDocument implements Command {
public readonly id = 'markdown.api.render';

public constructor(
private readonly engine: MarkdownItEngine
private readonly _engine: MarkdownItEngine
) { }

public async execute(document: ITextDocument | string): Promise<string> {
return (await (this.engine.render(document))).html;
return (await (this._engine.render(document))).html;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,13 @@ export class ShowPreviewCommand implements Command {
public readonly id = 'markdown.showPreview';

public constructor(
private readonly webviewManager: MarkdownPreviewManager,
private readonly telemetryReporter: TelemetryReporter
private readonly _webviewManager: MarkdownPreviewManager,
private readonly _telemetryReporter: TelemetryReporter
) { }

public execute(mainUri?: vscode.Uri, allUris?: vscode.Uri[], previewSettings?: DynamicPreviewSettings) {
for (const uri of Array.isArray(allUris) ? allUris : [mainUri]) {
showPreview(this.webviewManager, this.telemetryReporter, uri, {
showPreview(this._webviewManager, this._telemetryReporter, uri, {
sideBySide: false,
locked: previewSettings && previewSettings.locked
});
Expand All @@ -72,12 +72,12 @@ export class ShowPreviewToSideCommand implements Command {
public readonly id = 'markdown.showPreviewToSide';

public constructor(
private readonly webviewManager: MarkdownPreviewManager,
private readonly telemetryReporter: TelemetryReporter
private readonly _webviewManager: MarkdownPreviewManager,
private readonly _telemetryReporter: TelemetryReporter
) { }

public execute(uri?: vscode.Uri, previewSettings?: DynamicPreviewSettings) {
showPreview(this.webviewManager, this.telemetryReporter, uri, {
showPreview(this._webviewManager, this._telemetryReporter, uri, {
sideBySide: true,
locked: previewSettings && previewSettings.locked
});
Expand All @@ -89,12 +89,12 @@ export class ShowLockedPreviewToSideCommand implements Command {
public readonly id = 'markdown.showLockedPreviewToSide';

public constructor(
private readonly webviewManager: MarkdownPreviewManager,
private readonly telemetryReporter: TelemetryReporter
private readonly _webviewManager: MarkdownPreviewManager,
private readonly _telemetryReporter: TelemetryReporter
) { }

public execute(uri?: vscode.Uri) {
showPreview(this.webviewManager, this.telemetryReporter, uri, {
showPreview(this._webviewManager, this._telemetryReporter, uri, {
sideBySide: true,
locked: true
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ export class ShowPreviewSecuritySelectorCommand implements Command {
public readonly id = 'markdown.showPreviewSecuritySelector';

public constructor(
private readonly previewSecuritySelector: PreviewSecuritySelector,
private readonly previewManager: MarkdownPreviewManager
private readonly _previewSecuritySelector: PreviewSecuritySelector,
private readonly _previewManager: MarkdownPreviewManager
) { }

public execute(resource: string | undefined) {
if (this.previewManager.activePreviewResource) {
this.previewSecuritySelector.showSecuritySelectorForResource(this.previewManager.activePreviewResource);
if (this._previewManager.activePreviewResource) {
this._previewSecuritySelector.showSecuritySelectorForResource(this._previewManager.activePreviewResource);
} else if (resource) {
const source = vscode.Uri.parse(resource);
this.previewSecuritySelector.showSecuritySelectorForResource(source.query ? vscode.Uri.parse(source.query) : source);
this._previewSecuritySelector.showSecuritySelectorForResource(source.query ? vscode.Uri.parse(source.query) : source);
} else if (vscode.window.activeTextEditor && isMarkdownFile(vscode.window.activeTextEditor.document)) {
this.previewSecuritySelector.showSecuritySelectorForResource(vscode.window.activeTextEditor.document.uri);
this._previewSecuritySelector.showSecuritySelectorForResource(vscode.window.activeTextEditor.document.uri);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ export class ShowSourceCommand implements Command {
public readonly id = 'markdown.showSource';

public constructor(
private readonly previewManager: MarkdownPreviewManager
private readonly _previewManager: MarkdownPreviewManager
) { }

public execute() {
const { activePreviewResource, activePreviewResourceColumn } = this.previewManager;
const { activePreviewResource, activePreviewResourceColumn } = this._previewManager;
if (activePreviewResource && activePreviewResourceColumn) {
return vscode.workspace.openTextDocument(activePreviewResource).then(document => {
return vscode.window.showTextDocument(document, activePreviewResourceColumn);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ export class ToggleLockCommand implements Command {
public readonly id = 'markdown.preview.toggleLock';

public constructor(
private readonly previewManager: MarkdownPreviewManager
private readonly _previewManager: MarkdownPreviewManager
) { }

public execute() {
this.previewManager.toggleLock();
this._previewManager.toggleLock();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
for (const imageMime of supportedImageMimes) {
const file = dataTransfer.get(imageMime)?.asFile();
if (file) {
const edit = await this.makeCreateImagePasteEdit(document, file, token);
const edit = await this._makeCreateImagePasteEdit(document, file, token);
if (token.isCancellationRequested) {
return;
}
Expand All @@ -49,7 +49,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
return snippet ? new vscode.DocumentPasteEdit(snippet) : undefined;
}

private async makeCreateImagePasteEdit(document: vscode.TextDocument, file: vscode.DataTransferFile, token: vscode.CancellationToken): Promise<vscode.DocumentPasteEdit | undefined> {
private async _makeCreateImagePasteEdit(document: vscode.TextDocument, file: vscode.DataTransferFile, token: vscode.CancellationToken): Promise<vscode.DocumentPasteEdit | undefined> {
if (file.uri) {
// If file is already in workspace, we don't want to create a copy of it
const workspaceFolder = vscode.workspace.getWorkspaceFolder(file.uri);
Expand All @@ -59,7 +59,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
}
}

const uri = await this.getNewFileName(document, file);
const uri = await this._getNewFileName(document, file);
if (token.isCancellationRequested) {
return;
}
Expand All @@ -78,7 +78,7 @@ class PasteEditProvider implements vscode.DocumentPasteEditProvider {
return pasteEdit;
}

private async getNewFileName(document: vscode.TextDocument, file: vscode.DataTransferFile): Promise<vscode.Uri> {
private async _getNewFileName(document: vscode.TextDocument, file: vscode.DataTransferFile): Promise<vscode.Uri> {
const root = Utils.dirname(document.uri);

const ext = path.extname(file.name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ class AddToIgnoreLinksQuickFixProvider implements vscode.CodeActionProvider {

private static readonly _addToIgnoreLinksCommandId = '_markdown.addToIgnoreLinks';

private static readonly metadata: vscode.CodeActionProviderMetadata = {
private static readonly _metadata: vscode.CodeActionProviderMetadata = {
providedCodeActionKinds: [
vscode.CodeActionKind.QuickFix
],
};

public static register(selector: vscode.DocumentSelector, commandManager: CommandManager): vscode.Disposable {
const reg = vscode.languages.registerCodeActionsProvider(selector, new AddToIgnoreLinksQuickFixProvider(), AddToIgnoreLinksQuickFixProvider.metadata);
const reg = vscode.languages.registerCodeActionsProvider(selector, new AddToIgnoreLinksQuickFixProvider(), AddToIgnoreLinksQuickFixProvider._metadata);
const commandReg = commandManager.register({
id: AddToIgnoreLinksQuickFixProvider._addToIgnoreLinksCommandId,
execute(resource: vscode.Uri, path: string) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export class FindFileReferencesCommand implements Command {
public readonly id = 'markdown.findAllFileReferences';

constructor(
private readonly client: MdLanguageClient,
private readonly _client: MdLanguageClient,
) { }

public async execute(resource?: vscode.Uri) {
Expand All @@ -31,7 +31,7 @@ export class FindFileReferencesCommand implements Command {
location: vscode.ProgressLocation.Window,
title: localize('progress.title', "Finding file references")
}, async (_progress, token) => {
const locations = (await this.client.getReferencesToFileInWorkspace(resource!, token)).map(loc => {
const locations = (await this._client.getReferencesToFileInWorkspace(resource!, token)).map(loc => {
return new vscode.Location(vscode.Uri.parse(loc.uri), convertRange(loc.range));
});

Expand Down
Loading

0 comments on commit 33867c5

Please sign in to comment.