aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/main.rs
blob: 07f1ffffa9b0c78c0c17ea685768afeed377d991 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#![allow(unused)]

mod application;

use application::Application;

use clap::{App, Arg};
use std::path::PathBuf;

use anyhow::Error;

static EX: smol::Executor = smol::Executor::new();

fn main() -> Result<(), Error> {
    let args = clap::app_from_crate!()
        .arg(
            Arg::new("files")
                .about("Sets the input file to use")
                .required(true)
                .multiple(true)
                .index(1),
        )
        .get_matches();

    for _ in 0..num_cpus::get() {
        std::thread::spawn(move || smol::block_on(EX.run(smol::future::pending::<()>())));
    }

    let mut lsp = helix_lsp::Client::start(&EX, "rust-analyzer", &[]);

    smol::block_on(async {
        let res = lsp.initialize().await;
        let state = helix_core::State::load("test.rs".into(), &[]).unwrap();
        let res = lsp.text_document_did_open(&state).await;
        loop {}

        // Application::new(args).unwrap().run().await;
    });

    Ok(())
}