char/avril

(wip) why'd you have to go and make things so complicaaaaated?

git clone https://git.t4t.associates/char/avril

Charlotte Somsupport data urls1c8ffed

main
958 B25 linesraw
1//! Native TypeScript-backed LSP. Project acquisition/resolution is supplied by a host.
2mod backend;
3mod bridge;
4mod project;
5mod server;
6mod service;
7mod wire;
8
9pub use project::canonical_uri;
10pub use project::{Diagnostic, ProjectInput, ResolvedImport, ScriptKind, Source};
11pub use server::serve;
12pub use service::{Documents, ProjectService, Refresh};
13
14pub type Error = Box<dyn std::error::Error + Send + Sync>;
15pub type Result<T> = std::result::Result<T, Error>;
16pub const BACKEND_VERSION: &str = "7.1.0-dev.20261013.1";
17
18/// Type-checks one immutable project generation and returns diagnostics for
19/// every module in it, in URI order.
20pub async fn check(binary: &std::path::Path, input: ProjectInput) -> Result<Vec<Diagnostic>> {
21    let mut project = project::Project::create(binary, input).await?;
22    let result = project.all_diagnostics().await;
23    let close = project.close().await;
24    result.and_then(|diagnostics| close.map(|()| diagnostics))
25}