feat: handle plain line package

This commit is contained in:
rvcas 2020-12-03 19:10:10 -05:00
parent 79cce7c5c9
commit 6d4ecc8023

View file

@ -2099,8 +2099,29 @@ fn parse_header<'a>(
} }
To::NewPackage(package_or_path) => match package_or_path { To::NewPackage(package_or_path) => match package_or_path {
PackageOrPath::Package(_, _) => panic!("TODO implement packages"), PackageOrPath::Package(_, _) => panic!("TODO implement packages"),
PackageOrPath::Path(StrLiteral::PlainLine(_package)) => { PackageOrPath::Path(StrLiteral::PlainLine(package)) => {
panic!("TODO implement plain line package path") // check whether we can find a Pkg-Config.roc file
let mut pkg_config_roc = pkg_config_dir.clone();
pkg_config_roc.push(package);
pkg_config_roc.push(PKG_CONFIG_FILE_NAME);
pkg_config_roc.set_extension(ROC_FILE_EXTENSION);
if pkg_config_roc.as_path().exists() {
let load_pkg_config_msg = load_pkg_config(
arena,
&pkg_config_dir,
module_ids,
ident_ids_by_module,
mode,
)?;
Ok((
module_id,
Msg::Many(vec![app_module_header_msg, load_pkg_config_msg]),
))
} else {
Ok((module_id, app_module_header_msg))
}
} }
PackageOrPath::Path(StrLiteral::Block(_)) => { PackageOrPath::Path(StrLiteral::Block(_)) => {
panic!("TODO implement block package path") panic!("TODO implement block package path")