rsl function
Highlight.js language definition for rsl.
Implementation
Mode rsl(Highlight hljs) {
final Mode mode0 = Mode();
mode0.begin = r'\\[\s\S]';
mode0.relevance = 0;
return Mode(
name: r'RenderMan RSL',
keywords: {
r'keyword': [
r'while',
r'for',
r'if',
r'do',
r'return',
r'else',
r'break',
r'extern',
r'continue',
],
r'built_in': [
r'abs',
r'acos',
r'ambient',
r'area',
r'asin',
r'atan',
r'atmosphere',
r'attribute',
r'calculatenormal',
r'ceil',
r'cellnoise',
r'clamp',
r'comp',
r'concat',
r'cos',
r'degrees',
r'depth',
r'Deriv',
r'diffuse',
r'distance',
r'Du',
r'Dv',
r'environment',
r'exp',
r'faceforward',
r'filterstep',
r'floor',
r'format',
r'fresnel',
r'incident',
r'length',
r'lightsource',
r'log',
r'match',
r'max',
r'min',
r'mod',
r'noise',
r'normalize',
r'ntransform',
r'opposite',
r'option',
r'phong',
r'pnoise',
r'pow',
r'printf',
r'ptlined',
r'radians',
r'random',
r'reflect',
r'refract',
r'renderinfo',
r'round',
r'setcomp',
r'setxcomp',
r'setycomp',
r'setzcomp',
r'shadow',
r'sign',
r'sin',
r'smoothstep',
r'specular',
r'specularbrdf',
r'spline',
r'sqrt',
r'step',
r'tan',
r'texture',
r'textureinfo',
r'trace',
r'transform',
r'vtransform',
r'xcomp',
r'ycomp',
r'zcomp',
],
r'type': [r'matrix', r'float', r'color', r'point', r'normal', r'vector'],
},
illegal: r'</',
contains: [
Mode(
scope: r'comment',
begin: r'//',
end: r'$',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: r'comment',
begin: r'/\*',
end: r'\*/',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: r'string',
begin: r'"',
end: r'"',
illegal: r'\n',
contains: [mode0],
),
Mode(
scope: r'string',
begin: r"'",
end: r"'",
illegal: r'\n',
contains: [mode0],
),
Mode(
scope: r'number',
begin:
r'(-?)(\b0[xX][a-fA-F0-9]+|(\b\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?)',
relevance: 0,
),
Mode(scope: r'meta', begin: r'#', end: r'$'),
Mode(
match: [
r'(surface|displacement|light|volume|imager)',
r'\s+',
r'[a-zA-Z]\w*',
],
scope: {1: r'keyword', 3: r'title.class'},
),
Mode(beginKeywords: r'illuminate illuminance gather', end: r'\('),
],
);
}