Add content block inside Builtins
diff --git a/gen/src/builtin.rs b/gen/src/builtin.rs
index a120eef..e28a62c 100644
--- a/gen/src/builtin.rs
+++ b/gen/src/builtin.rs
@@ -1,3 +1,5 @@
+use crate::gen::out::Content;
+
#[derive(Default, PartialEq)]
pub struct Builtins {
pub panic: bool,
@@ -15,6 +17,7 @@
pub trycatch: bool,
pub rust_str_new_unchecked: bool,
pub rust_str_repr: bool,
+ pub content: Content,
}
impl Builtins {
diff --git a/gen/src/out.rs b/gen/src/out.rs
index 6d475fc..99aecc2 100644
--- a/gen/src/out.rs
+++ b/gen/src/out.rs
@@ -50,11 +50,16 @@
pub fn content(&self) -> Vec<u8> {
let include = &self.include.content.bytes;
+ let builtin = &self.builtin.content.bytes;
let content = &self.content.borrow().bytes;
- let len = include.len() + content.len() + 1;
+ let len = include.len() + builtin.len() + content.len() + 2;
let mut out = String::with_capacity(len);
out.push_str(include);
- if !include.is_empty() && !content.is_empty() {
+ if !out.is_empty() && !builtin.is_empty() {
+ out.push('\n');
+ }
+ out.push_str(builtin);
+ if !out.is_empty() && !content.is_empty() {
out.push('\n');
}
out.push_str(content);