File tree Expand file tree Collapse file tree 4 files changed +30
-2
lines changed Expand file tree Collapse file tree 4 files changed +30
-2
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5
- refs/heads/try: a4ff220133128f7d4467f3919db579e7b50850c4
5
+ refs/heads/try: 29ac3c811d0235b51e17519d7b212287ca27e626
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
Original file line number Diff line number Diff line change @@ -131,12 +131,14 @@ Fields:
131
131
132
132
* kind - The type of thing being indexed, e.g. 'Module'
133
133
* name - The name of the thing
134
+ * brief - The brief description
134
135
* link - A format-specific string representing the link target
135
136
136
137
" ]
137
138
type index_entry = {
138
139
kind : str ,
139
140
name : str ,
141
+ brief : option < str > ,
140
142
link : str
141
143
} ;
142
144
Original file line number Diff line number Diff line change @@ -63,6 +63,7 @@ fn item_to_entry(
63
63
{
64
64
kind: markdown_pass:: header_kind ( doc) ,
65
65
name: markdown_pass:: header_name ( doc) ,
66
+ brief: doc. brief ( ) ,
66
67
link: link
67
68
}
68
69
}
@@ -100,11 +101,13 @@ fn should_index_mod_contents() {
100
101
assert option:: get ( doc. cratemod ( ) . index ) . entries [ 0 ] == {
101
102
kind: "Module" ,
102
103
name: "a" ,
104
+ brief: none,
103
105
link: "#module-a"
104
106
} ;
105
107
assert option:: get ( doc. cratemod ( ) . index ) . entries [ 1 ] == {
106
108
kind: "Function" ,
107
109
name: "b" ,
110
+ brief: none,
108
111
link: "#function-b"
109
112
} ;
110
113
}
@@ -118,15 +121,26 @@ fn should_index_mod_contents_multi_page() {
118
121
assert option:: get ( doc. cratemod ( ) . index ) . entries [ 0 ] == {
119
122
kind: "Module" ,
120
123
name: "a" ,
124
+ brief: none,
121
125
link: "a.html"
122
126
} ;
123
127
assert option:: get ( doc. cratemod ( ) . index ) . entries [ 1 ] == {
124
128
kind: "Function" ,
125
129
name: "b" ,
130
+ brief: none,
126
131
link: "#function-b"
127
132
} ;
128
133
}
129
134
135
+ #[ test]
136
+ fn should_add_brief_desc_to_index ( ) {
137
+ let doc = test:: mk_doc (
138
+ config:: doc_per_mod,
139
+ "#[doc(brief = \" test\" )] mod a { }"
140
+ ) ;
141
+ assert option:: get ( doc. cratemod ( ) . index ) . entries [ 0 ] . brief == some ( "test" ) ;
142
+ }
143
+
130
144
#[ cfg( test) ]
131
145
mod test {
132
146
fn mk_doc ( output_style : config:: output_style , source : str ) -> doc:: doc {
@@ -136,6 +150,7 @@ mod test {
136
150
with config:: default_config ( "whatever" )
137
151
} ;
138
152
let doc = extract:: from_srv ( srv, "" ) ;
153
+ let doc = attr_pass:: mk_pass ( ) . f ( srv, doc) ;
139
154
let doc = path_pass:: mk_pass ( ) . f ( srv, doc) ;
140
155
run ( srv, doc, config)
141
156
}
Original file line number Diff line number Diff line change @@ -283,7 +283,12 @@ fn write_index(ctxt: ctxt, index: doc::index) {
283
283
for entry in index. entries {
284
284
let header = header_text_ ( entry. kind , entry. name ) ;
285
285
let id = entry. link ;
286
- ctxt. w . write_line ( #fmt ( "* [%s](%s)" , header, id) ) ;
286
+ if option:: is_some ( entry. brief ) {
287
+ ctxt. w . write_line ( #fmt ( "* [%s](%s) - %s" ,
288
+ header, id, option:: get ( entry. brief ) ) ) ;
289
+ } else {
290
+ ctxt. w . write_line ( #fmt ( "* [%s](%s)" , header, id) ) ;
291
+ }
287
292
}
288
293
ctxt. w . write_line ( "" ) ;
289
294
}
@@ -298,6 +303,12 @@ fn should_write_index() {
298
303
) ;
299
304
}
300
305
306
+ #[ test]
307
+ fn should_write_index_brief ( ) {
308
+ let markdown = test:: render ( "#[doc(brief = \" test\" )] mod a { }" ) ;
309
+ assert str:: contains ( markdown, "(#module-a) - test\n " ) ;
310
+ }
311
+
301
312
#[ test]
302
313
fn should_not_write_index_if_no_entries ( ) {
303
314
let markdown = test:: render ( "" ) ;
You can’t perform that action at this time.
0 commit comments