Commit Graph

749 Commits

Author SHA1 Message Date
KtorZ
579030db36 Highlight current module in the sidebar. 2022-12-17 12:13:51 +01:00
KtorZ
a34d7d4dbb Revert 71e71ff
Redundant with the `kind: ModuleKind` field already.
2022-12-17 11:54:39 +01:00
KtorZ
1178fa3f01 Add source repository to config & docs. 2022-12-17 04:11:54 +01:00
KtorZ
a83900409b Adjust docs theme to catppuccin
- light-mode uses catpuccin-latte
  - dark-mode uses catpuccin-mocha
2022-12-17 04:11:54 +01:00
KtorZ
5c0920d6bb Factor out common module prefix when all modules are under a same namespace. 2022-12-17 02:38:04 +01:00
KtorZ
600c7747da Do not show link to source.
This require slightly more work and has little benefits at this stage given that the sources are literally inlined in the docs.
2022-12-17 01:02:21 +01:00
KtorZ
e7f729c61b Define HighlightJS definition for Aiken. 2022-12-17 01:02:21 +01:00
KtorZ
e1065e892a Support module constants in docs. 2022-12-17 01:02:21 +01:00
KtorZ
ac0d180c5c Apply suggestions from clippy. 2022-12-17 01:02:21 +01:00
KtorZ
873bd85d8b Implement modules' extra, to get function & module comments in docs. 2022-12-17 01:02:21 +01:00
KtorZ
536c9457b3 Refactor project source parsing
There was already a 'parse_sources' function, and 'parse' was actually more about typechecking than parsing.
2022-12-17 01:02:21 +01:00
KtorZ
b323c95241 Fix type-parameter pretty printing (use chevrons) 2022-12-17 01:02:20 +01:00
KtorZ
d2c6d27545 Support data-types in documentation. 2022-12-17 01:02:20 +01:00
KtorZ
1f3f769b53 Add command 'docs' for generating project documentation. 2022-12-16 18:34:05 +01:00
KtorZ
6da53fd875 Add a 'docs' method to projects, using the newly introduced docs::generate_all 2022-12-16 18:33:36 +01:00
KtorZ
16b0a9fbe4 Introduce 'docs' for generating documentation for aiken libraries. 2022-12-16 18:33:04 +01:00
KtorZ
71e71fffe8 Define 'is_library' for 'CheckedModule'
So that we can separate libraries from executable modules if necessary.
2022-12-16 15:33:27 +01:00
rvcas
1edbf57943 fix: this badge no longer exists 2022-12-15 18:26:28 -05:00
jmhrpr
775e90d782 chore: remove unnecessary Option wrapper on type 2022-12-15 18:22:31 -05:00
jmhrpr
325a7b7b45 fix: correct V1 to_plutus_data() for txout with no datum hash 2022-12-15 18:22:31 -05:00
rvcas
34d76bc280 chore: retire mdbook 2022-12-15 14:17:36 -05:00
rvcas
cbe7ad65f7 chore: update link to docs in the readme 2022-12-15 14:07:21 -05:00
rvcas
0188003323 refactor: move helper option builder to lang 2022-12-15 13:28:30 -05:00
rvcas
42f8a694f4 tests: missing token broke a test 2022-12-15 11:12:35 -05:00
rvcas
53bc9aa56f fix: properly capture empty lines 2022-12-15 11:12:35 -05:00
Matthias Benkort
d9d1310c6d Merge pull request #166 from aiken-lang/some-interesting-test-cases
Include generics to get test cases working
2022-12-15 02:07:05 +01:00
KtorZ
5024bd884c Remove debug line for pretty-printing test, and add '--debug' flag to 'check instead. 2022-12-15 02:02:10 +01:00
KtorZ
e5972640d2 Remove 'eval' command.
Was introduced as a work-around to get some debugging info out of scripts, but tests do now provide the same capability with a better output and, do so automatically.
2022-12-14 22:14:35 +01:00
KtorZ
978a6c6981 Collect and display evaluation hints on test failures. 2022-12-14 22:00:56 +01:00
KtorZ
7b22b63ad8 move 'EvalInfo' to project::script & define a new 'EvalHint' 2022-12-14 22:00:09 +01:00
KtorZ
921e7abbb6 Move pretty-printing utilities to project::pretty 2022-12-14 21:59:09 +01:00
Carlos Souza
6343fa7105 Change generated assets file extensions 2022-12-14 12:48:29 -05:00
KtorZ
87546e0abd Return non-zero exit code on test failure
And integrated test results with miette report.
2022-12-14 18:44:31 +01:00
Carlos Souza
c77b7c293b Fix errors on aiken build
- Update generics syntax
- Add required args to default validator function

This allows running a successful aiken build from
files generated by aiken new.
2022-12-14 12:03:30 -05:00
KtorZ
3a9cc668fc Use bright_black (i.e. grey) for box drawing. 2022-12-14 17:45:16 +01:00
KtorZ
2d6fc8bd54 Group test results by module. 2022-12-14 17:34:24 +01:00
KtorZ
bd956efd36 Rework acceptance test 014 to smaller reproducible scenario 2022-12-14 10:20:43 +01:00
KtorZ
7c54283e69 Add new acceptance test scenario (015)
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/lang/src/uplc.rs:2388:21
    ╰─▶ not yet implemented
  ```
2022-12-14 10:20:43 +01:00
Kasey White
3c664b9651 test 1-9 passing 2022-12-14 09:45:26 +01:00
rvcas
b71315ba2f chore: trying to fix test 5 2022-12-14 09:45:26 +01:00
Kasey White
6635a918b5 clean up minor warnings 2022-12-14 09:45:26 +01:00
KtorZ
b6962ba9d3 Add 'eval' command to evaluate target aiken function
Pretty useful for debbugging. Though, on second-thoughts, this is
  something we may want to review later and maybe have that done by
  default for tests.

  At the moment, we expects tests to unify to `bool`, and treat `false`
  values as failing tests. Yet, on failures, this gives little
  information about what's wrong with the test.

  It'd be nice to either have better way to assert in tests, or, to
  simply accept non-bool tests, and show whatever the test evaluates
  to as a debug output.
2022-12-14 09:45:26 +01:00
KtorZ
95df5f9137 Add new acceptance test scenario (014) 2022-12-14 09:45:26 +01:00
KtorZ
bc7c236b3b Add new acceptance test scenario (013)
```
  ERROR:
  The provided Plutus code called 'error'
  ```
2022-12-14 09:45:25 +01:00
KtorZ
9c902cdf89 Add new acceptance test scenario (012)
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/lang/src/uplc.rs:3413:34
    ╰─▶ internal error: entered unreachable code: Var {
            scope: [
                0,
                1,
                3,
                24,
                25,
                29,
                32,
            ],
            constructor: ValueConstructor {
                public: false,
                variant: LocalVariable {
                    location: 46..62,
                },
                tipo: Fn {
                    args: [
                        Var {
                            tipo: RefCell {
                                value: Link {
                                    tipo: App {
                                        public: true,
                                        module: "",
                                        name: "Int",
                                        args: [],
                                    },
                                },
                            },
                        },
                    ],
                    ret: App {
                        public: true,
                        module: "",
                        name: "Bool",
                        args: [],
                    },
                },
            },
            name: "f",
            variant_name: "",
        }
  ```
2022-12-14 09:45:25 +01:00
KtorZ
f53caff538 Add new acceptance test scenario (011)
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/lang/src/uplc.rs:4022:40
    ╰─▶ called `Option::unwrap()` on a `None` value
  ```
2022-12-14 09:45:25 +01:00
rvcas
11c793dd2a feat(Type): add is_option method 2022-12-14 09:45:25 +01:00
Kasey White
8393d8555c fill constants to data so now test 006 passes 2022-12-14 09:45:25 +01:00
Kasey White
dc5ae296db implement anonymous functions, more tests pass now 2022-12-14 09:45:25 +01:00
rvcas
299cd1ac24 fix: tuples 2022-12-14 09:45:25 +01:00