aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/lib.rs')
-rw-r--r--crates/ra_ide/src/lib.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_ide/src/lib.rs b/crates/ra_ide/src/lib.rs
index d1bff4a76..1f88791d7 100644
--- a/crates/ra_ide/src/lib.rs
+++ b/crates/ra_ide/src/lib.rs
@@ -56,7 +56,7 @@ use ra_db::{
56 salsa::{self, ParallelDatabase}, 56 salsa::{self, ParallelDatabase},
57 CheckCanceled, Env, FileLoader, SourceDatabase, 57 CheckCanceled, Env, FileLoader, SourceDatabase,
58}; 58};
59use ra_syntax::{SourceFile, TextRange, TextUnit}; 59use ra_syntax::{tokenize, SourceFile, SyntaxKind, TextRange, TextUnit};
60 60
61use crate::{db::LineIndexDatabase, display::ToNav, symbol_index::FileSymbol}; 61use crate::{db::LineIndexDatabase, display::ToNav, symbol_index::FileSymbol};
62 62
@@ -470,6 +470,13 @@ impl Analysis {
470 position: FilePosition, 470 position: FilePosition,
471 new_name: &str, 471 new_name: &str,
472 ) -> Cancelable<Option<RangeInfo<SourceChange>>> { 472 ) -> Cancelable<Option<RangeInfo<SourceChange>>> {
473 let tokens = tokenize(new_name);
474 if tokens.len() != 1
475 || (tokens[0].kind != SyntaxKind::IDENT && tokens[0].kind != SyntaxKind::UNDERSCORE)
476 {
477 return Ok(None);
478 }
479
473 self.with_db(|db| references::rename(db, position, new_name)) 480 self.with_db(|db| references::rename(db, position, new_name))
474 } 481 }
475 482