junolsp 0.1.12

Language Server for JunoLang
//This Source Code Form is subject to the terms of the Mozilla Public
//License, v. 2.0. If a copy of the MPL was not distributed with this
//file, You can obtain one at https://mozilla.org/MPL/2.0/.

mod backend;
mod completion;
mod config;
mod diagnostics;
mod goto_definition;
mod hover;
mod semantic_tokens;
mod workspace;

use std::io::Error;

use backend::Backend;
use tower_lsp::{LspService, Server};

#[tokio::main]
async fn main() -> Result<(), Error> {
    tracing_subscriber::fmt()
        .with_writer(std::io::stderr)
        .init();

    let stdin = tokio::io::stdin();
    let stdout = tokio::io::stdout();

    let (service, socket) = LspService::new(Backend::new);

    Server::new(stdin, stdout, socket).serve(service).await;

    Ok(())
}