mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-02 03:33:59 +00:00
Merge #8412
8412: Emit folding ranges for multiline array literals r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
This commit is contained in:
commit
0c0d648b49
@ -19,6 +19,7 @@ pub enum FoldKind {
|
||||
Region,
|
||||
Consts,
|
||||
Statics,
|
||||
Array,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
@ -119,6 +120,7 @@ fn fold_kind(kind: SyntaxKind) -> Option<FoldKind> {
|
||||
match kind {
|
||||
COMMENT => Some(FoldKind::Comment),
|
||||
ARG_LIST | PARAM_LIST => Some(FoldKind::ArgList),
|
||||
ARRAY_EXPR => Some(FoldKind::Array),
|
||||
ASSOC_ITEM_LIST
|
||||
| RECORD_FIELD_LIST
|
||||
| RECORD_PAT_FIELD_LIST
|
||||
@ -269,6 +271,7 @@ mod tests {
|
||||
FoldKind::Region => "region",
|
||||
FoldKind::Consts => "consts",
|
||||
FoldKind::Statics => "statics",
|
||||
FoldKind::Array => "array",
|
||||
};
|
||||
assert_eq!(kind, &attr.unwrap());
|
||||
}
|
||||
@ -464,6 +467,20 @@ fn foo<fold arglist>(
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fold_multiline_array() {
|
||||
check(
|
||||
r#"
|
||||
const FOO: [usize; 4] = <fold array>[
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
]</fold>;
|
||||
"#,
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fold_region() {
|
||||
check(
|
||||
|
@ -497,7 +497,8 @@ pub(crate) fn folding_range(
|
||||
| FoldKind::Block
|
||||
| FoldKind::ArgList
|
||||
| FoldKind::Consts
|
||||
| FoldKind::Statics => None,
|
||||
| FoldKind::Statics
|
||||
| FoldKind::Array => None,
|
||||
};
|
||||
|
||||
let range = range(line_index, fold.range);
|
||||
|
Loading…
Reference in New Issue
Block a user