1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-12 14:28:08 +03:00
juvix/test
Jonathan Cubides 22027f137c
Refactor html command with extra options (#1725)
This PR redefines the `html` command unifying our previous subcommands
for the HTML backend. You should use the command in the following way to
obtain the same results as before:

- `juvix html src.juvix` -> `juvix html src.juvix --only-source`
- `juvix dev doc src.juvix` -> `juvix html src.juvix`

- Other fixes here include the flag `--non-recursive`, which replaces
the previous behavior in that we now generate all the HTML recursively
by default.
- The flag `--no-print-metadata` is now called `--no-footer` 
- Also, another change introduced by this PR is asset handling; for
example, with our canonical Juvix program,
the new output is organized as follows.

```
juvix html HelloWorld.juvix --only-source && tree html/
Copying assets files to test/html/assets
Writing HelloWorld.html
html/
├── assets
│   ├── css
│   │   ├── linuwial.css
│   │   ├── source-ayu-light.css
│   │   └── source-nord.css
│   ├── images
│   │   ├── tara-magicien.png
│   │   ├── tara-seating.svg
│   │   ├── tara-smiling.png
│   │   ├── tara-smiling.svg
│   │   ├── tara-teaching.png
│   │   └── tara-teaching.svg
│   └── js
│       ├── highlight.js
│       └── tex-chtml.js
└── HelloWorld.html
├── Stdlib.Data.Bool.html
├── Stdlib.Data.List.html
├── Stdlib.Data.Maybe.html
├── Stdlib.Data.Nat.html
├── Stdlib.Data.Ord.html
├── Stdlib.Data.Product.html
├── Stdlib.Data.String.html
├── Stdlib.Function.html
├── Stdlib.Prelude.html
└── Stdlib.System.IO.html
```
In addition, for the vscode-plugin, this PR adds two flags,
`--prefix-assets` and `--prefix-url`, for which one provides input to
help vscode find resource locations and Juvix files.

PS. Make sure to run `make clean` the first time you run `make install`
for the first time.
2023-01-17 18:11:59 +01:00
..
Arity Typecheck let expressions (#1712) 2023-01-17 09:41:07 +01:00
Asm JuvixCore to JuvixAsm translation (#1665) 2023-01-09 18:21:30 +01:00
BackendC Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
Compilation Fix inference loop (#1726) 2023-01-17 13:28:38 +01:00
Core Tests for the new compilation pipeline (#1703) 2023-01-12 11:22:32 +01:00
Internal Do not filter implicit args in internal to core translation (#1728) 2023-01-16 14:13:17 +00:00
Parsing Support basic dependencies (#1622) 2022-12-20 13:05:40 +01:00
Reachability Support basic dependencies (#1622) 2022-12-20 13:05:40 +01:00
Runtime Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
Scope Typecheck let expressions (#1712) 2023-01-17 09:41:07 +01:00
Termination Change syntax for ind. data types and forbid the empty data type (#1684) 2023-01-03 13:49:04 +01:00
Typecheck Refactor html command with extra options (#1725) 2023-01-17 18:11:59 +01:00
Arity.hs Support implicit arguments (#144) 2022-06-13 14:25:22 +02:00
Asm.hs Translation from JuvixAsm to C (#1619) 2022-12-06 11:33:20 +01:00
BackendC.hs Support partial application and closure passing in C backend (#190) 2022-06-28 10:25:43 +02:00
Base.hs Automatized benchmarks (#1673) 2023-01-05 17:48:26 +01:00
Compilation.hs Tests for the new compilation pipeline (#1703) 2023-01-12 11:22:32 +01:00
Core.hs JuvixCore to JuvixAsm translation (#1665) 2023-01-09 18:21:30 +01:00
Internal.hs Add translation from Internal to Core (#1567) 2022-11-07 14:47:56 +01:00
Main.hs Tests for the new compilation pipeline (#1703) 2023-01-12 11:22:32 +01:00
Parsing.hs Disallow tab characters as spaces (#1523) 2022-09-07 13:59:41 +02:00
Reachability.hs Compute name dependency graph and filter unreachable definitions (#1408) 2022-07-25 18:38:44 +02:00
Runtime.hs Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00
Scope.hs [ CI ] New jobs: ormolu and hlint 2022-04-05 19:57:21 +02:00
Termination.hs Add the termination checker to the pipeline (#111) 2022-05-30 13:40:52 +02:00
Typecheck.hs Add lambda expressions to internal and add typechecking support (#1538) 2022-09-23 15:43:18 +02:00