use anyhow::Result;
use clap::CommandFactory;
use clap::FromArgMatches;
use clap::Parser;
use libdiffsitter::parse::construct_ts_lang_from_shared_lib;
use std::path::PathBuf;
#[derive(Debug, Parser)]
#[clap(author, version, about)]
pub enum DiffsitterUtilsApp {
LoadParser {
language_name: String,
parser_path: PathBuf,
},
}
fn main() -> Result<()> {
let command = DiffsitterUtilsApp::command();
let matches = command.get_matches();
let args = DiffsitterUtilsApp::from_arg_matches(&matches)?;
match args {
DiffsitterUtilsApp::LoadParser {
language_name,
parser_path,
} => {
construct_ts_lang_from_shared_lib(&language_name, &parser_path)?;
}
};
Ok(())
}