sourcemap-resolver 0.1.1

Sourcemap resolving library and CLI
Documentation
# sourcemap-resolver

[![Actions Status](https://github.com/veryl-lang/sourcemap-resolver/workflows/Regression/badge.svg)](https://github.com/veryl-lang/sourcemap-resolver/actions)
[![Crates.io](https://img.shields.io/crates/v/sourcemap-resolver.svg)](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.

```
$ [command] | sourcemap-resolver
```

## 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.