From be9ba2b392aaada4b0ce72f61fd664fc3d4021b5 Mon Sep 17 00:00:00 2001
From: Wilco Kusee <wilcokusee@gmail.com>
Date: Fri, 29 Nov 2019 15:52:12 +0100
Subject: Move identifier check to analysis

---
 crates/ra_lsp_server/src/main_loop/handlers.rs | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

(limited to 'crates/ra_lsp_server')

diff --git a/crates/ra_lsp_server/src/main_loop/handlers.rs b/crates/ra_lsp_server/src/main_loop/handlers.rs
index 0380788ac..ca47ff5e1 100644
--- a/crates/ra_lsp_server/src/main_loop/handlers.rs
+++ b/crates/ra_lsp_server/src/main_loop/handlers.rs
@@ -13,7 +13,7 @@ use ra_ide::{
     AssistId, FileId, FilePosition, FileRange, Query, Runnable, RunnableKind, SearchScope,
 };
 use ra_prof::profile;
-use ra_syntax::{tokenize, AstNode, SyntaxKind, TextRange, TextUnit};
+use ra_syntax::{AstNode, SyntaxKind, TextRange, TextUnit};
 use rustc_hash::FxHashMap;
 use serde::{Deserialize, Serialize};
 use serde_json::to_value;
@@ -480,8 +480,6 @@ pub fn handle_prepare_rename(
     let _p = profile("handle_prepare_rename");
     let position = params.try_conv_with(&world)?;
 
-    // We support renaming references like handle_rename does.
-    // In the future we may want to reject the renaming of things like keywords here too.
     let optional_change = world.analysis().rename(position, "dummy")?;
     let range = match optional_change {
         None => return Ok(None),
@@ -506,14 +504,6 @@ pub fn handle_rename(world: WorldSnapshot, params: RenameParams) -> Result<Optio
         .into());
     }
 
-    // Only rename to valid identifiers
-    let tokens = tokenize(&params.new_name);
-    if tokens.len() != 1
-        || (tokens[0].kind != SyntaxKind::IDENT && tokens[0].kind != SyntaxKind::UNDERSCORE)
-    {
-        return Ok(None);
-    }
-
     let optional_change = world.analysis().rename(position, &*params.new_name)?;
     let change = match optional_change {
         None => return Ok(None),
-- 
cgit v1.2.3