0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00

fix(lsp): do not rename in strings and comments (#11041)

This commit is contained in:
David Sherret 2021-06-19 11:23:50 -04:00 committed by GitHub
parent 2ea41d3ac1
commit 60071c941b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 10 deletions

View file

@ -1766,13 +1766,14 @@ impl Inner {
)));
};
let req = tsc::RequestMethod::FindRenameLocations((
let req = tsc::RequestMethod::FindRenameLocations {
specifier,
line_index.offset_tsc(params.text_document_position.position)?,
true,
true,
false,
));
position: line_index
.offset_tsc(params.text_document_position.position)?,
find_in_strings: false,
find_in_comments: false,
provide_prefix_and_suffix_text_for_rename: false,
};
let maybe_locations: Option<Vec<tsc::RenameLocation>> = self
.ts_server

View file

@ -2319,7 +2319,13 @@ pub enum RequestMethod {
/// Configure the compilation settings for the server.
Configure(TsConfig),
/// Get rename locations at a given position.
FindRenameLocations((ModuleSpecifier, u32, bool, bool, bool)),
FindRenameLocations {
specifier: ModuleSpecifier,
position: u32,
find_in_strings: bool,
find_in_comments: bool,
provide_prefix_and_suffix_text_for_rename: bool,
},
/// Retrieve the text of an assets that exists in memory in the isolate.
GetAsset(ModuleSpecifier),
/// Retrieve code fixes for a range of a file with the provided error codes.
@ -2370,13 +2376,13 @@ impl RequestMethod {
"method": "configure",
"compilerOptions": config,
}),
RequestMethod::FindRenameLocations((
RequestMethod::FindRenameLocations {
specifier,
position,
find_in_strings,
find_in_comments,
provide_prefix_and_suffix_text_for_rename,
)) => {
} => {
json!({
"id": id,
"method": "findRenameLocations",

View file

@ -957,7 +957,8 @@ fn lsp_rename() {
"uri": "file:///a/file.ts",
"languageId": "typescript",
"version": 1,
"text": "let variable = 'a';\nconsole.log(variable);"
// this should not rename in comments and strings
"text": "let variable = 'a'; // variable\nconsole.log(variable);\n\"variable\";\n"
}
}),
);