Push identifier check to rename function

This commit is contained in:
Wilco Kusee 2019-11-29 16:06:20 +01:00
parent 645df2b5f5
commit b3856568af
No known key found for this signature in database
GPG key ID: D5B2BB5CDC3334BC
2 changed files with 9 additions and 9 deletions

View file

@ -56,7 +56,7 @@ use ra_db::{
salsa::{self, ParallelDatabase},
CheckCanceled, Env, FileLoader, SourceDatabase,
};
use ra_syntax::{tokenize, SourceFile, SyntaxKind, TextRange, TextUnit};
use ra_syntax::{SourceFile, TextRange, TextUnit};
use crate::{db::LineIndexDatabase, display::ToNav, symbol_index::FileSymbol};
@ -470,13 +470,6 @@ impl Analysis {
position: FilePosition,
new_name: &str,
) -> Cancelable<Option<RangeInfo<SourceChange>>> {
let tokens = tokenize(new_name);
if tokens.len() != 1
|| (tokens[0].kind != SyntaxKind::IDENT && tokens[0].kind != SyntaxKind::UNDERSCORE)
{
return Ok(None);
}
self.with_db(|db| references::rename(db, position, new_name))
}

View file

@ -2,7 +2,7 @@
use hir::ModuleSource;
use ra_db::{RelativePath, RelativePathBuf, SourceDatabase, SourceDatabaseExt};
use ra_syntax::{algo::find_node_at_offset, ast, AstNode, SyntaxNode};
use ra_syntax::{algo::find_node_at_offset, ast, tokenize, AstNode, SyntaxKind, SyntaxNode};
use ra_text_edit::TextEdit;
use crate::{
@ -17,6 +17,13 @@ pub(crate) fn rename(
position: FilePosition,
new_name: &str,
) -> Option<RangeInfo<SourceChange>> {
let tokens = tokenize(new_name);
if tokens.len() != 1
|| (tokens[0].kind != SyntaxKind::IDENT && tokens[0].kind != SyntaxKind::UNDERSCORE)
{
return None;
}
let parse = db.parse(position.file_id);
if let Some((ast_name, ast_module)) =
find_name_and_module_at_offset(parse.tree().syntax(), position)