mod cli;
mod daemon;
mod handler;
mod highlighting;
mod languages;
mod queries;
mod rc;
mod request;
mod response;
mod session;
use clap::Parser;
use cli::Cli;
use daemon::Daemon;
use kak_tree_sitter_config::Config;
use request::Request;
use session::KakSession;
fn main() {
let cli = Cli::parse();
let config = Config::load_from_xdg();
if cli.kakoune {
println!("{}", rc::rc_commands());
}
if let (Some(session), Some(request)) = (cli.session, cli.request) {
let kak_sess = KakSession::new(session, cli.client);
let payload = serde_json::from_str(&request).unwrap(); let req = Request::new(kak_sess, payload);
Daemon::send_request(req);
} else {
Daemon::bootstrap(config, cli.daemonize);
}
}