Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5ad9e9c2
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,发现更多精彩内容 >>
提交
5ad9e9c2
编写于
10月 24, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove duplicated search helpers
上级
a3e49cae
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
1 addition
and
56 deletion
+1
-56
src/vs/workbench/services/search/node/ripgrepTextSearchEngine.ts
...workbench/services/search/node/ripgrepTextSearchEngine.ts
+1
-56
未找到文件。
src/vs/workbench/services/search/node/ripgrepTextSearchEngine.ts
浏览文件 @
5ad9e9c2
...
...
@@ -7,7 +7,7 @@ import * as cp from 'child_process';
import
{
EventEmitter
}
from
'
events
'
;
import
*
as
path
from
'
path
'
;
import
{
NodeStringDecoder
,
StringDecoder
}
from
'
string_decoder
'
;
import
{
startsWith
}
from
'
vs/base/common/strings
'
;
import
{
startsWith
,
startsWithUTF8BOM
,
stripUTF8BOM
,
createRegExp
}
from
'
vs/base/common/strings
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
*
as
vscode
from
'
vscode
'
;
import
{
rgPath
}
from
'
vscode-ripgrep
'
;
...
...
@@ -333,58 +333,3 @@ function getRgArgs(query: vscode.TextSearchQuery, options: vscode.TextSearchOpti
return
args
;
}
interface
RegExpOptions
{
matchCase
?:
boolean
;
wholeWord
?:
boolean
;
multiline
?:
boolean
;
global
?:
boolean
;
}
function
createRegExp
(
searchString
:
string
,
isRegex
:
boolean
,
options
:
RegExpOptions
=
{}):
RegExp
{
if
(
!
searchString
)
{
throw
new
Error
(
'
Cannot create regex from empty string
'
);
}
if
(
!
isRegex
)
{
searchString
=
escapeRegExpCharacters
(
searchString
);
}
if
(
options
.
wholeWord
)
{
if
(
!
/
\B
/
.
test
(
searchString
.
charAt
(
0
)))
{
searchString
=
'
\\
b
'
+
searchString
;
}
if
(
!
/
\B
/
.
test
(
searchString
.
charAt
(
searchString
.
length
-
1
)))
{
searchString
=
searchString
+
'
\\
b
'
;
}
}
let
modifiers
=
''
;
if
(
options
.
global
)
{
modifiers
+=
'
g
'
;
}
if
(
!
options
.
matchCase
)
{
modifiers
+=
'
i
'
;
}
if
(
options
.
multiline
)
{
modifiers
+=
'
m
'
;
}
return
new
RegExp
(
searchString
,
modifiers
);
}
/**
* Escapes regular expression characters in a given string
*/
function
escapeRegExpCharacters
(
value
:
string
):
string
{
return
value
.
replace
(
/
[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]
/g
,
'
\\
$&
'
);
}
// -- UTF-8 BOM
const
UTF8_BOM
=
65279
;
function
startsWithUTF8BOM
(
str
:
string
):
boolean
{
return
!!
(
str
&&
str
.
length
>
0
&&
str
.
charCodeAt
(
0
)
===
UTF8_BOM
);
}
function
stripUTF8BOM
(
str
:
string
):
string
{
return
startsWithUTF8BOM
(
str
)
?
str
.
substr
(
1
)
:
str
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录