1
1
mirror of https://github.com/anoma/juvix.git synced 2024-10-26 17:52:17 +03:00
juvix/tests
Jonathan Cubides bd16d3ef2a
Add support for Literate Juvix Markdown (#2448)
This PR adds an initial support for Literate Juvix Markdown files, files
with the extension `.juvix.md`.

Here is a small example of such a file: `Test.juvix.md`.

<pre>
# This is a heading
Lorem ...

```juvix
module Test;

type A := a;

fun : A -> A 
 | _ := a;
```
Other text
</pre>


This initial support enables users to execute common commands such as
typechecking, compilation, and HTML generation. Additionally, a new
command called `markdown` has been introduced. This command replaces
code blocks marked with the juvix attribute with their respective HTML
output, much like the output we obtain when running `juvix html`. In
this version, comments are ignored in the output, including judoc
blocks.

- We intend to use this new feature in combination with this Python
plugin (https://github.com/anoma/juvix-mkdocs) to enhance our
documentation site.



https://github.com/anoma/juvix/assets/1428088/a0c17f36-3d76-42cc-a571-91f885866874


## Future work

Open as issues once this PR is merged, we can work on the following:

- Support imports of Juvix Markdown modules (update the path resolver to
support imports of Literate Markdown files)
- Support (Judoc) comments in md Juvix blocks
- Support Markdown in Judoc blocks
- Update Text editor support, vscode extension and emacs mode (the
highlighting info is a few characters off in the current state)



- Closes #1839 
- Closes #1719
2023-11-10 13:55:36 +01:00
..
Asm New compilation pipeline (#1832) 2023-03-14 16:24:07 +01:00
benchmark Numeric, ordering and equality traits (#2433) 2023-10-09 18:25:01 +02:00
Compilation Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
Core Fold lets when the bound variable occurs at most once (#2231) 2023-06-29 13:02:10 +02:00
examplesExpected Add a test suite for milestone examples (#1920) 2023-03-24 13:16:26 +00:00
Geb/positive Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
Internal Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
negative Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
positive Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00
runtime/positive Improve closure calls in the runtime (#2396) 2023-09-29 14:20:00 +02:00
smoke/Commands Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00
VampIR Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
.gitattributes Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00