This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/snippets/wgsl/tiny-render.txt
David Neto 5175d68c87
Lexer for the WebGPU Shading Language (#2386)
See https://w3.org/TR/WGSL

Further work is needed to refine it:
- treat context-dependent names specially
- treat template start and template end tokens specially, perhaps

Fixes: #2388
2023-03-30 11:09:02 +02:00

105 lines
2.6 KiB
Text

---input---
@vertex
fn vmain(@location(0) v: vec4<f32>) -> @builtin(position) vec4f {
return v;
}
@fragment
fn fmain(@builtin(position) pos: vec4f) -> @location(0) vec4f {
return vec4f(0.25,0.25,1.0,1.0);
}
---tokens---
'@' Name.Decorator
'vertex' Name.Decorator
'\n' Text.Whitespace
'fn' Keyword
' ' Text.Whitespace
'vmain' Name
'(' Punctuation
'@' Name.Decorator
'location' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'v' Name
':' Punctuation
' ' Text.Whitespace
'vec4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
')' Punctuation
' ' Text.Whitespace
'->' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'builtin' Name.Decorator
'(' Punctuation
'position' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'v' Name
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n\n' Text.Whitespace
'@' Name.Decorator
'fragment' Name.Decorator
'\n' Text.Whitespace
'fn' Keyword
' ' Text.Whitespace
'fmain' Name
'(' Punctuation
'@' Name.Decorator
'builtin' Name.Decorator
'(' Punctuation
'position' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'pos' Name
':' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'->' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'location' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'vec4f' Name.Builtin
'(' Punctuation
'0.25' Literal.Number.Float
',' Punctuation
'0.25' Literal.Number.Float
',' Punctuation
'1.0' Literal.Number.Float
',' Punctuation
'1.0' Literal.Number.Float
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace