Basic traverse and linter rules
This needs some improvement around the Module | Syntax parts still, as a lot of functions could be merged.
Codecov Report
Merging #78 into master will decrease coverage by
3.21%. The diff coverage is11.47%.
@@ Coverage Diff @@
## master #78 +/- ##
==========================================
- Coverage 90.55% 87.34% -3.22%
==========================================
Files 31 32 +1
Lines 1440 1501 +61
Branches 227 241 +14
==========================================
+ Hits 1304 1311 +7
- Misses 118 172 +54
Partials 18 18
| Impacted Files | Coverage Δ | |
|---|---|---|
| packages/delisp-core/src/index.ts | 100% <100%> (ø) |
:arrow_up: |
| packages/delisp-core/src/linter.ts | 12% <12%> (ø) |
|
| packages/delisp-core/src/syntax-utils.ts | 52.74% <8.57%> (-27.61%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update b157b35...4c384de. Read the comment docs.
It would be nice to find a more functional-friendly way of writing rules. The visitor patterns rely too much on the execution order and keeping state. It's quite imperative.
It would be interesting if we can compare with other implementations at some point.
But this looks good, with a bit of clean up and tests we can merge it. It should be easy to maintain.