aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_editor/src/symbols.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_editor/src/symbols.rs')
-rw-r--r--crates/ra_editor/src/symbols.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/ra_editor/src/symbols.rs b/crates/ra_editor/src/symbols.rs
index c3c66680d..0bab9dd67 100644
--- a/crates/ra_editor/src/symbols.rs
+++ b/crates/ra_editor/src/symbols.rs
@@ -54,15 +54,15 @@ pub fn file_structure(file: &File) -> Vec<StructureNode> {
54 let mut res = Vec::new(); 54 let mut res = Vec::new();
55 let mut stack = Vec::new(); 55 let mut stack = Vec::new();
56 56
57
57 for event in file.syntax().preorder() { 58 for event in file.syntax().preorder() {
58 match event { 59 match event {
59 WalkEvent::Enter(node) => match structure_node(node) { 60 WalkEvent::Enter(node) => {
60 Some(mut symbol) => { 61 if let Some(mut symbol) = structure_node(node) {
61 symbol.parent = stack.last().map(|&n| n); 62 symbol.parent = stack.last().map(|&n| n);
62 stack.push(res.len()); 63 stack.push(res.len());
63 res.push(symbol); 64 res.push(symbol);
64 } 65 }
65 None => (),
66 }, 66 },
67 WalkEvent::Leave(node) => { 67 WalkEvent::Leave(node) => {
68 if structure_node(node).is_some() { 68 if structure_node(node).is_some() {