mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-03-01 17:02:38 -05:00
Now that we have a comprehensive JSON diagnostic structure, we can use it in the `validate -json` output instead of the inline version. Note that this changes the output of `validate -json` in two ways: 1. We fix some off-by-one errors caused by zero-width highlight ranges. This aligns the JSON diagnostic output with the text output seen by most Terraform users, so I consider this a bug fix. 2. We add the `snippet` field to the JSON diagnostics where available. This is purely additive and is permitted under our JSON format stability guarantees.
34 lines
801 B
JSON
34 lines
801 B
JSON
{
|
|
"valid": false,
|
|
"error_count": 1,
|
|
"warning_count": 0,
|
|
"diagnostics": [
|
|
{
|
|
"severity": "error",
|
|
"summary": "Unsupported block type",
|
|
"detail": "Blocks of type \"resorce\" are not expected here. Did you mean \"resource\"?",
|
|
"range": {
|
|
"filename": "testdata/validate-invalid/main.tf",
|
|
"start": {
|
|
"line": 1,
|
|
"column": 1,
|
|
"byte": 0
|
|
},
|
|
"end": {
|
|
"line": 1,
|
|
"column": 8,
|
|
"byte": 7
|
|
}
|
|
},
|
|
"snippet": {
|
|
"context": null,
|
|
"code": "resorce \"test_instance\" \"foo\" { # Intentional typo to test error reporting",
|
|
"start_line": 1,
|
|
"highlight_start_offset": 0,
|
|
"highlight_end_offset": 7,
|
|
"values": []
|
|
}
|
|
}
|
|
]
|
|
}
|