mirror of
https://github.com/HiPhish/rainbow-delimiters.nvim.git
synced 2024-09-16 14:24:05 +02:00
feat(wgsl): Add wgsl support
This commit is contained in:
parent
6bfbaef4a4
commit
6d3371d66c
3 changed files with 108 additions and 0 deletions
|
@ -100,6 +100,7 @@
|
|||
---@field vim (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---@field vimdoc (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---@field vue (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---@field wgsl (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---@field yaml (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---@field zig (rainbow_delimiters.strategy | fun(bufnr: integer): rainbow_delimiters.strategy?)?
|
||||
---User defined language, not part of rainbow_delimiters support
|
||||
|
@ -167,6 +168,7 @@
|
|||
---@field vim (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---@field vimdoc (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---@field vue (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---@field wgsl (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---@field yaml (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---@field zig (('rainbow-delimiters' | string) | fun(bufnr: integer): ('rainbow-delimiters' | string))?
|
||||
---User defined language, not part of rainbow_delimiters support
|
||||
|
@ -234,6 +236,7 @@
|
|||
---@field vim (integer | fun(bufnr: integer): integer)?
|
||||
---@field vimdoc (integer | fun(bufnr: integer): integer)?
|
||||
---@field vue (integer | fun(bufnr: integer): integer)?
|
||||
---@field wgsl (integer | fun(bufnr: integer): integer)?
|
||||
---@field yaml (integer | fun(bufnr: integer): integer)?
|
||||
---@field zig (integer | fun(bufnr: integer): integer)?
|
||||
---User defined language, not part of rainbow_delimiters support
|
||||
|
@ -301,6 +304,7 @@
|
|||
---| 'vim'
|
||||
---| 'vimdoc'
|
||||
---| 'vue'
|
||||
---| 'wgsl'
|
||||
---| 'yaml'
|
||||
---| 'zig'
|
||||
---User defined language, not part of rainbow_delimiters support
|
||||
|
|
47
queries/wgsl/rainbow-delimiters.scm
Normal file
47
queries/wgsl/rainbow-delimiters.scm
Normal file
|
@ -0,0 +1,47 @@
|
|||
(argument_list_expression
|
||||
"(" @delimiter
|
||||
")" @delimiter @sentinel) @container
|
||||
|
||||
(attribute
|
||||
"(" @delimiter
|
||||
")" @delimiter @sentinel) @container
|
||||
|
||||
(compound_statement
|
||||
"{" @delimiter
|
||||
"}" @delimiter @sentinel) @container
|
||||
|
||||
(function_declaration
|
||||
"(" @delimiter
|
||||
")" @delimiter @sentinel) @container
|
||||
|
||||
(for_statement
|
||||
"(" @delimiter
|
||||
")" @delimiter @sentinel) @container
|
||||
|
||||
(loop_statement
|
||||
"{" @delimiter
|
||||
"}" @delimiter @sentinel) @container
|
||||
|
||||
(parenthesized_expression
|
||||
"(" @delimiter
|
||||
")" @delimiter @sentinel) @container
|
||||
|
||||
(postfix_expression
|
||||
"[" @delimiter
|
||||
"]" @delimiter @sentinel) @container
|
||||
|
||||
(struct_declaration
|
||||
"{" @delimiter
|
||||
"}" @delimiter @sentinel) @container
|
||||
|
||||
(subscript_expression
|
||||
"[" @delimiter
|
||||
"]" @delimiter @sentinel) @container
|
||||
|
||||
(type_declaration
|
||||
"<" @delimiter
|
||||
">" @delimiter @sentinel) @container
|
||||
|
||||
(variable_qualifier
|
||||
"<" @delimiter
|
||||
">" @delimiter @sentinel) @container
|
57
test/highlight/wgsl/regular.wgsl
Normal file
57
test/highlight/wgsl/regular.wgsl
Normal file
|
@ -0,0 +1,57 @@
|
|||
@group(0)
|
||||
@binding(0)
|
||||
var<storage, read> array_1: array<u32, 10>;
|
||||
|
||||
@group(0)
|
||||
@binding(1)
|
||||
var<uniform> array_2: array<vec4<u32>, 256>;
|
||||
|
||||
@group(1)
|
||||
@binding(0)
|
||||
var<storage, read_write> array_3: array<vec2<f32>, 100>;
|
||||
|
||||
struct MyStruct {
|
||||
x: f32,
|
||||
y: f32,
|
||||
i: u32,
|
||||
j: u32,
|
||||
}
|
||||
|
||||
fn next_bit_string_same_hamming_weight(bit_string: u32) -> u32 {
|
||||
let t = bit_string | (bit_string - 1u); // bit_string with least significant 0 set to 1
|
||||
let tmp = (~t & (0u - ~t)) - 1u;
|
||||
return (t+1) | (tmp >> (countTrailingZeros(bit_string) + 1u));
|
||||
}
|
||||
|
||||
fn function_with_loop(a: u32, b_ptr: ptr<function, u32>) {
|
||||
var bits = a;
|
||||
loop {
|
||||
if (bits & 3u) == 0u {
|
||||
return;
|
||||
} else {
|
||||
bits = bits - 1u;
|
||||
*b_ptr += 1u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@compute
|
||||
@workgroup_size(32)
|
||||
fn main(
|
||||
@builtin(global_invocation_id) global_id: vec3<u32>,
|
||||
) {
|
||||
let start = 10 * global_id.x;
|
||||
|
||||
if (global_id.x >= 10) { return; }
|
||||
var a = array_1[global_id.x];
|
||||
|
||||
let end = start + 10;
|
||||
|
||||
for (var id = start; id < end; id += 1u) {
|
||||
if (id >= 100) { return; }
|
||||
|
||||
var b = array_3[id].x;
|
||||
|
||||
array_3[id].y = a + b;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue