Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
19adeb16
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
19adeb16
编写于
1月 16, 2019
作者:
R
Rob Lourens
提交者:
Alex Dima
1月 16, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Simplify extHostSearch
上级
217824cc
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
9 addition
and
29 deletion
+9
-29
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+1
-1
src/vs/workbench/api/node/extHostSearch.ts
src/vs/workbench/api/node/extHostSearch.ts
+7
-15
src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts
...workbench/test/electron-browser/api/extHostSearch.test.ts
+1
-13
未找到文件。
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
19adeb16
...
...
@@ -115,7 +115,7 @@ export function createApiFactory(
const
extHostTerminalService
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostTerminalService
,
new
ExtHostTerminalService
(
rpcProtocol
,
extHostConfiguration
,
extHostLogService
));
const
extHostDebugService
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostDebugService
,
new
ExtHostDebugService
(
rpcProtocol
,
extHostWorkspace
,
extensionService
,
extHostDocumentsAndEditors
,
extHostConfiguration
,
extHostTerminalService
,
extHostCommands
));
const
extHostSCM
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostSCM
,
new
ExtHostSCM
(
rpcProtocol
,
extHostCommands
,
extHostLogService
));
const
extHostSearch
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostSearch
,
new
ExtHostSearch
(
rpcProtocol
,
schemeTransformer
,
extHostLogService
,
extHostConfiguration
));
const
extHostSearch
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostSearch
,
new
ExtHostSearch
(
rpcProtocol
,
schemeTransformer
,
extHostLogService
));
const
extHostTask
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostTask
,
new
ExtHostTask
(
rpcProtocol
,
extHostWorkspace
,
extHostDocumentsAndEditors
,
extHostConfiguration
));
const
extHostWindow
=
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostWindow
,
new
ExtHostWindow
(
rpcProtocol
));
rpcProtocol
.
set
(
ExtHostContext
.
ExtHostExtensionService
,
extensionService
);
...
...
src/vs/workbench/api/node/extHostSearch.ts
浏览文件 @
19adeb16
...
...
@@ -9,7 +9,6 @@ import { URI, UriComponents } from 'vs/base/common/uri';
import
*
as
extfs
from
'
vs/base/node/extfs
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IFileQuery
,
IFolderQuery
,
IRawFileQuery
,
IRawQuery
,
IRawTextQuery
,
ISearchCompleteStats
,
ITextQuery
}
from
'
vs/platform/search/common/search
'
;
import
{
ExtHostConfiguration
,
ExtHostConfigProvider
}
from
'
vs/workbench/api/node/extHostConfiguration
'
;
import
{
FileIndexSearchManager
}
from
'
vs/workbench/api/node/extHostSearch.fileIndex
'
;
import
{
FileSearchManager
}
from
'
vs/workbench/services/search/node/fileSearchManager
'
;
import
{
SearchService
}
from
'
vs/workbench/services/search/node/rawSearchService
'
;
...
...
@@ -41,14 +40,10 @@ export class ExtHostSearch implements ExtHostSearchShape {
private
_fileSearchManager
:
FileSearchManager
;
private
_fileIndexSearchManager
:
FileIndexSearchManager
;
constructor
(
mainContext
:
IMainContext
,
private
_schemeTransformer
:
ISchemeTransformer
,
private
_logService
:
ILogService
,
configService
:
ExtHostConfiguration
,
private
_extfs
=
extfs
)
{
constructor
(
mainContext
:
IMainContext
,
private
_schemeTransformer
:
ISchemeTransformer
,
private
_logService
:
ILogService
,
private
_extfs
=
extfs
)
{
this
.
_proxy
=
mainContext
.
getProxy
(
MainContext
.
MainThreadSearch
);
this
.
_fileSearchManager
=
new
FileSearchManager
();
this
.
_fileIndexSearchManager
=
new
FileIndexSearchManager
();
configService
.
getConfigProvider
().
then
((
configProvider
)
=>
{
registerEHProviders
(
this
,
_logService
,
configProvider
);
});
}
private
_transformScheme
(
scheme
:
string
):
string
{
...
...
@@ -60,7 +55,7 @@ export class ExtHostSearch implements ExtHostSearchShape {
registerTextSearchProvider
(
scheme
:
string
,
provider
:
vscode
.
TextSearchProvider
):
IDisposable
{
if
(
this
.
_textSearchUsedSchemes
.
has
(
scheme
))
{
throw
new
Error
(
`a provider for the scheme '
${
scheme
}
' is already registered`
);
throw
new
Error
(
`a
text search
provider for the scheme '
${
scheme
}
' is already registered`
);
}
this
.
_textSearchUsedSchemes
.
add
(
scheme
);
...
...
@@ -76,7 +71,7 @@ export class ExtHostSearch implements ExtHostSearchShape {
registerFileSearchProvider
(
scheme
:
string
,
provider
:
vscode
.
FileSearchProvider
):
IDisposable
{
if
(
this
.
_fileSearchUsedSchemes
.
has
(
scheme
))
{
throw
new
Error
(
`a provider for the scheme '
${
scheme
}
' is already registered`
);
throw
new
Error
(
`a
file search
provider for the scheme '
${
scheme
}
' is already registered`
);
}
this
.
_fileSearchUsedSchemes
.
add
(
scheme
);
...
...
@@ -178,13 +173,10 @@ export class ExtHostSearch implements ExtHostSearchShape {
}
}
function
registerEHProviders
(
extHostSearch
:
ExtHostSearch
,
logService
:
ILogService
,
configService
:
ExtHostConfigProvider
)
{
if
(
configService
.
getConfiguration
(
'
searchRipgrep
'
).
enable
||
configService
.
getConfiguration
(
'
search
'
).
runInExtensionHost
)
{
export
function
registerEHSearchProviders
(
extHostSearch
:
ExtHostSearch
,
logService
:
ILogService
):
void
{
const
outputChannel
=
new
OutputChannel
(
logService
);
extHostSearch
.
registerTextSearchProvider
(
'
file
'
,
new
RipgrepSearchProvider
(
outputChannel
));
extHostSearch
.
registerInternalFileSearchProvider
(
'
file
'
,
new
SearchService
());
}
}
function
reviveQuery
<
U
extends
IRawQuery
>
(
rawQuery
:
U
):
U
extends
IRawTextQuery
?
ITextQuery
:
IFileQuery
{
...
...
src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts
浏览文件 @
19adeb16
...
...
@@ -12,7 +12,6 @@ import { URI, UriComponents } from 'vs/base/common/uri';
import
*
as
extfs
from
'
vs/base/node/extfs
'
;
import
{
IFileMatch
,
IFileQuery
,
IPatternInfo
,
IRawFileMatch2
,
ISearchCompleteStats
,
ISearchQuery
,
ITextQuery
,
QueryType
,
resultIsMatch
}
from
'
vs/platform/search/common/search
'
;
import
{
MainContext
,
MainThreadSearchShape
}
from
'
vs/workbench/api/node/extHost.protocol
'
;
import
{
ExtHostConfiguration
}
from
'
vs/workbench/api/node/extHostConfiguration
'
;
import
{
ExtHostSearch
}
from
'
vs/workbench/api/node/extHostSearch
'
;
import
{
Range
}
from
'
vs/workbench/api/node/extHostTypes
'
;
import
{
extensionResultIsMatch
}
from
'
vs/workbench/services/search/node/textSearchManager
'
;
...
...
@@ -60,16 +59,6 @@ class MockMainThreadSearch implements MainThreadSearchShape {
}
}
class
MockExtHostConfiguration
{
getConfigProvider
():
Promise
<
any
>
{
return
Promise
.
resolve
({
getConfiguration
:
(
section
?:
string
,
resource
?:
URI
,
extensionId
?:
string
):
vscode
.
WorkspaceConfiguration
=>
{
return
<
vscode
.
WorkspaceConfiguration
>
{};
}
});
}
}
let
mockExtfs
:
Partial
<
typeof
extfs
>
;
suite
(
'
ExtHostSearch
'
,
()
=>
{
...
...
@@ -142,12 +131,11 @@ suite('ExtHostSearch', () => {
mockMainThreadSearch
=
new
MockMainThreadSearch
();
const
logService
=
new
TestLogService
();
const
ehConfiguration
:
ExtHostConfiguration
=
new
MockExtHostConfiguration
()
as
any
;
rpcProtocol
.
set
(
MainContext
.
MainThreadSearch
,
mockMainThreadSearch
);
mockExtfs
=
{};
extHostSearch
=
new
ExtHostSearch
(
rpcProtocol
,
null
!
,
logService
,
ehConfiguration
,
mockExtfs
as
typeof
extfs
);
extHostSearch
=
new
ExtHostSearch
(
rpcProtocol
,
null
!
,
logService
,
mockExtfs
as
typeof
extfs
);
});
teardown
(()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录