feat: add command to profile the entire server (#1438)

* feat: declare and bind tinymist.profileServer command

* feat: editor bridge with the frontend

* feat: start and stop server profiling

* feat: add profile-server prototype (#1440)

* Add profile-server prototype

* fix: use branch

---------

Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>

* feat: make it good

* build: update cargo.lock

* dev: ls profile impl and hook

* test: update snapshot

---------

Co-authored-by: Derived Cat <hooyuser@outlook.com>
This commit is contained in:
Myriad-Dreamin 2025-05-09 15:29:24 +08:00 committed by GitHub
parent 890ecd93a5
commit d6d3766b6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 858 additions and 298 deletions

View file

@ -779,6 +779,7 @@ impl SharedContext {
}
/// Get the lint result of a source file.
#[typst_macros::time(span = source.root().span())]
pub(crate) fn lint(self: &Arc<Self>, source: &Source) -> LintInfo {
let ei = self.expr_stage(source);
let ti = self.type_check(source);
@ -1296,6 +1297,7 @@ fn ceil_char_boundary(text: &str, mut cursor: usize) -> usize {
cursor.min(text.len())
}
#[typst_macros::time]
#[comemo::memoize]
fn analyze_bib(
world: Tracked<dyn World + '_>,