# sourcemap-resolver
[](https://github.com/veryl-lang/sourcemap-resolver/actions)
[](https://crates.io/crates/sourcemap-resolver)
sourcemap-resolver is a CLI utility and library to resolve [Source Map Revision 3](https://sourcemaps.info/spec.html) which is adopted as [Veryl](https://github.com/veryl-lang/veryl)'s sourcemap.
Through the CLI command, a file location in log files can be resolved to the original location.
For example, if the line 28 in `test.sv` is generated from line 26 in `test.veryl`, the following annotation will be added by the CLI.
```
ERROR: [VRFC 10-2865] module 'test3' ignored due to previous errors [/path.../test.sv:28]
^-- /path.../test.veryl:26:18
```
## Installation
The prebuilt binary will be provided within [Veryl's release](https://github.com/veryl-lang/veryl/releases).
The following command can be used too.
```
cargo install sourcemap-resolver
```
## Usage
To annotate the existing logs, the following command can be used.
```
$ sourcemap-resolver test.log
```
Pipe can be used too to annotate on the fly.
```
## Supported tools
The following tools are supported:
* [Verilator](https://www.veripool.org/verilator/)
* [Synopsys VCS](https://www.synopsys.com/verification/simulation/vcs.html)
* [Synopsys DesignCompiler](https://www.synopsys.com/implementation-and-signoff/rtl-synthesis-test/design-compiler-nxt.html)
* [Synopsys Formality](https://www.synopsys.com/implementation-and-signoff/signoff/formality-equivalence-checking.html)
* [AMD Vivado Simulator](https://www.xilinx.com/products/design-tools/vivado/verification.html)
If you want to add another tool support, please open an [issue](https://github.com/veryl-lang/sourcemap-resolver/issues) and submit a log example.
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.