amis-rpc-design/node_modules/monaco-editor/dev/vs/basic-languages/wgsl/wgsl.js

463 lines
9.9 KiB
JavaScript
Raw Normal View History

2023-10-07 19:42:30 +08:00
"use strict";
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/wgsl/wgsl", ["require"],(require)=>{
var moduleExports = (() => {
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/basic-languages/wgsl/wgsl.ts
var wgsl_exports = {};
__export(wgsl_exports, {
conf: () => conf,
language: () => language
});
var conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "[", close: "]" },
{ open: "{", close: "}" },
{ open: "(", close: ")" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" }
]
};
function qw(str) {
let result = [];
const words = str.split(/\t+|\r+|\n+| +/);
for (let i = 0; i < words.length; ++i) {
if (words[i].length > 0) {
result.push(words[i]);
}
}
return result;
}
var atoms = qw("true false");
var keywords = qw(`
alias
break
case
const
const_assert
continue
continuing
default
diagnostic
discard
else
enable
fn
for
if
let
loop
override
requires
return
struct
switch
var
while
`);
var reserved = qw(`
NULL
Self
abstract
active
alignas
alignof
as
asm
asm_fragment
async
attribute
auto
await
become
binding_array
cast
catch
class
co_await
co_return
co_yield
coherent
column_major
common
compile
compile_fragment
concept
const_cast
consteval
constexpr
constinit
crate
debugger
decltype
delete
demote
demote_to_helper
do
dynamic_cast
enum
explicit
export
extends
extern
external
fallthrough
filter
final
finally
friend
from
fxgroup
get
goto
groupshared
highp
impl
implements
import
inline
instanceof
interface
layout
lowp
macro
macro_rules
match
mediump
meta
mod
module
move
mut
mutable
namespace
new
nil
noexcept
noinline
nointerpolation
noperspective
null
nullptr
of
operator
package
packoffset
partition
pass
patch
pixelfragment
precise
precision
premerge
priv
protected
pub
public
readonly
ref
regardless
register
reinterpret_cast
require
resource
restrict
self
set
shared
sizeof
smooth
snorm
static
static_assert
static_cast
std
subroutine
super
target
template
this
thread_local
throw
trait
try
type
typedef
typeid
typename
typeof
union
unless
unorm
unsafe
unsized
use
using
varying
virtual
volatile
wgsl
where
with
writeonly
yield
`);
var predeclared_enums = qw(`
read write read_write
function private workgroup uniform storage
perspective linear flat
center centroid sample
vertex_index instance_index position front_facing frag_depth
local_invocation_id local_invocation_index
global_invocation_id workgroup_id num_workgroups
sample_index sample_mask
rgba8unorm
rgba8snorm
rgba8uint
rgba8sint
rgba16uint
rgba16sint
rgba16float
r32uint
r32sint
r32float
rg32uint
rg32sint
rg32float
rgba32uint
rgba32sint
rgba32float
bgra8unorm
`);
var predeclared_types = qw(`
bool
f16
f32
i32
sampler sampler_comparison
texture_depth_2d
texture_depth_2d_array
texture_depth_cube
texture_depth_cube_array
texture_depth_multisampled_2d
texture_external
texture_external
u32
`);
var predeclared_type_generators = qw(`
array
atomic
mat2x2
mat2x3
mat2x4
mat3x2
mat3x3
mat3x4
mat4x2
mat4x3
mat4x4
ptr
texture_1d
texture_2d
texture_2d_array
texture_3d
texture_cube
texture_cube_array
texture_multisampled_2d
texture_storage_1d
texture_storage_2d
texture_storage_2d_array
texture_storage_3d
vec2
vec3
vec4
`);
var predeclared_type_aliases = qw(`
vec2i vec3i vec4i
vec2u vec3u vec4u
vec2f vec3f vec4f
vec2h vec3h vec4h
mat2x2f mat2x3f mat2x4f
mat3x2f mat3x3f mat3x4f
mat4x2f mat4x3f mat4x4f
mat2x2h mat2x3h mat2x4h
mat3x2h mat3x3h mat3x4h
mat4x2h mat4x3h mat4x4h
`);
var predeclared_intrinsics = qw(`
bitcast all any select arrayLength abs acos acosh asin asinh atan atanh atan2
ceil clamp cos cosh countLeadingZeros countOneBits countTrailingZeros cross
degrees determinant distance dot exp exp2 extractBits faceForward firstLeadingBit
firstTrailingBit floor fma fract frexp inverseBits inverseSqrt ldexp length
log log2 max min mix modf normalize pow quantizeToF16 radians reflect refract
reverseBits round saturate sign sin sinh smoothstep sqrt step tan tanh transpose
trunc dpdx dpdxCoarse dpdxFine dpdy dpdyCoarse dpdyFine fwidth fwidthCoarse fwidthFine
textureDimensions textureGather textureGatherCompare textureLoad textureNumLayers
textureNumLevels textureNumSamples textureSample textureSampleBias textureSampleCompare
textureSampleCompareLevel textureSampleGrad textureSampleLevel textureSampleBaseClampToEdge
textureStore atomicLoad atomicStore atomicAdd atomicSub atomicMax atomicMin
atomicAnd atomicOr atomicXor atomicExchange atomicCompareExchangeWeak pack4x8snorm
pack4x8unorm pack2x16snorm pack2x16unorm pack2x16float unpack4x8snorm unpack4x8unorm
unpack2x16snorm unpack2x16unorm unpack2x16float storageBarrier workgroupBarrier
workgroupUniformLoad
`);
var operators = qw(`
&
&&
->
/
=
==
!=
>
>=
<
<=
%
-
--
+
++
|
||
*
<<
>>
+=
-=
*=
/=
%=
&=
|=
^=
>>=
<<=
`);
var directive_re = /enable|requires|diagnostic/;
var ident_re = /[_\p{XID_Start}]\p{XID_Continue}*/u;
var predefined_token = "variable.predefined";
var language = {
tokenPostfix: ".wgsl",
defaultToken: "invalid",
unicode: true,
atoms,
keywords,
reserved,
predeclared_enums,
predeclared_types,
predeclared_type_generators,
predeclared_type_aliases,
predeclared_intrinsics,
operators,
symbols: /[!%&*+\-\.\/:;<=>^|_~,]+/,
tokenizer: {
root: [
[directive_re, "keyword", "@directive"],
[
ident_re,
{
cases: {
"@atoms": predefined_token,
"@keywords": "keyword",
"@reserved": "invalid",
"@predeclared_enums": predefined_token,
"@predeclared_types": predefined_token,
"@predeclared_type_generators": predefined_token,
"@predeclared_type_aliases": predefined_token,
"@predeclared_intrinsics": predefined_token,
"@default": "identifier"
}
}
],
{ include: "@commentOrSpace" },
{ include: "@numbers" },
[/[{}()\[\]]/, "@brackets"],
["@", "annotation", "@attribute"],
[
/@symbols/,
{
cases: {
"@operators": "operator",
"@default": "delimiter"
}
}
],
[/./, "invalid"]
],
commentOrSpace: [
[/\s+/, "white"],
[/\/\*/, "comment", "@blockComment"],
[/\/\/.*$/, "comment"]
],
blockComment: [
[/[^\/*]+/, "comment"],
[/\/\*/, "comment", "@push"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
attribute: [
{ include: "@commentOrSpace" },
[/\w+/, "annotation", "@pop"]
],
directive: [
{ include: "@commentOrSpace" },
[/[()]/, "@brackets"],
[/,/, "delimiter"],
[ident_re, "meta.content"],
[/;/, "delimiter", "@pop"]
],
numbers: [
[/0[fh]/, "number.float"],
[/[1-9][0-9]*[fh]/, "number.float"],
[/[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/, "number.float"],
[/[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/, "number.float"],
[/[0-9]+[eE][+-]?[0-9]+[fh]?/, "number.float"],
[/0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+(?:[pP][+-]?[0-9]+[fh]?)?/, "number.hex"],
[/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*(?:[pP][+-]?[0-9]+[fh]?)?/, "number.hex"],
[/0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/, "number.hex"],
[/0[xX][0-9a-fA-F]+[iu]?/, "number.hex"],
[/[1-9][0-9]*[iu]?/, "number"],
[/0[iu]?/, "number"]
]
}
};
return __toCommonJS(wgsl_exports);
})();
return moduleExports;
});