Generalize

This commit is contained in:
Aleksey Kladov 2020-03-19 11:38:26 +01:00
parent 5b0a7c7d16
commit ef3bf906c4
3 changed files with 14 additions and 13 deletions

View file

@ -73,6 +73,10 @@ pub fn least_common_ancestor(u: &SyntaxNode, v: &SyntaxNode) -> Option<SyntaxNod
v.ancestors().find(|it| u_ancestors.contains(it))
}
pub fn neighbor<T: AstNode>(me: &T, direction: Direction) -> Option<T> {
me.syntax().siblings(direction).skip(1).find_map(T::cast)
}
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum InsertPosition<T> {
First,