Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
abc05302
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
abc05302
编写于
9月 01, 2017
作者:
N
Nick Cameron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Do a better job of eliding whitespace-only differences from warnings
上级
1a8aac3f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
67 addition
and
1 deletion
+67
-1
src/librustdoc/html/render.rs
src/librustdoc/html/render.rs
+67
-1
未找到文件。
src/librustdoc/html/render.rs
浏览文件 @
abc05302
...
...
@@ -1763,7 +1763,7 @@ fn render_markdown(w: &mut fmt::Formatter,
html_diff
::
Difference
::
NodeText
{
ref
elem_text
,
ref
opposite_elem_text
,
..
}
if
elem_text
.trim
()
==
opposite_elem_text
.trim
(
)
=>
false
,
if
match_non_whitespace
(
elem_text
,
opposite_elem_text
)
=>
false
,
_
=>
true
,
}
})
...
...
@@ -1781,6 +1781,40 @@ fn render_markdown(w: &mut fmt::Formatter,
write!
(
w
,
"<div class='docblock'>{}{}</div>"
,
prefix
,
output
)
}
// Returns true iff s1 and s2 match, ignoring whitespace.
fn
match_non_whitespace
(
s1
:
&
str
,
s2
:
&
str
)
->
bool
{
let
s1
=
s1
.trim
();
let
s2
=
s2
.trim
();
let
mut
cs1
=
s1
.chars
();
let
mut
cs2
=
s2
.chars
();
while
let
Some
(
c1
)
=
cs1
.next
()
{
if
c1
.is_whitespace
()
{
continue
;
}
loop
{
if
let
Some
(
c2
)
=
cs2
.next
()
{
if
!
c2
.is_whitespace
()
{
if
c1
!=
c2
{
return
false
;
}
break
;
}
}
else
{
return
false
;
}
}
}
while
let
Some
(
c2
)
=
cs2
.next
()
{
if
!
c2
.is_whitespace
()
{
return
false
;
}
}
true
}
fn
document_short
(
w
:
&
mut
fmt
::
Formatter
,
item
:
&
clean
::
Item
,
link
:
AssocItemLink
,
cx
:
&
Context
,
prefix
:
&
str
)
->
fmt
::
Result
{
if
let
Some
(
s
)
=
item
.doc_value
()
{
...
...
@@ -3695,3 +3729,35 @@ fn test_name_sorting() {
sorted
.sort_by_key
(|
&
s
|
name_key
(
s
));
assert_eq!
(
names
,
sorted
);
}
#[cfg(test)]
#[test]
fn
test_match_non_whitespace
()
{
assert
!
(
match_non_whitespace
(
""
,
""
));
assert
!
(
match_non_whitespace
(
" "
,
""
));
assert
!
(
match_non_whitespace
(
""
,
" "
));
assert
!
(
match_non_whitespace
(
"a"
,
"a"
));
assert
!
(
match_non_whitespace
(
" a "
,
"a"
));
assert
!
(
match_non_whitespace
(
"a"
,
" a"
));
assert
!
(
match_non_whitespace
(
"abc"
,
"abc"
));
assert
!
(
match_non_whitespace
(
"abc"
,
" abc "
));
assert
!
(
match_non_whitespace
(
"abc "
,
"abc"
));
assert
!
(
match_non_whitespace
(
"abc xyz"
,
"abc xyz"
));
assert
!
(
match_non_whitespace
(
"abc xyz"
,
"abc
\n
xyz"
));
assert
!
(
match_non_whitespace
(
"abc xyz"
,
"abcxyz"
));
assert
!
(
match_non_whitespace
(
"abcxyz"
,
"abc xyz"
));
assert
!
(
match_non_whitespace
(
"abc xyz "
,
" abc xyz
\n
"
));
assert
!
(
!
match_non_whitespace
(
"a"
,
"b"
));
assert
!
(
!
match_non_whitespace
(
" a "
,
"c"
));
assert
!
(
!
match_non_whitespace
(
"a"
,
" aa"
));
assert
!
(
!
match_non_whitespace
(
"abc"
,
"ac"
));
assert
!
(
!
match_non_whitespace
(
"abc"
,
" adc "
));
assert
!
(
!
match_non_whitespace
(
"abc "
,
"abca"
));
assert
!
(
!
match_non_whitespace
(
"abc xyz"
,
"abc xy"
));
assert
!
(
!
match_non_whitespace
(
"abc xyz"
,
"bc
\n
xyz"
));
assert
!
(
!
match_non_whitespace
(
"abc xyz"
,
"abc.xyz"
));
assert
!
(
!
match_non_whitespace
(
"abcxyz"
,
"abc.xyz"
));
assert
!
(
!
match_non_whitespace
(
"abc xyz "
,
" abc xyz w"
));
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录