diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-07-19 12:15:55 +0100 |
---|---|---|
committer | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-07-19 12:15:55 +0100 |
commit | f209843e31af7f0e0212aa28ffec2efad2a70c6f (patch) | |
tree | 548227da78a3bea644f57714d075410c0bdf7469 /crates/ra_ide_api/src/completion/complete_keyword.rs | |
parent | 58d4983ba5745975446d60f2886d96f8d2adf0f2 (diff) | |
parent | d4a66166c002f0a49e41d856a49cb5685ac93202 (diff) |
Merge #1545
1545: migrate ra_syntax to the new rowan API r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/completion/complete_keyword.rs')
-rw-r--r-- | crates/ra_ide_api/src/completion/complete_keyword.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/crates/ra_ide_api/src/completion/complete_keyword.rs b/crates/ra_ide_api/src/completion/complete_keyword.rs index 034ed934d..4cf34eff8 100644 --- a/crates/ra_ide_api/src/completion/complete_keyword.rs +++ b/crates/ra_ide_api/src/completion/complete_keyword.rs | |||
@@ -52,7 +52,7 @@ pub(super) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte | |||
52 | return; | 52 | return; |
53 | } | 53 | } |
54 | 54 | ||
55 | let fn_def = match ctx.function_syntax { | 55 | let fn_def = match &ctx.function_syntax { |
56 | Some(it) => it, | 56 | Some(it) => it, |
57 | None => return, | 57 | None => return, |
58 | }; | 58 | }; |
@@ -65,7 +65,7 @@ pub(super) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte | |||
65 | acc.add(keyword(ctx, "else", "else {$0}")); | 65 | acc.add(keyword(ctx, "else", "else {$0}")); |
66 | acc.add(keyword(ctx, "else if", "else if $0 {}")); | 66 | acc.add(keyword(ctx, "else if", "else if $0 {}")); |
67 | } | 67 | } |
68 | if is_in_loop_body(ctx.token) { | 68 | if is_in_loop_body(&ctx.token) { |
69 | if ctx.can_be_stmt { | 69 | if ctx.can_be_stmt { |
70 | acc.add(keyword(ctx, "continue", "continue;")); | 70 | acc.add(keyword(ctx, "continue", "continue;")); |
71 | acc.add(keyword(ctx, "break", "break;")); | 71 | acc.add(keyword(ctx, "break", "break;")); |
@@ -74,19 +74,19 @@ pub(super) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte | |||
74 | acc.add(keyword(ctx, "break", "break")); | 74 | acc.add(keyword(ctx, "break", "break")); |
75 | } | 75 | } |
76 | } | 76 | } |
77 | acc.add_all(complete_return(ctx, fn_def, ctx.can_be_stmt)); | 77 | acc.add_all(complete_return(ctx, &fn_def, ctx.can_be_stmt)); |
78 | } | 78 | } |
79 | 79 | ||
80 | fn is_in_loop_body(leaf: SyntaxToken) -> bool { | 80 | fn is_in_loop_body(leaf: &SyntaxToken) -> bool { |
81 | for node in leaf.parent().ancestors() { | 81 | for node in leaf.parent().ancestors() { |
82 | if node.kind() == FN_DEF || node.kind() == LAMBDA_EXPR { | 82 | if node.kind() == FN_DEF || node.kind() == LAMBDA_EXPR { |
83 | break; | 83 | break; |
84 | } | 84 | } |
85 | let loop_body = visitor() | 85 | let loop_body = visitor() |
86 | .visit::<ast::ForExpr, _>(LoopBodyOwner::loop_body) | 86 | .visit::<ast::ForExpr, _>(|it| it.loop_body()) |
87 | .visit::<ast::WhileExpr, _>(LoopBodyOwner::loop_body) | 87 | .visit::<ast::WhileExpr, _>(|it| it.loop_body()) |
88 | .visit::<ast::LoopExpr, _>(LoopBodyOwner::loop_body) | 88 | .visit::<ast::LoopExpr, _>(|it| it.loop_body()) |
89 | .accept(node); | 89 | .accept(&node); |
90 | if let Some(Some(body)) = loop_body { | 90 | if let Some(Some(body)) = loop_body { |
91 | if leaf.range().is_subrange(&body.syntax().range()) { | 91 | if leaf.range().is_subrange(&body.syntax().range()) { |
92 | return true; | 92 | return true; |