From 21a872bbe8105149ec6335432f49b02de1ccffb7 Mon Sep 17 00:00:00 2001 From: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com> Date: Sat, 30 Mar 2024 17:14:50 +0800 Subject: [PATCH] fix: wrong completion kind (#127) * fix: wrong completion kind * dev: add completion requests back to e2e testing --- .../tinymist-query/src/lsp_typst_boundary.rs | 4 +-- tests/e2e/main.rs | 35 ++++++++++--------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/crates/tinymist-query/src/lsp_typst_boundary.rs b/crates/tinymist-query/src/lsp_typst_boundary.rs index 44e0fc09..e7aaaec5 100644 --- a/crates/tinymist-query/src/lsp_typst_boundary.rs +++ b/crates/tinymist-query/src/lsp_typst_boundary.rs @@ -257,8 +257,8 @@ pub mod typst_to_lsp { TypstCompletionKind::Syntax => LspCompletionKind::SNIPPET, TypstCompletionKind::Func => LspCompletionKind::FUNCTION, TypstCompletionKind::Param => LspCompletionKind::VARIABLE, - TypstCompletionKind::Constant => LspCompletionKind::FIELD, - TypstCompletionKind::Symbol(_) => LspCompletionKind::TEXT, + TypstCompletionKind::Constant => LspCompletionKind::CONSTANT, + TypstCompletionKind::Symbol(_) => LspCompletionKind::FIELD, TypstCompletionKind::Type => LspCompletionKind::CLASS, } } diff --git a/tests/e2e/main.rs b/tests/e2e/main.rs index b8e66e31..b00ffe54 100644 --- a/tests/e2e/main.rs +++ b/tests/e2e/main.rs @@ -171,7 +171,8 @@ fn e2e() { let log = log.trim().split('\n').collect::>(); let mut uri_set = HashSet::new(); let mut uris = Vec::new(); - for line in log { + let log_lines = log.len(); + for (idx, line) in log.into_iter().enumerate() { let mut v: Value = serde_json::from_str(line).unwrap(); // discover range in contentChanges and construct signatureHelp @@ -210,13 +211,14 @@ fn e2e() { work_done_progress_params: Default::default(), text_document_position_params: pos.clone(), })); - // todo: specific test - // srv.request::(json!(CompletionParams { - // text_document_position: pos.clone(), - // context: None, - // work_done_progress_params: Default::default(), - // partial_result_params: Default::default(), - // })); + if log_lines == idx + 1 || log_lines == idx + 5 || log_lines == idx + 10 { + srv.request::(json!(CompletionParams { + text_document_position: pos.clone(), + context: None, + work_done_progress_params: Default::default(), + partial_result_params: Default::default(), + })); + } srv.request::(json!(GotoDefinitionParams { text_document_position_params: pos.clone(), work_done_progress_params: Default::default(), @@ -317,13 +319,14 @@ fn e2e() { end: MX_POS } })); - // todo: specific test - // srv.request::(json! - // (SemanticTokensParams { text_document: - // TextDocumentIdentifier { uri: u.clone() }, - // work_done_progress_params: Default::default(), - // partial_result_params: Default::default(), - // })); + + if log_lines == idx + 1 { + srv.request::(json!(SemanticTokensParams { + text_document: TextDocumentIdentifier { uri: u.clone() }, + work_done_progress_params: Default::default(), + partial_result_params: Default::default(), + })); + } } } }); @@ -356,7 +359,7 @@ fn e2e() { std::fs::write(root.join("vscode/result_sorted.json"), c).unwrap(); let hash = format!("siphash128_13:{:x}", hash); - insta::assert_snapshot!(hash, @"siphash128_13:379db828c1cee3340b4e98b2042d675b"); + insta::assert_snapshot!(hash, @"siphash128_13:db9523369516f3a16997fc1913381d6e"); } struct StableHash<'a>(&'a Value);