Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
4ceb9142
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(gitcode.net)2024年7月9日维护升级公告
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4ceb9142
编写于
10月 09, 2017
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Strip BOM from search result on first line - Fix #35633
上级
dcd1aa35
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
0 deletion
+25
-0
src/vs/base/common/strings.ts
src/vs/base/common/strings.ts
+4
-0
src/vs/base/test/common/strings.test.ts
src/vs/base/test/common/strings.test.ts
+17
-0
src/vs/workbench/services/search/node/ripgrepTextSearch.ts
src/vs/workbench/services/search/node/ripgrepTextSearch.ts
+4
-0
未找到文件。
src/vs/base/common/strings.ts
浏览文件 @
4ceb9142
...
...
@@ -715,6 +715,10 @@ export function startsWithUTF8BOM(str: string): boolean {
return
(
str
&&
str
.
length
>
0
&&
str
.
charCodeAt
(
0
)
===
CharCode
.
UTF8_BOM
);
}
export
function
stripUTF8BOM
(
str
:
string
):
string
{
return
startsWithUTF8BOM
(
str
)
?
str
.
substr
(
1
)
:
str
;
}
/**
* Appends two strings. If the appended result is longer than maxLength,
* trims the start of the result and replaces it with '...'.
...
...
src/vs/base/test/common/strings.test.ts
浏览文件 @
4ceb9142
...
...
@@ -334,4 +334,21 @@ suite('Strings', () => {
assert
.
ok
(
!
strings
.
fuzzyContains
(
'
hello world
'
,
'
wh
'
));
assert
.
ok
(
!
strings
.
fuzzyContains
(
'
d
'
,
'
dd
'
));
});
test
(
'
startsWithUTF8BOM
'
,
()
=>
{
assert
(
strings
.
startsWithUTF8BOM
(
strings
.
UTF8_BOM_CHARACTER
));
assert
(
strings
.
startsWithUTF8BOM
(
strings
.
UTF8_BOM_CHARACTER
+
'
a
'
));
assert
(
strings
.
startsWithUTF8BOM
(
strings
.
UTF8_BOM_CHARACTER
+
'
aaaaaaaaaa
'
));
assert
(
!
strings
.
startsWithUTF8BOM
(
'
'
+
strings
.
UTF8_BOM_CHARACTER
));
assert
(
!
strings
.
startsWithUTF8BOM
(
'
foo
'
));
assert
(
!
strings
.
startsWithUTF8BOM
(
''
));
});
test
(
'
stripUTF8BOM
'
,
()
=>
{
assert
.
equal
(
strings
.
stripUTF8BOM
(
strings
.
UTF8_BOM_CHARACTER
),
''
);
assert
.
equal
(
strings
.
stripUTF8BOM
(
strings
.
UTF8_BOM_CHARACTER
+
'
foobar
'
),
'
foobar
'
);
assert
.
equal
(
strings
.
stripUTF8BOM
(
'
foobar
'
+
strings
.
UTF8_BOM_CHARACTER
),
'
foobar
'
+
strings
.
UTF8_BOM_CHARACTER
);
assert
.
equal
(
strings
.
stripUTF8BOM
(
'
abc
'
),
'
abc
'
);
assert
.
equal
(
strings
.
stripUTF8BOM
(
''
),
''
);
});
});
src/vs/workbench/services/search/node/ripgrepTextSearch.ts
浏览文件 @
4ceb9142
...
...
@@ -237,6 +237,10 @@ export class RipgrepParser extends EventEmitter {
}
private
handleMatchLine
(
outputLine
:
string
,
lineNum
:
number
,
text
:
string
):
void
{
if
(
lineNum
===
0
)
{
text
=
strings
.
stripUTF8BOM
(
text
);
}
const
lineMatch
=
new
LineMatch
(
text
,
lineNum
);
this
.
fileMatch
.
addMatch
(
lineMatch
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录