From dd4a4545a6b72e48cde5d2483fac5e4e76f6047f Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 12 Oct 2020 21:26:58 +0200 Subject: =?UTF-8?q?Move=20main=20back=20into=20src/=20=F0=9F=93=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/src/main.rs | 75 -------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 main/src/main.rs (limited to 'main/src') diff --git a/main/src/main.rs b/main/src/main.rs deleted file mode 100644 index 9bf693e4..00000000 --- a/main/src/main.rs +++ /dev/null @@ -1,75 +0,0 @@ -use std::cell::RefCell; -use std::fs::{read_to_string, File}; -use std::io::BufWriter; -use std::path::{Path, PathBuf}; -use std::rc::Rc; - -use fontdock::fs::{FsIndex, FsSource}; - -use typstc::diag::{Feedback, Pass}; -use typstc::eval::State; -use typstc::export::pdf; -use typstc::font::FontLoader; -use typstc::parse::LineMap; -use typstc::typeset; - -fn main() { - let args: Vec<_> = std::env::args().collect(); - if args.len() < 2 || args.len() > 3 { - println!("Usage: typst src.typ [out.pdf]"); - return; - } - - let src_path = Path::new(&args[1]); - let dest_path = if args.len() <= 2 { - src_path.with_extension("pdf") - } else { - PathBuf::from(&args[2]) - }; - - if src_path == dest_path { - panic!("source and destination path are the same"); - } - - let src = read_to_string(src_path).expect("failed to read from source file"); - - let mut index = FsIndex::new(); - index.search_dir("fonts"); - index.search_os(); - - let (files, descriptors) = index.into_vecs(); - let loader = Rc::new(RefCell::new(FontLoader::new( - Box::new(FsSource::new(files)), - descriptors, - ))); - - let state = State::default(); - let Pass { - output: layouts, - feedback: Feedback { mut diags, .. }, - } = typeset(&src, state, Rc::clone(&loader)); - - if !diags.is_empty() { - diags.sort(); - - let map = LineMap::new(&src); - for diag in diags { - let span = diag.span; - let start = map.location(span.start); - let end = map.location(span.end); - println!( - " {}: {}:{}-{}: {}", - diag.v.level, - src_path.display(), - start, - end, - diag.v.message, - ); - } - } - - let loader = loader.borrow(); - let file = File::create(&dest_path).expect("failed to create output file"); - let writer = BufWriter::new(file); - pdf::export(&layouts, &loader, writer).expect("failed to export pdf"); -} -- cgit v1.2.3