add argument for transpiling pack_format
This commit is contained in:
parent
398fce2bd6
commit
a0a27cda96
18
src/lib.rs
18
src/lib.rs
|
@ -31,8 +31,6 @@ use shulkerbox::{datapack::Datapack, virtual_fs::VFolder};
|
|||
|
||||
use crate::lexical::token_stream::TokenStream;
|
||||
|
||||
const DEFAULT_PACK_FORMAT: u8 = 48;
|
||||
|
||||
/// Converts the given source code to tokens.
|
||||
///
|
||||
/// # Errors
|
||||
|
@ -70,14 +68,18 @@ where
|
|||
/// - If an error occurs while parsing the source code.
|
||||
/// - If an error occurs while transpiling the source code.
|
||||
#[cfg(feature = "shulkerbox")]
|
||||
pub fn transpile<F, P>(file_provider: &F, script_paths: &[(String, P)]) -> Result<Datapack>
|
||||
pub fn transpile<F, P>(
|
||||
file_provider: &F,
|
||||
pack_format: u8,
|
||||
script_paths: &[(String, P)],
|
||||
) -> Result<Datapack>
|
||||
where
|
||||
F: FileProvider,
|
||||
P: AsRef<Path>,
|
||||
{
|
||||
let printer = Printer::new();
|
||||
|
||||
public_helpers::transpile(&printer, file_provider, script_paths)
|
||||
public_helpers::transpile(&printer, file_provider, pack_format, script_paths)
|
||||
}
|
||||
|
||||
/// Compiles the given source code.
|
||||
|
@ -90,14 +92,18 @@ where
|
|||
/// - If an error occurs while parsing the source code.
|
||||
/// - If an error occurs while transpiling the source code.
|
||||
#[cfg(feature = "shulkerbox")]
|
||||
pub fn compile<F, P>(file_provider: &F, script_paths: &[(String, P)]) -> Result<VFolder>
|
||||
pub fn compile<F, P>(
|
||||
file_provider: &F,
|
||||
pack_format: u8,
|
||||
script_paths: &[(String, P)],
|
||||
) -> Result<VFolder>
|
||||
where
|
||||
F: FileProvider,
|
||||
P: AsRef<Path>,
|
||||
{
|
||||
let printer = Printer::new();
|
||||
|
||||
public_helpers::compile(&printer, file_provider, script_paths)
|
||||
public_helpers::compile(&printer, file_provider, pack_format, script_paths)
|
||||
}
|
||||
|
||||
struct Printer {
|
||||
|
|
|
@ -61,6 +61,7 @@ pub fn parse(
|
|||
pub fn transpile<F, P>(
|
||||
printer: &Printer,
|
||||
file_provider: &F,
|
||||
pack_format: u8,
|
||||
script_paths: &[(String, P)],
|
||||
) -> Result<Datapack>
|
||||
where
|
||||
|
@ -86,7 +87,7 @@ where
|
|||
|
||||
tracing::info!("Transpiling the source code.");
|
||||
|
||||
let mut transpiler = Transpiler::new(crate::DEFAULT_PACK_FORMAT);
|
||||
let mut transpiler = Transpiler::new(pack_format);
|
||||
transpiler.transpile(&programs, printer)?;
|
||||
let datapack = transpiler.into_datapack();
|
||||
|
||||
|
@ -104,13 +105,14 @@ where
|
|||
pub fn compile<F, P>(
|
||||
printer: &Printer,
|
||||
file_provider: &F,
|
||||
pack_format: u8,
|
||||
script_paths: &[(String, P)],
|
||||
) -> Result<VFolder>
|
||||
where
|
||||
F: FileProvider,
|
||||
P: AsRef<Path>,
|
||||
{
|
||||
let datapack = transpile(printer, file_provider, script_paths)?;
|
||||
let datapack = transpile(printer, file_provider, pack_format, script_paths)?;
|
||||
|
||||
tracing::info!("Compiling the source code.");
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ fn transpile_test1() {
|
|||
let mut dir = VFolder::new();
|
||||
dir.add_file("test1.shu", VFile::Text(source.to_string()));
|
||||
|
||||
let transpiled = shulkerscript::transpile(&dir, &[("test1".to_string(), "./test1.shu")])
|
||||
let transpiled = shulkerscript::transpile(&dir, 48, &[("test1".to_string(), "./test1.shu")])
|
||||
.expect("Failed to transpile");
|
||||
|
||||
let expected = {
|
||||
|
|
Loading…
Reference in New Issue