aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-05-27 12:41:14 +0100
committerAleksey Kladov <[email protected]>2019-05-27 12:41:14 +0100
commita2845bb1f59e5f3d9f41012ace70037b783468ce (patch)
treec4f8df827cff367ead60339fac7766f8eb2b7dd4
parent0d2f97e83eaf8cd5d313affca1a0f52a2db6b54b (diff)
check cancellation when expanding macros
-rw-r--r--crates/ra_hir/src/ids.rs1
-rw-r--r--crates/ra_lsp_server/tests/heavy_tests/main.rs5
2 files changed, 3 insertions, 3 deletions
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs
index 2eb7f0da0..5c3799e95 100644
--- a/crates/ra_hir/src/ids.rs
+++ b/crates/ra_hir/src/ids.rs
@@ -61,6 +61,7 @@ impl HirFileId {
61 db: &impl DefDatabase, 61 db: &impl DefDatabase,
62 file_id: HirFileId, 62 file_id: HirFileId,
63 ) -> Option<TreeArc<SyntaxNode>> { 63 ) -> Option<TreeArc<SyntaxNode>> {
64 db.check_canceled();
64 let _p = profile("parse_or_expand_query"); 65 let _p = profile("parse_or_expand_query");
65 match file_id.0 { 66 match file_id.0 {
66 HirFileIdRepr::File(file_id) => Some(db.parse(file_id).syntax().to_owned()), 67 HirFileIdRepr::File(file_id) => Some(db.parse(file_id).syntax().to_owned()),
diff --git a/crates/ra_lsp_server/tests/heavy_tests/main.rs b/crates/ra_lsp_server/tests/heavy_tests/main.rs
index 3c2dc08ed..f61048aaf 100644
--- a/crates/ra_lsp_server/tests/heavy_tests/main.rs
+++ b/crates/ra_lsp_server/tests/heavy_tests/main.rs
@@ -365,7 +365,6 @@ fn main() {{}}
365 librs, libs 365 librs, libs
366 )); 366 ));
367 server.wait_until_workspace_is_loaded(); 367 server.wait_until_workspace_is_loaded();
368 eprintln!("workspace loaded");
369 for i in 0..10 { 368 for i in 0..10 {
370 server.notification::<DidOpenTextDocument>(DidOpenTextDocumentParams { 369 server.notification::<DidOpenTextDocument>(DidOpenTextDocumentParams {
371 text_document: TextDocumentItem { 370 text_document: TextDocumentItem {
@@ -376,7 +375,6 @@ fn main() {{}}
376 }, 375 },
377 }); 376 });
378 } 377 }
379 eprintln!("docs opened");
380 let start = std::time::Instant::now(); 378 let start = std::time::Instant::now();
381 server.request::<OnEnter>( 379 server.request::<OnEnter>(
382 TextDocumentPositionParams { 380 TextDocumentPositionParams {
@@ -407,5 +405,6 @@ fn main() {{}}
407 } 405 }
408 }), 406 }),
409 ); 407 );
410 eprintln!("handled: {:?}", start.elapsed()); 408 let elapsed = start.elapsed();
409 assert!(elapsed.as_millis() < 2000, "typing enter took {:?}", elapsed);
411} 410}