---input---
@group(0) @binding(0) var texture_storage_2d<rgba8unorm,write>;
@group(0) @binding(1) var texture_storage_2d<rgba8snorm,write>;
@group(0) @binding(2) var texture_storage_2d<rgba8uint,write>;
@group(0) @binding(3) var texture_storage_2d<rgba8sint,write>;
@group(0) @binding(4) var texture_storage_2d<rgba16uint,write>;
@group(0) @binding(5) var texture_storage_2d<rgba16sint,write>;
@group(0) @binding(6) var texture_storage_2d<rgba16float,write>;
@group(0) @binding(7) var texture_storage_2d<r32uint,write>;
@group(0) @binding(8) var texture_storage_2d<r32sint,write>;
@group(0) @binding(9) var texture_storage_2d<r32float,write>;
@group(1) @binding(0) var texture_storage_2d<rg32uint,write>;
@group(1) @binding(1) var texture_storage_2d<rg32sint,write>;
@group(1) @binding(2) var texture_storage_2d<rg32float,write>;
@group(1) @binding(3) var texture_storage_2d<rgba32uint,write>;
@group(1) @binding(4) var texture_storage_2d<rgba32sint,write>;
@group(1) @binding(5) var texture_storage_2d<rgba32float,write>;
@group(1) @binding(6) var texture_storage_2d<bgra8unorm,write>;

---tokens---
'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba8unorm'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba8snorm'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba8uint'   Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'3'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba8sint'   Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'4'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba16uint'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'5'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba16sint'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'6'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba16float' Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'7'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'r32uint'     Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'r32sint'     Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'9'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'r32float'    Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rg32uint'    Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rg32sint'    Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rg32float'   Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'3'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba32uint'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'4'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba32sint'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'5'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'rgba32float' Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'@'           Name.Decorator
'group'       Name.Decorator
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'@'           Name.Decorator
'binding'     Name.Decorator
'('           Punctuation
'6'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'var'         Keyword.Declaration
' '           Text.Whitespace
'texture_storage_2d' Name.Builtin
'<'           Operator
'bgra8unorm'  Name.Builtin
','           Punctuation
'write'       Name.Builtin
'>'           Operator
';'           Punctuation
'\n'          Text.Whitespace
