提交 782c9412 编写于 作者: B Benjamin Pasero

add baseFolder to RelativePattern

上级 a5ff3ce6
...@@ -19,7 +19,6 @@ import { IPosition } from 'vs/editor/common/core/position'; ...@@ -19,7 +19,6 @@ import { IPosition } from 'vs/editor/common/core/position';
import { IRange } from 'vs/editor/common/core/range'; import { IRange } from 'vs/editor/common/core/range';
import { ISelection } from 'vs/editor/common/core/selection'; import { ISelection } from 'vs/editor/common/core/selection';
import * as htmlContent from 'vs/base/common/htmlContent'; import * as htmlContent from 'vs/base/common/htmlContent';
import { IRelativePattern } from 'vs/base/common/glob';
import * as languageSelector from 'vs/editor/common/modes/languageSelector'; import * as languageSelector from 'vs/editor/common/modes/languageSelector';
import { WorkspaceEditDto, ResourceTextEditDto, ResourceFileEditDto } from 'vs/workbench/api/node/extHost.protocol'; import { WorkspaceEditDto, ResourceTextEditDto, ResourceFileEditDto } from 'vs/workbench/api/node/extHost.protocol';
import { MarkerSeverity, IRelatedInformation, IMarkerData, MarkerTag } from 'vs/platform/markers/common/markers'; import { MarkerSeverity, IRelatedInformation, IMarkerData, MarkerTag } from 'vs/platform/markers/common/markers';
...@@ -743,7 +742,11 @@ export namespace TextEditorOptions { ...@@ -743,7 +742,11 @@ export namespace TextEditorOptions {
export namespace GlobPattern { export namespace GlobPattern {
export function from(pattern: vscode.GlobPattern): string | IRelativePattern { export function from(pattern: vscode.GlobPattern): string | types.RelativePattern {
if (pattern instanceof types.RelativePattern) {
return pattern;
}
if (typeof pattern === 'string') { if (typeof pattern === 'string') {
return pattern; return pattern;
} }
......
...@@ -1785,6 +1785,8 @@ export enum ConfigurationTarget { ...@@ -1785,6 +1785,8 @@ export enum ConfigurationTarget {
export class RelativePattern implements IRelativePattern { export class RelativePattern implements IRelativePattern {
base: string; base: string;
baseFolder?: URI;
pattern: string; pattern: string;
constructor(base: vscode.WorkspaceFolder | string, pattern: string) { constructor(base: vscode.WorkspaceFolder | string, pattern: string) {
...@@ -1798,7 +1800,13 @@ export class RelativePattern implements IRelativePattern { ...@@ -1798,7 +1800,13 @@ export class RelativePattern implements IRelativePattern {
throw illegalArgument('pattern'); throw illegalArgument('pattern');
} }
this.base = typeof base === 'string' ? base : base.uri.fsPath; if (typeof base === 'string') {
this.base = base;
} else {
this.baseFolder = base.uri;
this.base = base.uri.fsPath;
}
this.pattern = pattern; this.pattern = pattern;
} }
......
...@@ -20,7 +20,7 @@ import { ILogService } from 'vs/platform/log/common/log'; ...@@ -20,7 +20,7 @@ import { ILogService } from 'vs/platform/log/common/log';
import { Severity } from 'vs/platform/notification/common/notification'; import { Severity } from 'vs/platform/notification/common/notification';
import { IQueryOptions, IRawFileMatch2 } from 'vs/platform/search/common/search'; import { IQueryOptions, IRawFileMatch2 } from 'vs/platform/search/common/search';
import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspace'; import { Workspace, WorkspaceFolder } from 'vs/platform/workspace/common/workspace';
import { Range } from 'vs/workbench/api/node/extHostTypes'; import { Range, RelativePattern } from 'vs/workbench/api/node/extHostTypes';
import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions'; import { IExtensionDescription } from 'vs/workbench/services/extensions/common/extensions';
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import { ExtHostWorkspaceShape, IMainContext, IWorkspaceData, MainContext, MainThreadMessageServiceShape, MainThreadWorkspaceShape } from './extHost.protocol'; import { ExtHostWorkspaceShape, IMainContext, IWorkspaceData, MainContext, MainThreadMessageServiceShape, MainThreadWorkspaceShape } from './extHost.protocol';
...@@ -345,7 +345,7 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape { ...@@ -345,7 +345,7 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape {
// --- search --- // --- search ---
findFiles(include: vscode.GlobPattern, exclude: vscode.GlobPattern, maxResults: number, extensionId: string, token?: vscode.CancellationToken): Thenable<vscode.Uri[]> { findFiles(include: string | RelativePattern, exclude: vscode.GlobPattern, maxResults: number, extensionId: string, token?: vscode.CancellationToken): Thenable<vscode.Uri[]> {
this._logService.trace(`extHostWorkspace#findFiles: fileSearch, extension: ${extensionId}, entryPoint: findFiles`); this._logService.trace(`extHostWorkspace#findFiles: fileSearch, extension: ${extensionId}, entryPoint: findFiles`);
const requestId = this._requestIdProvider.getNext(); const requestId = this._requestIdProvider.getNext();
...@@ -358,6 +358,7 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape { ...@@ -358,6 +358,7 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape {
} else { } else {
includePattern = include.pattern; includePattern = include.pattern;
includeFolder = include.base; includeFolder = include.base;
// TODO use include.baseFolder;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册