Add GetSpanContents engine call (#12439)

# Description
This allows plugins to view the source code of spans.

Requested by @ayax79 for implementing `polars ls`. Note that this won't
really help you find the location of the span. I'm planning to add
another engine call that will return information more similar to what
shows up in the miette diagnostics, with filename / line number / some
context, but I'll want to refactor some of the existing logic to make
that happen, so it was easier to just do this first. I hope this is
enough to at least have something somewhat useful show up for `polars
ls`.

# User-Facing Changes
- Example plugin: added `example view span` command

# Tests + Formatting
- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

# After Submitting
- [ ] Add to plugin protocol reference
This commit is contained in:
Devyn Cairns
2024-04-09 07:02:17 -07:00
committed by GitHub
parent 9a2a6ab52c
commit 00b3a07efe
8 changed files with 124 additions and 2 deletions

View File

@ -21,6 +21,7 @@ impl Plugin for ExamplePlugin {
// Engine interface demos
Box::new(Config),
Box::new(Env),
Box::new(ViewSpan),
Box::new(DisableGc),
// Stream demos
Box::new(CollectExternal),