ale icon indicating copy to clipboard operation
ale copied to clipboard

Naga / wgsl integration not working

Open jstevej opened this issue 1 year ago • 0 comments

Information

VIM version

NVIM v0.9.4
Build type: Release
LuaJIT 2.1.0-beta3

Operating System: MacOS Ventura 13.5.1

What went wrong

Using Naga for wgsl linting and highlighting doesn't seem to work.

Reproducing the bug

  1. Install naga via cargo.
  2. Confirm naga binary is in $PATH.
  3. Add autocmd BufNewFile,BufRead *.wgsl set filetype=wgsl to vimrc.
  4. Open a wgsl file and run :ALEInfo, which seems to show correct information.
  5. However, no errors or syntax highlighting is shown in the wgsl file.

:ALEInfo

Expand

Current Filetype: wgsl Available Linters: ['naga'] Enabled Linters: ['naga'] Ignored Linters: [] Suggested Fixers: 'remove_trailing_lines' - Remove all blank lines at the end of a file. 'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.

Linter Variables: " Press Space to read :help for a setting let g:ale_wgsl_naga_executable = 'naga'

Global Variables: " Press Space to read :help for a setting let g:ale_cache_executable_check_failures = v:null let g:ale_change_sign_column_color = v:null let g:ale_command_wrapper = '' let g:ale_completion_delay = 100 let g:ale_completion_enabled = 0 let g:ale_completion_max_suggestions = 50 let g:ale_disable_lsp = 'auto' let g:ale_echo_cursor = 1 let g:ale_echo_msg_error_str = 'Error' let g:ale_echo_msg_format = '%code: %%s' let g:ale_echo_msg_info_str = 'Info' let g:ale_echo_msg_warning_str = 'Warning' let g:ale_enabled = 1 let g:ale_fix_on_save = 0 let g:ale_fixers = {'svelte': ['prettier'], 'typescriptreact': ['prettier'], 'rust': ['rustfmt'], 'typescript': ['prettier']} let g:ale_history_enabled = 1 let g:ale_info_default_mode = 'preview' let g:ale_history_log_output = 1 let g:ale_keep_list_window_open = 0 let g:ale_lint_delay = 200 let g:ale_lint_on_enter = 1 let g:ale_lint_on_filetype_changed = 1 let g:ale_lint_on_insert_leave = 1 let g:ale_lint_on_save = 1 let g:ale_lint_on_text_changed = 'normal' let g:ale_linter_aliases = {'svelte': ['css', 'javascript']} let g:ale_linters = {'wgsl': ['naga'], 'typescriptreact': ['prettier', 'eslint', 'tsserver'], 'svelte': ['prettier', 'eslint']} let g:ale_linters_explicit = 0 let g:ale_linters_ignore = {} let g:ale_list_vertical = 0 let g:ale_list_window_size = 10 let g:ale_loclist_msg_format = '%code: %%s' let g:ale_max_buffer_history_size = 20 let g:ale_max_signs = v:null let g:ale_maximum_file_size = v:null let g:ale_open_list = 0 let g:ale_pattern_options = v:null let g:ale_pattern_options_enabled = v:null let g:ale_root = {} let g:ale_set_balloons = 0 let g:ale_set_highlights = 1 let g:ale_set_loclist = 1 let g:ale_set_quickfix = 0 let g:ale_set_signs = 1 let g:ale_sign_column_always = v:null let g:ale_sign_error = v:null let g:ale_sign_info = v:null let g:ale_sign_offset = v:null let g:ale_sign_style_error = v:null let g:ale_sign_style_warning = v:null let g:ale_sign_warning = v:null let g:ale_sign_highlight_linenrs = v:null let g:ale_type_map = {} let g:ale_use_neovim_diagnostics_api = 1 let g:ale_use_global_executables = v:null let g:ale_virtualtext_cursor = 0 let g:ale_warn_about_trailing_blank_lines = 1 let g:ale_warn_about_trailing_whitespace = 1

Command History:

(finished - exit code 255) ['/bin/zsh', '-c', '''naga'' --stdin-file-path ''/Users/sjoiner/src/wlife/src/CellShader.wgsl'' < ''/var/folders/yv/28wfhmtj7xz7pddfghh7x2c00000gn/T/nvim.sjoiner/uVjOmF/12/CellShader.wgsl''']

<<<OUTPUT STARTS>>> ^[[0m^[[1m^[[38;5;9merror^[[0m^[[1m: ^[[0m ^[[0m^[[34m┌─^[[0m CellShader.wgsl:33:1 ^[[0m^[[34m│^[[0m
^[[0m^[[34m33^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╭^[[0m ^[[0m^[[31mfn hsl2rgb(hsl: vec3f) -> vec3f {^[[0m ^[[0m^[[34m34^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let c = vec3f(fract(hsl.x), clamp(hsl.yz, vec2f(0), vec2f(1)));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m^^^^^^[[0m ^[[0m^[[31mnaga::Expression [9]^[[0m ^[[0m^[[34m35^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let rgb = clamp(abs((c.x * 6.0 + vec3f(0.0, 4.0, 2.0)) % 6.0 - 3.0) - 1.0, vec3f(0), vec3f(1));^[[0m ^[[0m^[[34m36^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m return c.z + c.y * (rgb - 0.5) * (1.0 - abs(2.0 * c.z - 1.0));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╰^[[0m^[[0m^[[31m────────────────────────────────────────────────────────────────^ naga::Function [2]^[[0m

Function [2] 'hsl2rgb' is invalid: Expression [9] is invalid Argument [1] to Clamp as expression [6] has an invalid type. <<<OUTPUT ENDS>>>

(finished - exit code 1) ['/bin/zsh', '-c', '''naga'' --stdin-file-path ''/Users/sjoiner/src/wlife/src/CellShader.wgsl'' < ''/var/folders/yv/28wfhmtj7xz7pddfghh7x2c00000gn/T/nvim.sjoiner/uVjOmF/13/CellShader.wgsl''']

<<<OUTPUT STARTS>>> ^[[0m^[[1m^[[38;5;9merror^[[0m^[[1m: no definition in scope for identifier: 'cellx'^[[0m ^[[0m^[[34m┌─^[[0m /Users/sjoiner/src/wlife/src/CellShader.wgsl:25:19 ^[[0m^[[34m│^[[0m ^[[0m^[[34m25^[[0m ^[[0m^[[34m│^[[0m output.cell = ^[[0m^[[31mcellx^[[0m; ^[[0m^[[34m│^[[0m ^[[0m^[[31m^^^^^^[[0m ^[[0m^[[31munknown identifier^[[0m

Could not parse WGSL <<<OUTPUT ENDS>>>

(finished - exit code 1) ['/bin/zsh', '-c', '''naga'' --stdin-file-path ''/Users/sjoiner/src/wlife/src/CellShader.wgsl'' < ''/var/folders/yv/28wfhmtj7xz7pddfghh7x2c00000gn/T/nvim.sjoiner/uVjOmF/14/CellShader.wgsl''']

<<<OUTPUT STARTS>>> ^[[0m^[[1m^[[38;5;9merror^[[0m^[[1m: no definition in scope for identifier: 'cellx'^[[0m ^[[0m^[[34m┌─^[[0m /Users/sjoiner/src/wlife/src/CellShader.wgsl:25:19 ^[[0m^[[34m│^[[0m ^[[0m^[[34m25^[[0m ^[[0m^[[34m│^[[0m output.cell = ^[[0m^[[31mcellx^[[0m; ^[[0m^[[34m│^[[0m ^[[0m^[[31m^^^^^^[[0m ^[[0m^[[31munknown identifier^[[0m

Could not parse WGSL <<<OUTPUT ENDS>>>

(finished - exit code 255) ['/bin/zsh', '-c', '''naga'' --stdin-file-path ''/Users/sjoiner/src/wlife/src/CellShader.wgsl'' < ''/var/folders/yv/28wfhmtj7xz7pddfghh7x2c00000gn/T/nvim.sjoiner/uVjOmF/15/CellShader.wgsl''']

<<<OUTPUT STARTS>>> ^[[0m^[[1m^[[38;5;9merror^[[0m^[[1m: ^[[0m ^[[0m^[[34m┌─^[[0m CellShader.wgsl:33:1 ^[[0m^[[34m│^[[0m
^[[0m^[[34m33^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╭^[[0m ^[[0m^[[31mfn hsl2rgb(hsl: vec3f) -> vec3f {^[[0m ^[[0m^[[34m34^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let c = vec3f(fract(hsl.x), clamp(hsl.yz, vec2f(0), vec2f(1)));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m^^^^^^[[0m ^[[0m^[[31mnaga::Expression [9]^[[0m ^[[0m^[[34m35^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let rgb = clamp(abs((c.x * 6.0 + vec3f(0.0, 4.0, 2.0)) % 6.0 - 3.0) - 1.0, vec3f(0), vec3f(1));^[[0m ^[[0m^[[34m36^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m return c.z + c.y * (rgb - 0.5) * (1.0 - abs(2.0 * c.z - 1.0));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╰^[[0m^[[0m^[[31m────────────────────────────────────────────────────────────────^ naga::Function [2]^[[0m

Function [2] 'hsl2rgb' is invalid: Expression [9] is invalid Argument [1] to Clamp as expression [6] has an invalid type. <<<OUTPUT ENDS>>>

(finished - exit code 255) ['/bin/zsh', '-c', '''naga'' --stdin-file-path ''/Users/sjoiner/src/wlife/src/CellShader.wgsl'' < ''/var/folders/yv/28wfhmtj7xz7pddfghh7x2c00000gn/T/nvim.sjoiner/uVjOmF/16/CellShader.wgsl''']

<<<OUTPUT STARTS>>> ^[[0m^[[1m^[[38;5;9merror^[[0m^[[1m: ^[[0m ^[[0m^[[34m┌─^[[0m CellShader.wgsl:33:1 ^[[0m^[[34m│^[[0m
^[[0m^[[34m33^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╭^[[0m ^[[0m^[[31mfn hsl2rgb(hsl: vec3f) -> vec3f {^[[0m ^[[0m^[[34m34^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let c = vec3f(fract(hsl.x), clamp(hsl.yz, vec2f(0), vec2f(1)));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m^^^^^^[[0m ^[[0m^[[31mnaga::Expression [9]^[[0m ^[[0m^[[34m35^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m let rgb = clamp(abs((c.x * 6.0 + vec3f(0.0, 4.0, 2.0)) % 6.0 - 3.0) - 1.0, vec3f(0), vec3f(1));^[[0m ^[[0m^[[34m36^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m│^[[0m ^[[0m^[[31m return c.z + c.y * (rgb - 0.5) * (1.0 - abs(2.0 * c.z - 1.0));^[[0m ^[[0m^[[34m│^[[0m ^[[0m^[[31m╰^[[0m^[[0m^[[31m────────────────────────────────────────────────────────────────^ naga::Function [2]^[[0m

Function [2] 'hsl2rgb' is invalid: Expression [9] is invalid Argument [1] to Clamp as expression [6] has an invalid type. <<<OUTPUT ENDS>>>

jstevej avatar Dec 19 '23 15:12 jstevej