mirror of
https://github.com/denoland/deno.git
synced 2024-11-29 16:30:56 -05:00
Fixes #10695
This commit is contained in:
parent
3af44a26eb
commit
91decbfabf
3 changed files with 39 additions and 5 deletions
|
@ -11,6 +11,7 @@ use crate::tokio_util::create_basic_runtime;
|
||||||
use deno_core::error::anyhow;
|
use deno_core::error::anyhow;
|
||||||
use deno_core::error::AnyError;
|
use deno_core::error::AnyError;
|
||||||
use deno_core::resolve_url;
|
use deno_core::resolve_url;
|
||||||
|
use deno_core::serde_json::json;
|
||||||
use deno_core::ModuleSpecifier;
|
use deno_core::ModuleSpecifier;
|
||||||
use log::error;
|
use log::error;
|
||||||
use lspower::lsp;
|
use lspower::lsp;
|
||||||
|
@ -446,6 +447,7 @@ async fn generate_deps_diagnostics(
|
||||||
code,
|
code,
|
||||||
source: Some("deno".to_string()),
|
source: Some("deno".to_string()),
|
||||||
message,
|
message,
|
||||||
|
data: Some(json!({ "specifier": specifier })),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
});
|
});
|
||||||
} else if sources.contains_key(&specifier) {
|
} else if sources.contains_key(&specifier) {
|
||||||
|
|
|
@ -1362,17 +1362,24 @@ fn lsp_code_actions() {
|
||||||
#[test]
|
#[test]
|
||||||
fn lsp_code_actions_deno_cache() {
|
fn lsp_code_actions_deno_cache() {
|
||||||
let mut client = init("initialize_params.json");
|
let mut client = init("initialize_params.json");
|
||||||
did_open(
|
client
|
||||||
&mut client,
|
.write_notification("textDocument/didOpen", json!({
|
||||||
json!({
|
|
||||||
"textDocument": {
|
"textDocument": {
|
||||||
"uri": "file:///a/file.ts",
|
"uri": "file:///a/file.ts",
|
||||||
"languageId": "typescript",
|
"languageId": "typescript",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"text": "import * as a from \"https://deno.land/x/a/mod.ts\";\n\nconsole.log(a);\n"
|
"text": "import * as a from \"https://deno.land/x/a/mod.ts\";\n\nconsole.log(a);\n"
|
||||||
}
|
}
|
||||||
}),
|
}))
|
||||||
);
|
.unwrap();
|
||||||
|
let (method, _) = client.read_notification::<Value>().unwrap();
|
||||||
|
assert_eq!(method, "textDocument/publishDiagnostics");
|
||||||
|
let (method, _) = client.read_notification::<Value>().unwrap();
|
||||||
|
assert_eq!(method, "textDocument/publishDiagnostics");
|
||||||
|
let (method, params) = client.read_notification().unwrap();
|
||||||
|
assert_eq!(method, "textDocument/publishDiagnostics");
|
||||||
|
assert_eq!(params, Some(load_fixture("diagnostics_deno_deps.json")));
|
||||||
|
|
||||||
let (maybe_res, maybe_err) = client
|
let (maybe_res, maybe_err) = client
|
||||||
.write_request(
|
.write_request(
|
||||||
"textDocument/codeAction",
|
"textDocument/codeAction",
|
||||||
|
|
25
cli/tests/lsp/diagnostics_deno_deps.json
Normal file
25
cli/tests/lsp/diagnostics_deno_deps.json
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"uri": "file:///a/file.ts",
|
||||||
|
"diagnostics": [
|
||||||
|
{
|
||||||
|
"range": {
|
||||||
|
"start": {
|
||||||
|
"line": 0,
|
||||||
|
"character": 19
|
||||||
|
},
|
||||||
|
"end": {
|
||||||
|
"line": 0,
|
||||||
|
"character": 49
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"severity": 1,
|
||||||
|
"code": "no-cache",
|
||||||
|
"source": "deno",
|
||||||
|
"message": "Uncached or missing remote URL: \"https://deno.land/x/a/mod.ts\".",
|
||||||
|
"data": {
|
||||||
|
"specifier": "https://deno.land/x/a/mod.ts"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 1
|
||||||
|
}
|
Loading…
Reference in a new issue