rnix-parser
rnix-parser copied to clipboard
A Nix parser written in Rust [maintainer=@oberblastmeister]
This changes the `Comment` ast definition to handle comments like `/* ... */`, whereas before only `# ...`-style comments were handled without panicking. The implementation makes some assumptions and may...
When making changes to the parser, I am always scared of regressions and properly handling edge cases in the Nix grammar. We want to ensure that rnix-parser parses Nix expressions...
### Description Changes like #94 (and the previous ones) have shown that it's still a thing to underestimate the performance impact of a patch. We should thus generate benchmark reports...
### Summary & Motivation The main motivation is to be able to use this crate in any JS/TS project, and to package and publish it on [NPM](https://www.npmjs.com/package/rnix-parser). You can find...
The following is a common scenario when editing Nix: ```nix rec { foo.bar = 13; xyz = foo.; # trailing period was just typed } ``` `rnix-parser` consumes the rest...
It would be great if rnix-parser has errors more descriptive than "unexpected X," perhaps prompting the user how to fix the code if we can guess what's missing (e.g. a...
### Summary & Motivation `SyntaxKind::is_literal()`'s comment says that it "Returns true if this token is a literal, such as an integer or a string", but this isn't true -- it...
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.0 to 2.0.1. Release notes Sourced from Swatinem/rust-cache's releases. v2.0.1 Primarily just updating dependencies to fix GitHub deprecation notices. Changelog Sourced from Swatinem/rust-cache's changelog. 2.0.1 Primarily just...
### Describe the bug Was messing around with invalid tilde starting path literals: * `~foo` is parsed to `Ident(Ident([email protected]))`, the `~` seemingly disappears into nowhere. The ident is retained as...
Certain path literals are parse errors, most prominently paths with a trailing slash. Compare C++ Nix and Tvix (with rnix-parser): ``` # C++ Nix nix-repl> ../../ error: path '../../' has...