mirror of
https://github.com/denoland/deno.git
synced 2025-10-03 07:34:36 +00:00
feat(lsp): ability to configure document pre-load limit (#19097)
Adds a `deno.preloadLimit` option (ex. `"deno.preloadLimit": 2000`) which specifies how many file entries to traverse on the file system when the lsp loads or its configuration changes. Closes #18955
This commit is contained in:
parent
c926bc0deb
commit
28a72d5488
12 changed files with 239 additions and 168 deletions
|
@ -7418,6 +7418,49 @@ fn lsp_closed_file_find_references() {
|
|||
client.shutdown();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn lsp_closed_file_find_references_low_document_pre_load() {
|
||||
let context = TestContextBuilder::new().use_temp_cwd().build();
|
||||
let temp_dir = context.temp_dir();
|
||||
temp_dir.create_dir_all("sub_dir");
|
||||
temp_dir.write("./other_file.ts", "export const b = 5;");
|
||||
temp_dir.write("./sub_dir/mod.ts", "export const a = 5;");
|
||||
temp_dir.write(
|
||||
"./sub_dir/mod.test.ts",
|
||||
"import { a } from './mod.ts'; console.log(a);",
|
||||
);
|
||||
let temp_dir_url = temp_dir.uri();
|
||||
let mut client = context.new_lsp_command().build();
|
||||
client.initialize(|builder| {
|
||||
builder.set_preload_limit(1);
|
||||
});
|
||||
client.did_open(json!({
|
||||
"textDocument": {
|
||||
"uri": temp_dir_url.join("sub_dir/mod.ts").unwrap(),
|
||||
"languageId": "typescript",
|
||||
"version": 1,
|
||||
"text": r#"export const a = 5;"#
|
||||
}
|
||||
}));
|
||||
let res = client.write_request(
|
||||
"textDocument/references",
|
||||
json!({
|
||||
"textDocument": {
|
||||
"uri": temp_dir_url.join("sub_dir/mod.ts").unwrap(),
|
||||
},
|
||||
"position": { "line": 0, "character": 13 },
|
||||
"context": {
|
||||
"includeDeclaration": false
|
||||
}
|
||||
}),
|
||||
);
|
||||
|
||||
// won't have results because the document won't be pre-loaded
|
||||
assert_eq!(res, json!([]));
|
||||
|
||||
client.shutdown();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn lsp_data_urls_with_jsx_compiler_option() {
|
||||
let context = TestContextBuilder::new().use_temp_cwd().build();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue