aboutsummaryrefslogtreecommitdiff
path: root/crates/ide
diff options
context:
space:
mode:
authorm5tfi <[email protected]>2021-05-05 05:27:16 +0100
committerm5tfi <[email protected]>2021-05-05 05:28:41 +0100
commitc2cf34db90e48de6e8a10da7959a4c49f95e1ff6 (patch)
treee515edd93076d0f48d46b8f936ca2559d39ac32d /crates/ide
parent5778ab1e41b48371cf3100a397a138deda3f73f5 (diff)
remove unneeded `visited_where_clauses`
Diffstat (limited to 'crates/ide')
-rwxr-xr-x[-rw-r--r--]crates/ide/src/folding_ranges.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/crates/ide/src/folding_ranges.rs b/crates/ide/src/folding_ranges.rs
index e03ddaa14..a03988778 100644..100755
--- a/crates/ide/src/folding_ranges.rs
+++ b/crates/ide/src/folding_ranges.rs
@@ -36,7 +36,6 @@ pub(crate) fn folding_ranges(file: &SourceFile) -> Vec<Fold> {
36 let mut visited_mods = FxHashSet::default(); 36 let mut visited_mods = FxHashSet::default();
37 let mut visited_consts = FxHashSet::default(); 37 let mut visited_consts = FxHashSet::default();
38 let mut visited_statics = FxHashSet::default(); 38 let mut visited_statics = FxHashSet::default();
39 let mut visited_where_clauses = FxHashSet::default();
40 // regions can be nested, here is a LIFO buffer 39 // regions can be nested, here is a LIFO buffer
41 let mut regions_starts: Vec<TextSize> = vec![]; 40 let mut regions_starts: Vec<TextSize> = vec![];
42 41
@@ -113,10 +112,8 @@ pub(crate) fn folding_ranges(file: &SourceFile) -> Vec<Fold> {
113 } 112 }
114 113
115 // Fold where clause 114 // Fold where clause
116 if node.kind() == WHERE_CLAUSE && !visited_where_clauses.contains(&node) { 115 if node.kind() == WHERE_CLAUSE {
117 if let Some(range) = 116 if let Some(range) = fold_range_for_where_clause(&node) {
118 contiguous_range_for_where(&node, &mut visited_where_clauses)
119 {
120 res.push(Fold { range, kind: FoldKind::WhereClause }) 117 res.push(Fold { range, kind: FoldKind::WhereClause })
121 } 118 }
122 } 119 }
@@ -252,10 +249,7 @@ fn contiguous_range_for_comment(
252 } 249 }
253} 250}
254 251
255fn contiguous_range_for_where( 252fn fold_range_for_where_clause(node: &SyntaxNode) -> Option<TextRange> {
256 node: &SyntaxNode,
257 visited: &mut FxHashSet<SyntaxNode>,
258) -> Option<TextRange> {
259 let first_where_pred = node.first_child(); 253 let first_where_pred = node.first_child();
260 let last_where_pred = node.last_child(); 254 let last_where_pred = node.last_child();
261 255
@@ -266,8 +260,6 @@ fn contiguous_range_for_where(
266 { 260 {
267 let start = where_kw.text_range().end(); 261 let start = where_kw.text_range().end();
268 let end = last_comma.text_range().end(); 262 let end = last_comma.text_range().end();
269
270 visited.insert(node.clone());
271 return Some(TextRange::new(start, end)); 263 return Some(TextRange::new(start, end));
272 } 264 }
273 } 265 }