@@ -625,8 +625,9 @@ void MasterServer::register_handlers() {
625625 auto path = uri_to_path (params.text_document_position_params .text_document .uri );
626626 auto path_id = path_pool.intern (path);
627627
628- co_await ensure_compiled (path_id,
629- params.text_document_position_params .text_document .uri );
628+ if (!co_await ensure_compiled (path_id,
629+ params.text_document_position_params .text_document .uri ))
630+ co_return serde_raw{" null" };
630631
631632 worker::HoverParams wp;
632633 wp.path = path;
@@ -655,7 +656,8 @@ void MasterServer::register_handlers() {
655656 auto path = uri_to_path (params.text_document .uri );
656657 auto path_id = path_pool.intern (path);
657658
658- co_await ensure_compiled (path_id, params.text_document .uri );
659+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
660+ co_return serde_raw{" null" };
659661
660662 worker::SemanticTokensParams wp;
661663 wp.path = path;
@@ -676,7 +678,8 @@ void MasterServer::register_handlers() {
676678 auto path = uri_to_path (params.text_document .uri );
677679 auto path_id = path_pool.intern (path);
678680
679- co_await ensure_compiled (path_id, params.text_document .uri );
681+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
682+ co_return serde_raw{" null" };
680683
681684 worker::InlayHintsParams wp;
682685 wp.path = path;
@@ -697,7 +700,8 @@ void MasterServer::register_handlers() {
697700 auto path = uri_to_path (params.text_document .uri );
698701 auto path_id = path_pool.intern (path);
699702
700- co_await ensure_compiled (path_id, params.text_document .uri );
703+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
704+ co_return serde_raw{" null" };
701705
702706 worker::FoldingRangeParams wp;
703707 wp.path = path;
@@ -718,7 +722,8 @@ void MasterServer::register_handlers() {
718722 auto path = uri_to_path (params.text_document .uri );
719723 auto path_id = path_pool.intern (path);
720724
721- co_await ensure_compiled (path_id, params.text_document .uri );
725+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
726+ co_return serde_raw{" null" };
722727
723728 worker::DocumentSymbolParams wp;
724729 wp.path = path;
@@ -739,7 +744,8 @@ void MasterServer::register_handlers() {
739744 auto path = uri_to_path (params.text_document .uri );
740745 auto path_id = path_pool.intern (path);
741746
742- co_await ensure_compiled (path_id, params.text_document .uri );
747+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
748+ co_return serde_raw{" null" };
743749
744750 worker::DocumentLinkParams wp;
745751 wp.path = path;
@@ -760,7 +766,8 @@ void MasterServer::register_handlers() {
760766 auto path = uri_to_path (params.text_document .uri );
761767 auto path_id = path_pool.intern (path);
762768
763- co_await ensure_compiled (path_id, params.text_document .uri );
769+ if (!co_await ensure_compiled (path_id, params.text_document .uri ))
770+ co_return serde_raw{" null" };
764771
765772 worker::CodeActionParams wp;
766773 wp.path = path;
@@ -781,8 +788,9 @@ void MasterServer::register_handlers() {
781788 auto path = uri_to_path (params.text_document_position_params .text_document .uri );
782789 auto path_id = path_pool.intern (path);
783790
784- co_await ensure_compiled (path_id,
785- params.text_document_position_params .text_document .uri );
791+ if (!co_await ensure_compiled (path_id,
792+ params.text_document_position_params .text_document .uri ))
793+ co_return serde_raw{" null" };
786794
787795 worker::GoToDefinitionParams wp;
788796 wp.path = path;
0 commit comments