From aa26d5e4215ab55004417448c254ef3f4fd8f381 Mon Sep 17 00:00:00 2001 From: Garrit Franke Date: Sun, 21 Feb 2021 23:37:13 +0100 Subject: [PATCH] feat: resolve path deltas to entrypoint --- src/builder/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/builder/mod.rs b/src/builder/mod.rs index 26d0c25..523497a 100644 --- a/src/builder/mod.rs +++ b/src/builder/mod.rs @@ -4,6 +4,7 @@ use crate::parser; use crate::Lib; use crate::PathBuf; use parser::node_type::Module; +use std::env; /** * Copyright 2021 Garrit Franke * @@ -37,6 +38,16 @@ impl Builder { } pub fn build(&mut self) -> Result<(), String> { + let in_file = self.in_file.clone(); + // Resolve path deltas between working directory and entrypoint + if let Some(base_directory) = self.in_file.clone().parent() { + if let Ok(resolved_delta) = in_file.strip_prefix(base_directory) { + + // TODO: This error could probably be handled better + let _ = env::set_current_dir(resolved_delta); + self.in_file = resolved_delta.to_path_buf(); + } + }; self.build_module(self.in_file.clone())?; // Append standard library