backtrace-ls 0.0.4

See failed assertions as diagnostic messages next to your test code.
# Backtrace-LS

LSP server that **shows failed assertion messages** as diagnostics in your code.

Additional features:

- Backtraces are parsed to mark any stack frame locations inline.
- You can use code actions to navigate between failure, stack frames and context.

Works out of the box in Helix (or any editor with an LSP client):

![(screenshot of code action in helix)](./helix-action.png)

## Supported Test Runners

- Rust: `cargo test`, `cargo nextest`
- JavaScript: `Jest`, `Vitest`, Node Test Runner, `deno test`
- Go: `go test`
- PHP: `PHPUnit`

## Installation

```sh
cargo install backtrace-ls
```

## Editor Setup

Try out without installing by opening the demo project with Helix:

```bash
cd demo/rust
hx -v src/lib.rs
```

You should see the failing assertions inline next to test code.

Helix (`~/.config/helix/languages.toml`):

```toml
[language-server.backtrace-ls]
command = "backtrace-ls"

[[language]]
name = "rust"
language-servers = ["backtrace-ls", "rust-analyzer"]
```

Neovim:

```lua
vim.lsp.start({ name = "backtrace-ls", cmd = { "backtrace-ls" }, root_dir = vim.fn.getcwd() })
```

## Configuration

(Under construction)

Optional `.backtrace-ls.toml` in project root:

```toml
[overrides.override-name]
runner_name = "cargo-test"
extra_arg = ["--workspace"]
```

## Contributing

You can debug more easily by running in `--text` and `--verbose` mode:

```bash
cargo run -- --path demo/rust --text -v
```

## License

MIT