@@ -13,8 +13,13 @@ pub fn expand_selection(syntax: &Syntax, text: RopeSlice, selection: &Selection)
13 let parent = match tree
13 let parent = match tree
14 .root_node()
14 .root_node()
15 .descendant_for_byte_range(from, to)
15 .descendant_for_byte_range(from, to)
16− .and_then(|node| node.parent())
16+ .and_then(|node| {
17+ if node.child_count() == 0 || (node.start_byte() == from && node.end_byte() == to) {
18 Some(parent) => parent,
23 Some(parent) => parent,
19 None => return range,
24 None => return range,