From c9cfd57eeaa53657c0af7b9c4ba74d6b7b9889ed Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 20 Jul 2019 20:04:34 +0300 Subject: switch to upstream rowan's API --- crates/ra_assists/src/add_impl.rs | 5 ++--- crates/ra_assists/src/ast_editor.rs | 9 ++++++--- crates/ra_assists/src/introduce_variable.rs | 5 ++--- crates/ra_assists/src/move_guard.rs | 8 ++++---- 4 files changed, 14 insertions(+), 13 deletions(-) (limited to 'crates/ra_assists/src') diff --git a/crates/ra_assists/src/add_impl.rs b/crates/ra_assists/src/add_impl.rs index 59ca88468..4b61f4031 100644 --- a/crates/ra_assists/src/add_impl.rs +++ b/crates/ra_assists/src/add_impl.rs @@ -1,5 +1,4 @@ -use std::fmt::Write; - +use format_buf::format; use hir::db::HirDatabase; use join_to_string::join; use ra_syntax::{ @@ -19,7 +18,7 @@ pub(crate) fn add_impl(mut ctx: AssistCtx) -> Option { let mut buf = String::new(); buf.push_str("\n\nimpl"); if let Some(type_params) = &type_params { - write!(buf, "{}", type_params.syntax()).unwrap(); + format!(buf, "{}", type_params.syntax()); } buf.push_str(" "); buf.push_str(name.text().as_str()); diff --git a/crates/ra_assists/src/ast_editor.rs b/crates/ra_assists/src/ast_editor.rs index ab6c347ad..95b871b30 100644 --- a/crates/ra_assists/src/ast_editor.rs +++ b/crates/ra_assists/src/ast_editor.rs @@ -4,7 +4,10 @@ use arrayvec::ArrayVec; use hir::Name; use ra_fmt::leading_indent; use ra_syntax::{ - ast, AstNode, Direction, InsertPosition, SourceFile, SyntaxElement, SyntaxKind::*, T, + algo::{insert_children, replace_children}, + ast, AstNode, Direction, InsertPosition, SourceFile, SyntaxElement, + SyntaxKind::*, + T, }; use ra_text_edit::TextEditBuilder; @@ -38,7 +41,7 @@ impl AstEditor { position: InsertPosition, to_insert: impl Iterator, ) -> N { - let new_syntax = self.ast().syntax().insert_children(position, to_insert); + let new_syntax = insert_children(self.ast().syntax(), position, to_insert); N::cast(new_syntax).unwrap() } @@ -48,7 +51,7 @@ impl AstEditor { to_delete: RangeInclusive, to_insert: impl Iterator, ) -> N { - let new_syntax = self.ast().syntax().replace_children(to_delete, to_insert); + let new_syntax = replace_children(self.ast().syntax(), to_delete, to_insert); N::cast(new_syntax).unwrap() } diff --git a/crates/ra_assists/src/introduce_variable.rs b/crates/ra_assists/src/introduce_variable.rs index 911de2d48..5eb708310 100644 --- a/crates/ra_assists/src/introduce_variable.rs +++ b/crates/ra_assists/src/introduce_variable.rs @@ -1,5 +1,4 @@ -use std::fmt::Write; - +use format_buf::format; use hir::db::HirDatabase; use ra_syntax::{ ast::{self, AstNode}, @@ -37,7 +36,7 @@ pub(crate) fn introduce_variable(mut ctx: AssistCtx) -> Option buf.push_str("let var_name = "); TextUnit::of_str("let ") }; - write!(buf, "{}", expr.syntax()).unwrap(); + format!(buf, "{}", expr.syntax()); let full_stmt = ast::ExprStmt::cast(anchor_stmt.clone()); let is_full_stmt = if let Some(expr_stmt) = &full_stmt { Some(expr.syntax().clone()) == expr_stmt.expr().map(|e| e.syntax().clone()) diff --git a/crates/ra_assists/src/move_guard.rs b/crates/ra_assists/src/move_guard.rs index 0f3cdbe53..127c9e068 100644 --- a/crates/ra_assists/src/move_guard.rs +++ b/crates/ra_assists/src/move_guard.rs @@ -2,7 +2,7 @@ use hir::db::HirDatabase; use ra_syntax::{ ast, ast::{AstNode, AstToken, IfExpr, MatchArm}, - SyntaxElement, TextUnit, + TextUnit, }; use crate::{Assist, AssistCtx, AssistId}; @@ -18,10 +18,10 @@ pub(crate) fn move_guard_to_arm_body(mut ctx: AssistCtx) -> Op ctx.add_action(AssistId("move_guard_to_arm_body"), "move guard to arm body", |edit| { edit.target(guard.syntax().text_range()); - let offseting_amount = match &space_before_guard { - Some(SyntaxElement::Token(tok)) => { + let offseting_amount = match space_before_guard.and_then(|it| it.into_token()) { + Some(tok) => { if let Some(_) = ast::Whitespace::cast(tok.clone()) { - let ele = space_before_guard.unwrap().text_range(); + let ele = tok.text_range(); edit.delete(ele); ele.len() } else { -- cgit v1.2.3