You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using Naga for wgsl linting and highlighting doesn't seem to work.
Reproducing the bug
Install naga via cargo.
Confirm naga binary is in $PATH.
Add autocmd BufNewFile,BufRead *.wgsl set filetype=wgsl to vimrc.
Open a wgsl file and run :ALEInfo, which seems to show correct information.
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
Information
VIM version
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
$PATH
.autocmd BufNewFile,BufRead *.wgsl set filetype=wgsl
to vimrc.:ALEInfo
, which seems to show correct information.: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''']
<<>>
^[[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.
<<>>
(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''']
<<>>
^[[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
<<>>
(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''']
<<>>
^[[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
<<>>
(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''']
<<>>
^[[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.
<<>>
(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''']
<<>>
^[[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.
<<>>
The text was updated successfully, but these errors were encountered: