diff --git a/apps/documents/Cargo.lock b/apps/documents/Cargo.lock index bf839dfb..8008f2e9 100644 --- a/apps/documents/Cargo.lock +++ b/apps/documents/Cargo.lock @@ -869,9 +869,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] diff --git a/apps/documents/documents.dib b/apps/documents/documents.dib index 0b3f8a29..20ec34e3 100644 --- a/apps/documents/documents.dib +++ b/apps/documents/documents.dib @@ -10,7 +10,8 @@ open file_system_operators open sm'_operators -open rust_operators +open rust.rust_operators +open rust #!spiral @@ -594,10 +595,10 @@ hangul_epub_path #!spiral inl tests () = - rust.run_tests [ - "verify_app", fun _ => + testing.run_tests { + verify_app = fun (_ : string) => get_command () |> runtime.command_debug_assert - ] + } #!markdown @@ -605,7 +606,7 @@ inl tests () = #!spiral -///! +///! _ inl main (args : array_base string) = Info |> Some |> init_trace_state diff --git a/apps/documents/documents.dib.html b/apps/documents/documents.dib.html index 521a3928..c8d1c011 100644 --- a/apps/documents/documents.dib.html +++ b/apps/documents/documents.dib.html @@ -7545,7 +7545,8 @@
open file_system_operators
open sm'_operators
-open rust_operators
+open rust.rust_operators
+open rust
inl tests () =
- rust.run_tests [
- "verify_app", fun _ =>
+ testing.run_tests {
+ verify_app = fun (_ : string) =>
get_command () |> runtime.command_debug_assert
- ]
+ }
///!
+///! _
inl main (args : array_base string) =
Info |> Some |> init_trace_state
diff --git a/apps/documents/documents.dib.ipynb b/apps/documents/documents.dib.ipynb
index c8e070d9..94b004a5 100644
--- a/apps/documents/documents.dib.ipynb
+++ b/apps/documents/documents.dib.ipynb
@@ -22,7 +22,8 @@
"source": [
"open file_system_operators\n",
"open sm'_operators\n",
- "open rust_operators"
+ "open rust.rust_operators\n",
+ "open rust"
]
},
{
@@ -619,86 +620,86 @@
"00:00:00 \u001B[92m info\u001B[39m #21 documents.hangul / { exit_code = 0; result_len = 34; output_path = c:/home/git/vault/target/documents/dist/test.hangul.md }\n",
"00:00:00 \u001B[94m debug\u001B[39m #22 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"pdf\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.md.pdf\", \"--set\", \"tex.paper.size\", \"a4paper\", \"tex.template.add\", \"\\\\pagenumbering{gobble}\", \"rendering.num_depth\", \"6\", \"rendering.highlight.theme\", \"Solarized (dark)\"]; options = { command = crowbook --verbose --to pdf --single \"c:/home/git/vault/target/documents/dist/test.md\" --output \"c:/home/git/vault/target/documents/dist/test.md.pdf\" --set tex.paper.size a4paper tex.template.add \"\\pagenumbering{gobble}\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
"00:00:00 \u001B[94m debug\u001B[39m #23 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"epub\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.md.epub\", \"--set\", \"epub.version\", \"3\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\"]; options = { command = crowbook --verbose --to epub --single \"c:/home/git/vault/target/documents/dist/test.md\" --output \"c:/home/git/vault/target/documents/dist/test.md.epub\" --set epub.version 3 html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
- "00:00:00 \u001B[94m debug\u001B[39m #24 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"html\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.md.html\", \"--set\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\"]; options = { command = crowbook --verbose --to html --single \"c:/home/git/vault/target/documents/dist/test.md\" --output \"c:/home/git/vault/target/documents/dist/test.md.html\" --set html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
- "00:00:00 \u001B[94m debug\u001B[39m #25 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"html\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.hangul.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.hangul.md.html\", \"--set\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\"]; options = { command = crowbook --verbose --to html --single \"c:/home/git/vault/target/documents/dist/test.hangul.md\" --output \"c:/home/git/vault/target/documents/dist/test.hangul.md.html\" --set html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
- "00:00:00 \u001B[94m debug\u001B[39m #26 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"epub\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.hangul.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\", \"--set\", \"epub.version\", \"3\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\"]; options = { command = crowbook --verbose --to epub --single \"c:/home/git/vault/target/documents/dist/test.hangul.md\" --output \"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\" --set epub.version 3 html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
+ "00:00:00 \u001B[94m debug\u001B[39m #24 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"epub\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.hangul.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\", \"--set\", \"epub.version\", \"3\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\"]; options = { command = crowbook --verbose --to epub --single \"c:/home/git/vault/target/documents/dist/test.hangul.md\" --output \"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\" --set epub.version 3 html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
+ "00:00:00 \u001B[94m debug\u001B[39m #25 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"html\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.md.html\", \"--set\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\"]; options = { command = crowbook --verbose --to html --single \"c:/home/git/vault/target/documents/dist/test.md\" --output \"c:/home/git/vault/target/documents/dist/test.md.html\" --set html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
+ "00:00:00 \u001B[94m debug\u001B[39m #26 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"html\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.hangul.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.hangul.md.html\", \"--set\", \"html.css.add\", \"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\"]; options = { command = crowbook --verbose --to html --single \"c:/home/git/vault/target/documents/dist/test.hangul.md\" --output \"c:/home/git/vault/target/documents/dist/test.hangul.md.html\" --set html.css.add \\\"' body { color: #e8e6e3; background-color: #202324; } a { color: #989693; } pre { background-color: #1b1b1b; padding: 10px; } '\\\" rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
"00:00:00 \u001B[94m debug\u001B[39m #27 runtime.execute_with_options / { file_name = crowbook; arguments = [\"--verbose\", \"--to\", \"pdf\", \"--single\", \"c:/home/git/vault/target/documents/dist/test.hangul.md\", \"--output\", \"c:/home/git/vault/target/documents/dist/test.hangul.md.pdf\", \"--set\", \"tex.paper.size\", \"a4paper\", \"tex.template.add\", \"\\\\pagenumbering{gobble}\", \"tex.template.add\", \"\\\\usepackage{polyglossia}\", \"tex.template.add\", \"\\\\setmainlanguage{korean}\", \"tex.template.add\", \"\\\\setmainfont{NanumGothicCoding}\", \"tex.font.size\", \"12\", \"rendering.num_depth\", \"6\", \"rendering.highlight.theme\", \"Solarized (dark)\"]; options = { command = crowbook --verbose --to pdf --single \"c:/home/git/vault/target/documents/dist/test.hangul.md\" --output \"c:/home/git/vault/target/documents/dist/test.hangul.md.pdf\" --set tex.paper.size a4paper tex.template.add \"\\pagenumbering{gobble}\" tex.template.add \"\\usepackage{polyglossia}\" tex.template.add \"\\setmainlanguage{korean}\" tex.template.add \"\\setmainfont{NanumGothicCoding}\" tex.font.size 12 rendering.num_depth 6 rendering.highlight.theme \\\"Solarized (dark)\\\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #28 ! CROWBOOK 0.17.0\n",
"00:00:00 \u001B[90mverbose\u001B[39m #29 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #29 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #30 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #31 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #32 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #33 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #30 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #31 !\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #32 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate pdf...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #33 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
"00:00:00 \u001B[90mverbose\u001B[39m #34 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #35 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #36 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate epub...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #37 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #38 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #39 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate html...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #40 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate html...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #41 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #42 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #43 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate pdf...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #44 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #45 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #46 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #47 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate epub...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #48 ! CROWBOOK 0.17.0\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #49 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"
아 \"\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #50 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #51 !\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #52 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate pdf...\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #53 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"a \"\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #54 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::latex: Attempting to run LaTeX on generated file\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #55 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::latex: Attempting to run LaTeX on generated file\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #56 ! 05:57:32 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated HTML (standalone page): test.md.html\n",
- "00:00:00 \u001B[90mverbose\u001B[39m #57 ! 05:57:32 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated HTML (standalone page): test.hangul.md.html\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #58 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 444 }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #59 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 437 }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #60 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: Add resource: \"stylesheet.css\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #61 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: render_opf...\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #62 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"title_page.xhtml\", mime=\"application/xhtml+xml\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #63 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"title_page.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(TitlePage), title: \"Title\" }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #64 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"chapter_000.xhtml\", mime=\"application/xhtml+xml\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #65 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"chapter_000.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(Text), title: \"a\" }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #66 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"stylesheet.css\", mime=\"text/css\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #67 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"Title \"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #68 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"a \"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #69 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: Add resource: \"stylesheet.css\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #70 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: render_opf...\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #71 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"title_page.xhtml\", mime=\"application/xhtml+xml\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #72 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"title_page.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(TitlePage), title: \"Title\" }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #73 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"chapter_000.xhtml\", mime=\"application/xhtml+xml\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #74 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"chapter_000.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(Text), title: \"아\" }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #75 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"stylesheet.css\", mime=\"text/css\"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #76 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"Title \"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #77 ! 05:57:32 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"아 \"\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #78 ! 05:57:33 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated EPUB: test.hangul.md.epub\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #79 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 1489 }\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #80 ! 05:57:33 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated EPUB: test.md.epub\n",
- "00:00:01 \u001B[90mverbose\u001B[39m #81 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 1482 }\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #82 ! 05:57:44 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated PDF: test.md.pdf\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #83 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 404 }\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #84 ! 05:57:44 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated PDF: test.hangul.md.pdf\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #85 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 411 }\n",
- "00:00:12 \u001B[92m info\u001B[39m #86 documents.run / { result_len = 1 }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #35 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate epub...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #36 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::latex: Attempting to run LaTeX on generated file\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #37 ! CROWBOOK 0.17.0\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #38 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #39 !\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #40 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate epub...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #41 ! CROWBOOK 0.17.0\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #42 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #43 !\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #44 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate html...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #45 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"a \"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #46 ! CROWBOOK 0.17.0\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #47 ! 02:36:07 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated HTML (standalone page): test.md.html\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #48 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #49 !\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #50 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate html...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #51 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 437 }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #52 ! CROWBOOK 0.17.0\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #53 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Ignoring YAML block:\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #54 !\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #55 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::book: Attempting to generate pdf...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #56 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) crowbook::latex: Attempting to run LaTeX on generated file\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #57 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"아 \"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #58 ! 02:36:07 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated HTML (standalone page): test.hangul.md.html\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #59 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 444 }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #60 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: Add resource: \"stylesheet.css\"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #61 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: render_opf...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #62 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: Add resource: \"stylesheet.css\"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #63 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: render_opf...\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #64 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"title_page.xhtml\", mime=\"application/xhtml+xml\"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #65 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"title_page.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(TitlePage), title: \"Title\" }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #66 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"chapter_000.xhtml\", mime=\"application/xhtml+xml\"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #67 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"chapter_000.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(Text), title: \"아\" }\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #68 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"stylesheet.css\", mime=\"text/css\"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #69 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"Title \"\n",
+ "00:00:00 \u001B[90mverbose\u001B[39m #70 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"아 \"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #71 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"title_page.xhtml\", mime=\"application/xhtml+xml\"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #72 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"title_page.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(TitlePage), title: \"Title\" }\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #73 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"chapter_000.xhtml\", mime=\"application/xhtml+xml\"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #74 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: content = Content { file: \"chapter_000.xhtml\", mime: \"application/xhtml+xml\", itemref: true, cover: false, reftype: Some(Text), title: \"a\" }\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #75 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::epub: id=\"stylesheet.css\", mime=\"text/css\"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #76 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"Title \"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #77 ! 02:36:07 \u001B[0m\u001B[36m[DEBUG] \u001B[0m(1) epub_builder::toc: rendered elem: \"a \"\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #78 ! 02:36:07 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated EPUB: test.md.epub\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #79 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 1482 }\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #80 ! 02:36:07 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated EPUB: test.hangul.md.epub\n",
+ "00:00:01 \u001B[90mverbose\u001B[39m #81 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 1489 }\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #82 ! 02:36:17 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated PDF: test.hangul.md.pdf\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #83 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 411 }\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #84 ! 02:36:17 \u001B[0m\u001B[34m[INFO] \u001B[0mcrowbook::book: Succesfully generated PDF: test.md.pdf\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #85 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 404 }\n",
+ "00:00:10 \u001B[92m info\u001B[39m #86 documents.run / { result_len = 1 }\n",
"assert_eq / actual: \"[Ok((\"c:/home/git/vault/target/documents/dist/test.md\", [Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.html\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.pdf\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.epub\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.html\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.pdf\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\"))]))]\" / expected: \"[Ok((\"c:/home/git/vault/target/documents/dist/test.md\", [Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.html\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.pdf\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.md.epub\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.html\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.pdf\")), Some(Ok(\"c:/home/git/vault/target/documents/dist/test.hangul.md.epub\"))]))]\"\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #87 file_system.create_dir / { dir = c:\\home\\git\\polyglot\\../vault/target/documents\\dist }\n",
- "00:00:12 \u001B[94m debug\u001B[39m #88 documents.run / { source_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents; dist_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents\\dist; cache_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache; hangul_spec = por-br }\n",
- "00:00:12 \u001B[94m debug\u001B[39m #89 documents.run / { files_len = 1 }\n",
- "00:00:12 \u001B[94m debug\u001B[39m #90 runtime.execute_with_options / { file_name = git; arguments = [\"ls-tree\", \"--format='%(objectname)'\", \"origin/gh-pages\", \"c:/home/git/vault/target/documents/test.md\"]; options = { command = git ls-tree --format='%(objectname)' origin/gh-pages \"c:/home/git/vault/target/documents/test.md\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\") } }\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #91 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 }\n",
- "00:00:12 \u001B[94m debug\u001B[39m #92 runtime.execute_with_options / { file_name = git; arguments = [\"hash-object\", \"c:/home/git/vault/target/documents/dist/test.md\"]; options = { command = git hash-object \"c:/home/git/vault/target/documents/dist/test.md\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #93 > ba0ba7eb68b2a508ff0525bcbb91bd5ebc95e71b\n",
- "00:00:12 \u001B[90mverbose\u001B[39m #94 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 40 }\n",
- "00:00:12 \u001B[92m info\u001B[39m #95 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.epub; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.epub }\n",
- "00:00:12 \u001B[92m info\u001B[39m #96 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.pdf; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.pdf }\n",
- "00:00:12 \u001B[92m info\u001B[39m #97 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.html; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.html }\n",
- "00:00:12 \u001B[92m info\u001B[39m #98 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.epub; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.epub }\n",
- "00:00:12 \u001B[92m info\u001B[39m #99 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.pdf; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.pdf }\n",
- "00:00:12 \u001B[92m info\u001B[39m #100 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.html; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.html }\n",
- "00:00:12 \u001B[92m info\u001B[39m #101 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md }\n",
- "00:00:12 \u001B[92m info\u001B[39m #102 documents.run / { result_len = 1 }\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #87 file_system.create_dir / { dir = c:\\home\\git\\polyglot\\../vault/target/documents\\dist }\n",
+ "00:00:10 \u001B[94m debug\u001B[39m #88 documents.run / { source_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents; dist_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents\\dist; cache_dir = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache; hangul_spec = por-br }\n",
+ "00:00:10 \u001B[94m debug\u001B[39m #89 documents.run / { files_len = 1 }\n",
+ "00:00:10 \u001B[94m debug\u001B[39m #90 runtime.execute_with_options / { file_name = git; arguments = [\"ls-tree\", \"--format='%(objectname)'\", \"origin/gh-pages\", \"c:/home/git/vault/target/documents/test.md\"]; options = { command = git ls-tree --format='%(objectname)' origin/gh-pages \"c:/home/git/vault/target/documents/test.md\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\") } }\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #91 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 }\n",
+ "00:00:10 \u001B[94m debug\u001B[39m #92 runtime.execute_with_options / { file_name = git; arguments = [\"hash-object\", \"c:/home/git/vault/target/documents/dist/test.md\"]; options = { command = git hash-object \"c:/home/git/vault/target/documents/dist/test.md\"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = Some(\"\\\\?\\C:\\home\\git\\vault\\target\\documents\\dist\") } }\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #93 > ba0ba7eb68b2a508ff0525bcbb91bd5ebc95e71b\n",
+ "00:00:10 \u001B[90mverbose\u001B[39m #94 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 40 }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #95 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.epub; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.epub }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #96 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.pdf; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.pdf }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #97 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md.html; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md.html }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #98 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.epub; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.epub }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #99 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.pdf; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.pdf }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #100 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.md.html; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.md.html }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #101 documents.run / par_map / files' = [] / listm.iter / { output_path = c:/home/git/vault/target/documents/dist/test.hangul.md; output_cache_path = \\\\?\\C:\\home\\git\\vault\\target\\documents\\cache\\test.hangul.md }\n",
+ "00:00:11 \u001B[92m info\u001B[39m #102 documents.run / { result_len = 1 }\n",
"assert_eq / actual: \"[Ok((\"c:/home/git/vault/target/documents/dist/test.md\", []))]\" / expected: \"[Ok((\"c:/home/git/vault/target/documents/dist/test.md\", []))]\"\n",
"assert_eq / actual: \"# 아\n",
"\n",
@@ -894,10 +895,10 @@
"outputs": [],
"source": [
"inl tests () =\n",
- " rust.run_tests [\n",
- " \"verify_app\", fun _ =>\n",
+ " testing.run_tests {\n",
+ " verify_app = fun (_ : string) =>\n",
" get_command () |> runtime.command_debug_assert\n",
- " ]"
+ " }"
]
},
{
@@ -920,7 +921,7 @@
},
"outputs": [],
"source": [
- "///! \n",
+ "///! _\n",
"\n",
"inl main (args : array_base string) =\n",
" Info |> Some |> init_trace_state\n",
diff --git a/apps/documents/documents.spi b/apps/documents/documents.spi
index 071926a8..7dacece3 100644
--- a/apps/documents/documents.spi
+++ b/apps/documents/documents.spi
@@ -1,7 +1,8 @@
/// # documents
open file_system_operators
open sm'_operators
-open rust_operators
+open rust.rust_operators
+open rust
/// ## args
inl get_args () =
@@ -403,13 +404,13 @@ let run { source_dir dist_dir cache_dir hangul_spec }
/// ## tests
inl tests () =
- rust.run_tests [
- "verify_app", fun _ =>
+ testing.run_tests {
+ verify_app = fun (_ : string) =>
get_command () |> runtime.command_debug_assert
- ]
+ }
/// ## main
-///!
+///! _
inl main (args : array_base string) =
Info |> Some |> init_trace_state