Surface warnings from Zeek linter (#4883)

In addition to errors Zeek's parsing can also expose warning messages,
e.g., for the following code

```zeek
event http_stats(c: connection, stats: http_stats_rec) {
    c$removal_hooks;
}
```

a warning is emitted

```
warning in /tmp/foo.zeek, line 2: expression value ignored (c$removal_hooks)
```

This patch adds parsing and propagation of these warning messages.
This commit is contained in:
Benjamin Bannier
2024-12-29 05:07:00 +01:00
committed by GitHub
parent 65b49c1b81
commit 6e4f01f6d1
2 changed files with 20 additions and 5 deletions

View File

@@ -4,14 +4,28 @@ Before:
After:
call ale#linter#Reset()
Execute(The zeek handler should parse input correctly):
Execute(The zeek handler should parse errors correctly):
AssertEqual
\ [
\ {
\ 'lnum': 2,
\ 'text': 'unknown identifier bar, at or near "bar"'
\ 'text': 'unknown identifier bar, at or near "bar"',
\ 'type': 'E',
\ },
\ ],
\ ale_linters#zeek#zeek#HandleErrors(bufnr(''), [
\ 'error in /tmp/foo.zeek, line 2: unknown identifier bar, at or near "bar"'
\ ])
Execute(The zeek handler should parse warnings correctly):
AssertEqual
\ [
\ {
\ 'lnum': 11,
\ 'text': 'expression value ignored (c$removal_hooks)',
\ 'type': 'W',
\ },
\ ],
\ ale_linters#zeek#zeek#HandleErrors(bufnr(''), [
\ 'warning in /tmp/bar.zeek, line 11: expression value ignored (c$removal_hooks)'
\ ])