Add naga linter for WGSL support (#4047)

* Add WGSL support using `naga` command

* Add documents for wgsl

* Add test for `naga` linter

* Separate naga handler callback to hanlder/naga.vim
This commit is contained in:
Linda_pp
2022-02-04 16:29:28 +09:00
committed by GitHub
parent d1e2aaf85d
commit 0d529d9b94
8 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
Before:
runtime ale_linters/wgsl/naga.vim
After:
call ale#linter#Reset()
Execute(Error handler should parse error message and position from input):
let example_output = [
\ "error: expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['",
\ " ┌─ wgsl:5:1",
\ " │",
\ "5 │ [[group(1), binding(0)]]",
\ " │ ^ expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file",
\ "Could not parse WGSL",
\ ]
let actual = ale#handlers#naga#Handle(0, example_output)
let expected = [{
\ "text": "expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['",
\ "lnum": 5,
\ "col": 1,
\ "type": "E",
\ }]
AssertEqual actual, expected