* Add test
* Fix test
* Convert paths to absolute before normalization
The path normalization function doesn't work on paths starting with '..'.
One fix is to make paths absolute.
* Add comment
* Various updates to VSCode extension
Last fixes before publishing the VSCode extension on the VSCode market
place:
- rename the parent containing directory from client-extension to vscode-extension
- add a display name and a description
- update the README, add links to non-Nix installation method
- small fixes to the textmate Nickel grammar
* Update flake.nix after rename client-extension -> vscode-extension
* Improve the TextMate grammar, fix interpolation handling
* Fix highlighting in VSCode extension
* blame caller when tail contains illegal fields
fixes#950 by calculating the fields disallowed in a parameterized tail
e.g. in `forall r. { x : Foo ; r }` `x` cannot be present in `r`
* make get_constraints() imperative and inline
* reorder match fields to reflect order they will be executed
* appease clippy
* recurse into record sub-types even if we are looking for enum tails
* NickelString has a From<Label> instance
* separate recursion from checking for constraints
* move constraint checking code to parser
we check for constraints in contract checking and type checking. by
moving it to the parser we only have to do it in one place.
also, removed constraint checking for enum rows, which doesn't seem to
have been doing anything and also we don't want it.
`[| 'x ; e |]` does not preclude `'x` showing up in `e`
added in VarKindDiscriminant for those places where we do actually just
want the enum type. This is mostly for error reporting.
* VarKindCellData -> Option<VarKind>
* update documentation
* fixup
* add tests
* address review comments