├── .gitignore
├── CHANGES.txt
├── CONTRIBUTORS.txt
├── Comments.tmPreferences
├── For Int Loop.sublime-snippet
├── Foreach Loop.sublime-snippet
├── LICENSE.txt
├── Point Cloud Iterate Excluding Search Point VEXpression.sublime-snippet
├── Point Cloud Iterate Excluding Search Point.sublime-snippet
├── Point Cloud Iterate VEXpression.sublime-snippet
├── Point Cloud Iterate.sublime-snippet
├── README.md
├── VEX Build and Run.sublime-build
├── VEX Build.sublime-build
├── VEX.YAML-tmLanguage
├── VEX.sublime-completions
├── VEX.sublime-settings
├── VEX.tmLanguage
├── src
├── compile_and_run.py
└── vcc_utils.py
└── syntax_lists
├── VexComments.txt
├── VexContexts.txt
├── VexDataTypes.txt
├── VexFunctions.txt
├── VexKeywords.txt
├── VexMacros.txt
├── VexOperators.txt
└── VexVariables.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.cache
3 | functions_old.txt
4 | combine_functions.py
5 | functions_vim.txt
6 | VEX.sublime-project
7 | VEX.sublime-workspace
--------------------------------------------------------------------------------
/CHANGES.txt:
--------------------------------------------------------------------------------
1 | Version 1.5.0
2 | ==================================================================================================
3 | Houdini version 16.0 update.
4 |
5 | Changes:
6 | Function highlighting and completions updated to support 16.0.
7 |
8 | Todo:
9 | Raw string support.
10 |
11 |
12 | Version 1.4.0
13 | ==================================================================================================
14 | Houdini version 15.5 update.
15 |
16 | Changes:
17 | Function highlighting and completions ammended to support 15.5.
18 | Void type added.
19 | Added export and const as storage modifiers.
20 | Pulled Bonsak's fix for the build command on OSX.
21 |
22 |
23 | Version 1.3.0
24 | ==================================================================================================
25 | Houdini version 15.0 update.
26 |
27 | Changes:
28 | Functions added:
29 | addvisualizer,agentaddclip,assert_enabled,attrib,attribclass,error,expand_udim,
30 | fuzzify,fuzzy_and,fuzzy_defuzz_centroid,fuzzy_nand,fuzzy_nor,fuzzy_not,fuzzy_nxor,
31 | fuzzy_or,fuzzy_xor,getattrib,getsmoothP,hasattrib,idtopoint,idtoprim,invertexgroup,
32 | nametopoint,nametoprim,nvertices,nverticesgroup,opdigits,opfullpath,pgfind,print_once,
33 | product,relativepath,resample_linear,setvertexgroup,smoothrotation,splitpath,sum,
34 | uvunwrap,warning
35 |
36 | Snippets:
37 | 1) Fixed PC Iterate typo.
38 |
39 |
40 | Version 1.2.0
41 | ==================================================================================================
42 | Houdini version 14.0 update.
43 |
44 | Changes:
45 | Contexts:
46 | 1) Renamed cop to cop2 (still 11 total as before).
47 |
48 | Keywords:
49 | 2) Added illuminance (was incorrectly listed as a function).
50 |
51 | Types:
52 | 1) Added matrix2 for houdini 14 (vector2 was already in the definition).
53 |
54 | Functions:
55 | 1) Removed gather/illuminance as they are technically special control structures.
56 | 2) Updated definitions for Houdini 14 (600+ function names now).
57 |
58 | Completions:
59 | 1) Basic completions for all functions.
60 | 2) The python script which queries vcc to generate this data is included.
61 |
62 | Snippets:
63 | 1) Cleanup on pcopen and for/foreach snippets.
64 |
65 | Development:
66 | 1) Definitions are now developed in yaml instead of JSON. Still using AAA package dev.
67 | 2) Project reorganized. Python files moved to 'src' directory.
68 | 3) Python utility for querying vcc and generating completions for all functions and
69 | overloads.
70 |
71 | Todo:
72 | 1) Special treatment of global variables?
73 | 2) Context in function hints and possibly completions without arguments first.
74 | 3) Fix 'void' completions.
75 | 4) Vex wrangle syntax definition.
76 | 5) Snippets for context skeletons.
77 |
78 |
79 | Version 1.1.0
80 | ==================================================================================================
81 | Houdini version 13 update.
82 |
83 |
84 | Version 1.0.0
85 | ==================================================================================================
86 | Houdini version 12 supported, initial public release.
87 |
--------------------------------------------------------------------------------
/CONTRIBUTORS.txt:
--------------------------------------------------------------------------------
1 | Shawn Lipowski
2 | Bonsak Schiledrop
--------------------------------------------------------------------------------
/Comments.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 | source.vex
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | //
18 |
19 |
20 | name
21 | TM_COMMENT_START_2
22 | value
23 | /*
24 |
25 |
26 | name
27 | TM_COMMENT_END_2
28 | value
29 | */
30 |
31 |
32 | name
33 | TM_COMMENT_DISABLE_INDENT_2
34 | value
35 | yes
36 |
37 |
38 |
39 | uuid
40 | b041c7c3-55e4-4080-a5c0-71c7983bf66c
41 |
42 |
43 |
--------------------------------------------------------------------------------
/For Int Loop.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | for
4 | source.vex
5 | For Loop (int)
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/Foreach Loop.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | foreach
4 | source.vex
5 | Foreach Loop
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (C) 2014 Shawn Lipowski
2 |
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9 |
--------------------------------------------------------------------------------
/Point Cloud Iterate Excluding Search Point VEXpression.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | source.vex
4 | Point Cloud Iterate Excluding Search Point (VEXpression)
5 |
24 |
25 |
--------------------------------------------------------------------------------
/Point Cloud Iterate Excluding Search Point.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | source.vex
4 | Point Cloud Iterate Excluding Search Point (VEX)
5 |
24 |
25 |
--------------------------------------------------------------------------------
/Point Cloud Iterate VEXpression.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | source.vex
4 | Point Cloud Iterate (VEXpression)
5 |
19 |
20 |
--------------------------------------------------------------------------------
/Point Cloud Iterate.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
3 | source.vex
4 | Point Cloud Iterate (VEX)
5 |
19 |
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # VEX Syntax
2 |
3 | A [Sublime Text][3] package for Sidefx Software's VEX language which is used in the procedural visual effects software Houdini. With the Monokai color scheme selected:
4 |
5 |
6 |
7 |
8 |
9 | ### Installation
10 |
11 | #### [Package Control][2]
12 |
13 | Open the Command Palette (Shift-Cmd-P in OS X, Shift-Ctrl-P in Linux/Windows).
14 | Select "Package Control: Install Package". Find and install VEX Syntax.
15 |
16 | Package Control will automatically keep VEX Syntax up to date.
17 |
18 | #### Manual Installation
19 |
20 | First you must locate the Sublime Text [packages folder][1], then:
21 |
22 | Manual installation via git:
23 |
24 | cd /path/to/sublime/packages/folder
25 | git clone https://github.com/WhileRomeBurns/VEX_Syntax VEX_Syntax
26 |
27 | Manual installation without git:
28 |
29 | cd /path/to/sublime/packages/folder
30 | curl -L https://github.com/WhileRomeBurns/VEX_Syntax/tarball/master | tar xf -
31 |
32 | ### Contributing
33 |
34 | You can send pull requests via GitHub. Do *not* edit the `VEX.tmLanguage` file directly. Edit the `VEX.YAML-tmLanguage` file instead and build the `.tmLanguage` file
35 | from it using the _YAML to Property List_ build tool in
36 | [AAAPackageDev][4].
37 |
38 | ### License (MIT)
39 |
40 | **Copyright © 2015 Shawn Lipowski**
41 |
42 | ```
43 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44 |
45 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
46 |
47 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48 | ```
49 |
50 | [1]: http://docs.sublimetext.info/en/latest/basic_concepts.html#the-packages-directory
51 | [2]: http://wbond.net/sublime_packages/package_control
52 | [3]: http://www.sublimetext.com/
53 | [4]: https://github.com/SublimeText/AAAPackageDev
54 |
--------------------------------------------------------------------------------
/VEX Build and Run.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "cmd": ["python", "-u", "$packages/VEX Syntax/src/compile_and_run.py", "$file", "True"],
3 | "shell": true,
4 | "selector": "source.vex"
5 | }
6 |
--------------------------------------------------------------------------------
/VEX Build.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "cmd": ["python", "-u", "$packages/VEX Syntax/src/compile_and_run.py", "$file"],
3 | "shell": true,
4 | "selector": "source.vex",
5 | "osx":
6 | {
7 | "cmd": ["/Library/Frameworks/Houdini.framework/Versions/CUrrent/Resources/bin/vcc '${file}' -o '${file_path}/${file_base_name}.vex'"]
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/VEX.YAML-tmLanguage:
--------------------------------------------------------------------------------
1 | # [PackageDev] target_format: plist, ext: tmLanguage
2 | name: VEX
3 | scopeName: source.vex
4 | fileTypes: [vfl]
5 | uuid: edd78512-59d9-4cb6-9733-a6adcc972160
6 |
7 | patterns:
8 | - comment: Defines the context of the VEX code.
9 | begin: \b(chop|cop2|cvex|displace|fog|image3d|light|pop|shadow|sop|surface)\b
10 | beginCaptures:
11 | '1': {name: keyword.context.vex}
12 | end: \b(\w*)\s?(\()
13 | endCaptures:
14 | '1': {name: entity.name.class.vex}
15 | '2': {name: punctuation.group.vex}
16 |
17 | - name: keyword.control.vex
18 | match: \b(break|continue|do|else|for|foreach|forpoints|function|gather|if|illuminance|return|while)\b
19 |
20 | - name: storage.modifier.vex
21 | match: \b(const|export)\b
22 |
23 | - name: storage.type.builtin.vex
24 | match: \b(bsdf|char|color|float|int|integer|matrix|matrix2|matrix3|matrix4|normal|string|struct|typedef|union|vector|vector2|vector4|void)\b
25 |
26 | - match: \b(Du|Dv|Dw|abs|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentclipcatalog|agentclipchannel|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentcliptimes|agentcliptransformgroups|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigparent|agenttransformcount|agenttransformgroupmember|agenttransformgroups|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch3|ch4|chattr|chend|chendf|chendt|chf|chi|chindex|chinput|chname|chnumchan|chp|chr|chramp|chrate|chreadbuf|chresizebuf|chs|chsetattr|chsraw|chstart|chstartf|chstartt|chv|chwritebuf|cinput|ckspline|clamp|clip|colormap|colorname|computenormal|concat|cone|cos|cosh|cracktransform|create_cdf|create_pdf|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|efit|eigenvalues|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandedgegroup|expandpointgroup|expandprimgroup|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|geounwrap|getattrib|getattribute|getbbox|getbbox_center|getbbox_max|getbbox_min|getbbox_size|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getgroupid|getlight|getlightid|getlightname|getlights|getlightscope|getlocalcurvature|getmaterial|getmaterialid|getobjectid|getobjectname|getphotonlight|getpointbbox|getpointbbox_center|getpointbbox_max|getpointbbox_min|getpointbbox_size|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvtangents|gradient|hair|hasattrib|hasdetailattrib|haslight|hasmetadata|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|inedgegroup|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightbounces|lightid|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metadata|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|nedgesgroup|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|ninputs|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|occlusion|ocean_sample|ocio_import|ocio_spaces|ocio_transform|onoise|opdigits|opend|opfullpath|opparentbonetransform|opparenttransform|opparmtransform|oppreconstrainttransform|oppretransform|opstart|optransform|ord|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_lookupface|osd_lookuppatch|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|pathtrace|pcclose|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsize|pcunshaded|pcwrite|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planepointdistance|planesize|planesphereintersect|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|pop|pow|predicate_incircle|predicate_insphere|predicate_orient2d|predicate_orient3d|prim|prim_attribute|prim_normal|primarclen|primattrib|primattribsize|primattribtype|primattribtypeinfo|primduv|primfind|primhedge|primintrinsic|primpoint|primpoints|primuv|primuvconvert|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|radians|rand|random|random_fhash|random_ihash|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_cdf|sample_circle_arc|sample_circle_edge_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_uniform|sampledisk|scale|scatter|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentclipnames|setagentclips|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setedgegroup|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solid_angle|solvecubic|solvepoly|solvequadratic|sort|specular|specularBRDF|spline|split|split_bsdf|splitpath|sprintf|sqrt|sssapprox|startswith|storelightexport|strip|strlen|sum|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|unpack_intfromsafefloat|unserialize|upush|uvdist|uvintersect|uvsample|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|volumevoxeldiameter|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
27 | captures:
28 | '1': {name: support.function.library.vex}
29 | '2': {name: punctuation.group.vex}
30 |
31 | - name: meta.method.identifier.vex
32 | begin: (\w+)\s*\(
33 | beginCaptures:
34 | '1': {name: entity.name.function.vex}
35 | end: \)
36 | patterns:
37 | - include: $self
38 |
39 | - name: constant.numeric.vex
40 | match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
41 |
42 | - match: \s*((#define|#else|#endif|#ifndef|#ifdef|#if|#include|#pragma|#undef).*$\n?)
43 | captures:
44 | '1': {name: comment.block.preprocessor.vex}
45 | '2': {name: keyword.preprocessor.vex}
46 |
47 | - name: string.quoted.double.vex
48 | begin: '"'
49 | beginCaptures:
50 | '1': {name: punctuation.definition.string.begin.vex}
51 | end: '"'
52 | endCaptures:
53 | '1': {name: punctuation.definition.string.end.vex}
54 | patterns:
55 | - name: constant.character.escape.vex
56 | match: \\.
57 |
58 | - match: \s*((//).*$\n?)
59 | captures:
60 | '1': {name: comment.line.double-slash.vex}
61 | '2': {name: punctuation.definition.comment.vex}
62 |
63 | - name: comment.block.vex
64 | begin: /\*
65 | end: \*/
66 | captures:
67 | '1': {name: punctuation.definition.comment.vex}
68 |
69 | - name: punctuation.group.vex
70 | match: \(|\)|,|:|;
71 |
72 | - name: keyword.operator.vex
73 | match: \+\+?|--?|\*|@|\^=?|\|\|?|\|=|&&?|&=|%=?|!=?|==?|~=?|<=?|>=?|\+=|\*=|-=|\/=?
74 |
75 | - name: constant.language
76 | match: \b(LN10|LN2|LOG10E|LOG2E|PI|PI_2|PI_4|SQRT1_2|SQRT2|TOLERANCE)\b
77 | foldingStartMarker: (\{\s*(//.*)?$|^\s*// \{\{\{)
78 | foldingStopMarker: ^\s*(\}|// \}\}\}$)
79 |
--------------------------------------------------------------------------------
/VEX.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "completions": [
3 | {
4 | "contents": "Du(${1})",
5 | "trigger": "Du\tfunction"
6 | },
7 | {
8 | "contents": "Dv(${1})",
9 | "trigger": "Dv\tfunction"
10 | },
11 | {
12 | "contents": "Dw(${1})",
13 | "trigger": "Dw\tfunction"
14 | },
15 | {
16 | "contents": "abs(${1})",
17 | "trigger": "abs\tfunction"
18 | },
19 | {
20 | "contents": "accessframe(${1})",
21 | "trigger": "accessframe\tfunction"
22 | },
23 | {
24 | "contents": "acos(${1})",
25 | "trigger": "acos\tfunction"
26 | },
27 | {
28 | "contents": "addattrib(${1})",
29 | "trigger": "addattrib\tfunction"
30 | },
31 | {
32 | "contents": "addattribute(${1})",
33 | "trigger": "addattribute\tfunction"
34 | },
35 | {
36 | "contents": "adddetailattrib(${1})",
37 | "trigger": "adddetailattrib\tfunction"
38 | },
39 | {
40 | "contents": "addgroup(${1})",
41 | "trigger": "addgroup\tfunction"
42 | },
43 | {
44 | "contents": "addpoint(${1})",
45 | "trigger": "addpoint\tfunction"
46 | },
47 | {
48 | "contents": "addpointattrib(${1})",
49 | "trigger": "addpointattrib\tfunction"
50 | },
51 | {
52 | "contents": "addprim(${1})",
53 | "trigger": "addprim\tfunction"
54 | },
55 | {
56 | "contents": "addprimattrib(${1})",
57 | "trigger": "addprimattrib\tfunction"
58 | },
59 | {
60 | "contents": "addvariablename(${1})",
61 | "trigger": "addvariablename\tfunction"
62 | },
63 | {
64 | "contents": "addvertex(${1})",
65 | "trigger": "addvertex\tfunction"
66 | },
67 | {
68 | "contents": "addvertexattrib(${1})",
69 | "trigger": "addvertexattrib\tfunction"
70 | },
71 | {
72 | "contents": "addvisualizer(${1})",
73 | "trigger": "addvisualizer\tfunction"
74 | },
75 | {
76 | "contents": "agentaddclip(${1})",
77 | "trigger": "agentaddclip\tfunction"
78 | },
79 | {
80 | "contents": "agentclipcatalog(${1})",
81 | "trigger": "agentclipcatalog\tfunction"
82 | },
83 | {
84 | "contents": "agentclipchannel(${1})",
85 | "trigger": "agentclipchannel\tfunction"
86 | },
87 | {
88 | "contents": "agentcliplength(${1})",
89 | "trigger": "agentcliplength\tfunction"
90 | },
91 | {
92 | "contents": "agentclipnames(${1})",
93 | "trigger": "agentclipnames\tfunction"
94 | },
95 | {
96 | "contents": "agentclipsample(${1})",
97 | "trigger": "agentclipsample\tfunction"
98 | },
99 | {
100 | "contents": "agentclipsamplelocal(${1})",
101 | "trigger": "agentclipsamplelocal\tfunction"
102 | },
103 | {
104 | "contents": "agentclipsamplerate(${1})",
105 | "trigger": "agentclipsamplerate\tfunction"
106 | },
107 | {
108 | "contents": "agentclipsampleworld(${1})",
109 | "trigger": "agentclipsampleworld\tfunction"
110 | },
111 | {
112 | "contents": "agentcliptimes(${1})",
113 | "trigger": "agentcliptimes\tfunction"
114 | },
115 | {
116 | "contents": "agentcliptransformgroups(${1})",
117 | "trigger": "agentcliptransformgroups\tfunction"
118 | },
119 | {
120 | "contents": "agentclipweights(${1})",
121 | "trigger": "agentclipweights\tfunction"
122 | },
123 | {
124 | "contents": "agentcollisionlayer(${1})",
125 | "trigger": "agentcollisionlayer\tfunction"
126 | },
127 | {
128 | "contents": "agentcurrentlayer(${1})",
129 | "trigger": "agentcurrentlayer\tfunction"
130 | },
131 | {
132 | "contents": "agentlayerbindings(${1})",
133 | "trigger": "agentlayerbindings\tfunction"
134 | },
135 | {
136 | "contents": "agentlayers(${1})",
137 | "trigger": "agentlayers\tfunction"
138 | },
139 | {
140 | "contents": "agentlayershapes(${1})",
141 | "trigger": "agentlayershapes\tfunction"
142 | },
143 | {
144 | "contents": "agentlocaltransform(${1})",
145 | "trigger": "agentlocaltransform\tfunction"
146 | },
147 | {
148 | "contents": "agentlocaltransforms(${1})",
149 | "trigger": "agentlocaltransforms\tfunction"
150 | },
151 | {
152 | "contents": "agentrigchildren(${1})",
153 | "trigger": "agentrigchildren\tfunction"
154 | },
155 | {
156 | "contents": "agentrigfind(${1})",
157 | "trigger": "agentrigfind\tfunction"
158 | },
159 | {
160 | "contents": "agentrigparent(${1})",
161 | "trigger": "agentrigparent\tfunction"
162 | },
163 | {
164 | "contents": "agenttransformcount(${1})",
165 | "trigger": "agenttransformcount\tfunction"
166 | },
167 | {
168 | "contents": "agenttransformgroupmember(${1})",
169 | "trigger": "agenttransformgroupmember\tfunction"
170 | },
171 | {
172 | "contents": "agenttransformgroups(${1})",
173 | "trigger": "agenttransformgroups\tfunction"
174 | },
175 | {
176 | "contents": "agenttransformnames(${1})",
177 | "trigger": "agenttransformnames\tfunction"
178 | },
179 | {
180 | "contents": "agenttransformtolocal(${1})",
181 | "trigger": "agenttransformtolocal\tfunction"
182 | },
183 | {
184 | "contents": "agenttransformtoworld(${1})",
185 | "trigger": "agenttransformtoworld\tfunction"
186 | },
187 | {
188 | "contents": "agentworldtransform(${1})",
189 | "trigger": "agentworldtransform\tfunction"
190 | },
191 | {
192 | "contents": "agentworldtransforms(${1})",
193 | "trigger": "agentworldtransforms\tfunction"
194 | },
195 | {
196 | "contents": "albedo(${1})",
197 | "trigger": "albedo\tfunction"
198 | },
199 | {
200 | "contents": "alphaname(${1})",
201 | "trigger": "alphaname\tfunction"
202 | },
203 | {
204 | "contents": "ambient(${1})",
205 | "trigger": "ambient\tfunction"
206 | },
207 | {
208 | "contents": "anoise(${1})",
209 | "trigger": "anoise\tfunction"
210 | },
211 | {
212 | "contents": "append(${1})",
213 | "trigger": "append\tfunction"
214 | },
215 | {
216 | "contents": "area(${1})",
217 | "trigger": "area\tfunction"
218 | },
219 | {
220 | "contents": "argsort(${1})",
221 | "trigger": "argsort\tfunction"
222 | },
223 | {
224 | "contents": "array(${1})",
225 | "trigger": "array\tfunction"
226 | },
227 | {
228 | "contents": "ashikhmin(${1})",
229 | "trigger": "ashikhmin\tfunction"
230 | },
231 | {
232 | "contents": "asin(${1})",
233 | "trigger": "asin\tfunction"
234 | },
235 | {
236 | "contents": "assert_enabled(${1})",
237 | "trigger": "assert_enabled\tfunction"
238 | },
239 | {
240 | "contents": "assign(${1})",
241 | "trigger": "assign\tfunction"
242 | },
243 | {
244 | "contents": "atan(${1})",
245 | "trigger": "atan\tfunction"
246 | },
247 | {
248 | "contents": "atan2(${1})",
249 | "trigger": "atan2\tfunction"
250 | },
251 | {
252 | "contents": "atof(${1})",
253 | "trigger": "atof\tfunction"
254 | },
255 | {
256 | "contents": "atoi(${1})",
257 | "trigger": "atoi\tfunction"
258 | },
259 | {
260 | "contents": "atten(${1})",
261 | "trigger": "atten\tfunction"
262 | },
263 | {
264 | "contents": "attrib(${1})",
265 | "trigger": "attrib\tfunction"
266 | },
267 | {
268 | "contents": "attribclass(${1})",
269 | "trigger": "attribclass\tfunction"
270 | },
271 | {
272 | "contents": "attribsize(${1})",
273 | "trigger": "attribsize\tfunction"
274 | },
275 | {
276 | "contents": "attribtype(${1})",
277 | "trigger": "attribtype\tfunction"
278 | },
279 | {
280 | "contents": "attribtypeinfo(${1})",
281 | "trigger": "attribtypeinfo\tfunction"
282 | },
283 | {
284 | "contents": "avg(${1})",
285 | "trigger": "avg\tfunction"
286 | },
287 | {
288 | "contents": "binput(${1})",
289 | "trigger": "binput\tfunction"
290 | },
291 | {
292 | "contents": "blackbody(${1})",
293 | "trigger": "blackbody\tfunction"
294 | },
295 | {
296 | "contents": "blinn(${1})",
297 | "trigger": "blinn\tfunction"
298 | },
299 | {
300 | "contents": "blinnBRDF(${1})",
301 | "trigger": "blinnBRDF\tfunction"
302 | },
303 | {
304 | "contents": "bouncelabel(${1})",
305 | "trigger": "bouncelabel\tfunction"
306 | },
307 | {
308 | "contents": "bouncemask(${1})",
309 | "trigger": "bouncemask\tfunction"
310 | },
311 | {
312 | "contents": "bumpmap(${1})",
313 | "trigger": "bumpmap\tfunction"
314 | },
315 | {
316 | "contents": "bumpmapA(${1})",
317 | "trigger": "bumpmapA\tfunction"
318 | },
319 | {
320 | "contents": "bumpmapB(${1})",
321 | "trigger": "bumpmapB\tfunction"
322 | },
323 | {
324 | "contents": "bumpmapG(${1})",
325 | "trigger": "bumpmapG\tfunction"
326 | },
327 | {
328 | "contents": "bumpmapL(${1})",
329 | "trigger": "bumpmapL\tfunction"
330 | },
331 | {
332 | "contents": "bumpmapR(${1})",
333 | "trigger": "bumpmapR\tfunction"
334 | },
335 | {
336 | "contents": "bumpname(${1})",
337 | "trigger": "bumpname\tfunction"
338 | },
339 | {
340 | "contents": "cbrt(${1})",
341 | "trigger": "cbrt\tfunction"
342 | },
343 | {
344 | "contents": "ceil(${1})",
345 | "trigger": "ceil\tfunction"
346 | },
347 | {
348 | "contents": "ch(${1})",
349 | "trigger": "ch\tfunction"
350 | },
351 | {
352 | "contents": "ch3(${1})",
353 | "trigger": "ch3\tfunction"
354 | },
355 | {
356 | "contents": "ch4(${1})",
357 | "trigger": "ch4\tfunction"
358 | },
359 | {
360 | "contents": "chattr(${1})",
361 | "trigger": "chattr\tfunction"
362 | },
363 | {
364 | "contents": "chend(${1})",
365 | "trigger": "chend\tfunction"
366 | },
367 | {
368 | "contents": "chendf(${1})",
369 | "trigger": "chendf\tfunction"
370 | },
371 | {
372 | "contents": "chendt(${1})",
373 | "trigger": "chendt\tfunction"
374 | },
375 | {
376 | "contents": "chf(${1})",
377 | "trigger": "chf\tfunction"
378 | },
379 | {
380 | "contents": "chi(${1})",
381 | "trigger": "chi\tfunction"
382 | },
383 | {
384 | "contents": "chindex(${1})",
385 | "trigger": "chindex\tfunction"
386 | },
387 | {
388 | "contents": "chinput(${1})",
389 | "trigger": "chinput\tfunction"
390 | },
391 | {
392 | "contents": "chname(${1})",
393 | "trigger": "chname\tfunction"
394 | },
395 | {
396 | "contents": "chnumchan(${1})",
397 | "trigger": "chnumchan\tfunction"
398 | },
399 | {
400 | "contents": "chp(${1})",
401 | "trigger": "chp\tfunction"
402 | },
403 | {
404 | "contents": "chr(${1})",
405 | "trigger": "chr\tfunction"
406 | },
407 | {
408 | "contents": "chramp(${1})",
409 | "trigger": "chramp\tfunction"
410 | },
411 | {
412 | "contents": "chrate(${1})",
413 | "trigger": "chrate\tfunction"
414 | },
415 | {
416 | "contents": "chreadbuf(${1})",
417 | "trigger": "chreadbuf\tfunction"
418 | },
419 | {
420 | "contents": "chresizebuf(${1})",
421 | "trigger": "chresizebuf\tfunction"
422 | },
423 | {
424 | "contents": "chs(${1})",
425 | "trigger": "chs\tfunction"
426 | },
427 | {
428 | "contents": "chsetattr(${1})",
429 | "trigger": "chsetattr\tfunction"
430 | },
431 | {
432 | "contents": "chsraw(${1})",
433 | "trigger": "chsraw\tfunction"
434 | },
435 | {
436 | "contents": "chstart(${1})",
437 | "trigger": "chstart\tfunction"
438 | },
439 | {
440 | "contents": "chstartf(${1})",
441 | "trigger": "chstartf\tfunction"
442 | },
443 | {
444 | "contents": "chstartt(${1})",
445 | "trigger": "chstartt\tfunction"
446 | },
447 | {
448 | "contents": "chv(${1})",
449 | "trigger": "chv\tfunction"
450 | },
451 | {
452 | "contents": "chwritebuf(${1})",
453 | "trigger": "chwritebuf\tfunction"
454 | },
455 | {
456 | "contents": "cinput(${1})",
457 | "trigger": "cinput\tfunction"
458 | },
459 | {
460 | "contents": "ckspline(${1})",
461 | "trigger": "ckspline\tfunction"
462 | },
463 | {
464 | "contents": "clamp(${1})",
465 | "trigger": "clamp\tfunction"
466 | },
467 | {
468 | "contents": "clip(${1})",
469 | "trigger": "clip\tfunction"
470 | },
471 | {
472 | "contents": "colormap(${1})",
473 | "trigger": "colormap\tfunction"
474 | },
475 | {
476 | "contents": "colorname(${1})",
477 | "trigger": "colorname\tfunction"
478 | },
479 | {
480 | "contents": "computenormal(${1})",
481 | "trigger": "computenormal\tfunction"
482 | },
483 | {
484 | "contents": "concat(${1})",
485 | "trigger": "concat\tfunction"
486 | },
487 | {
488 | "contents": "cone(${1})",
489 | "trigger": "cone\tfunction"
490 | },
491 | {
492 | "contents": "cos(${1})",
493 | "trigger": "cos\tfunction"
494 | },
495 | {
496 | "contents": "cosh(${1})",
497 | "trigger": "cosh\tfunction"
498 | },
499 | {
500 | "contents": "cracktransform(${1})",
501 | "trigger": "cracktransform\tfunction"
502 | },
503 | {
504 | "contents": "create_cdf(${1})",
505 | "trigger": "create_cdf\tfunction"
506 | },
507 | {
508 | "contents": "create_pdf(${1})",
509 | "trigger": "create_pdf\tfunction"
510 | },
511 | {
512 | "contents": "cross(${1})",
513 | "trigger": "cross\tfunction"
514 | },
515 | {
516 | "contents": "cspline(${1})",
517 | "trigger": "cspline\tfunction"
518 | },
519 | {
520 | "contents": "ctransform(${1})",
521 | "trigger": "ctransform\tfunction"
522 | },
523 | {
524 | "contents": "curlnoise(${1})",
525 | "trigger": "curlnoise\tfunction"
526 | },
527 | {
528 | "contents": "curlnoise2d(${1})",
529 | "trigger": "curlnoise2d\tfunction"
530 | },
531 | {
532 | "contents": "curlxnoise(${1})",
533 | "trigger": "curlxnoise\tfunction"
534 | },
535 | {
536 | "contents": "curlxnoise2d(${1})",
537 | "trigger": "curlxnoise2d\tfunction"
538 | },
539 | {
540 | "contents": "cvex_bsdf(${1})",
541 | "trigger": "cvex_bsdf\tfunction"
542 | },
543 | {
544 | "contents": "degrees(${1})",
545 | "trigger": "degrees\tfunction"
546 | },
547 | {
548 | "contents": "depthmap(${1})",
549 | "trigger": "depthmap\tfunction"
550 | },
551 | {
552 | "contents": "depthname(${1})",
553 | "trigger": "depthname\tfunction"
554 | },
555 | {
556 | "contents": "detail(${1})",
557 | "trigger": "detail\tfunction"
558 | },
559 | {
560 | "contents": "detailattrib(${1})",
561 | "trigger": "detailattrib\tfunction"
562 | },
563 | {
564 | "contents": "detailattribsize(${1})",
565 | "trigger": "detailattribsize\tfunction"
566 | },
567 | {
568 | "contents": "detailattribtype(${1})",
569 | "trigger": "detailattribtype\tfunction"
570 | },
571 | {
572 | "contents": "detailattribtypeinfo(${1})",
573 | "trigger": "detailattribtypeinfo\tfunction"
574 | },
575 | {
576 | "contents": "detailintrinsic(${1})",
577 | "trigger": "detailintrinsic\tfunction"
578 | },
579 | {
580 | "contents": "determinant(${1})",
581 | "trigger": "determinant\tfunction"
582 | },
583 | {
584 | "contents": "diffuse(${1})",
585 | "trigger": "diffuse\tfunction"
586 | },
587 | {
588 | "contents": "diffuseBRDF(${1})",
589 | "trigger": "diffuseBRDF\tfunction"
590 | },
591 | {
592 | "contents": "dihedral(${1})",
593 | "trigger": "dihedral\tfunction"
594 | },
595 | {
596 | "contents": "dimport(${1})",
597 | "trigger": "dimport\tfunction"
598 | },
599 | {
600 | "contents": "distance(${1})",
601 | "trigger": "distance\tfunction"
602 | },
603 | {
604 | "contents": "distance2(${1})",
605 | "trigger": "distance2\tfunction"
606 | },
607 | {
608 | "contents": "dot(${1})",
609 | "trigger": "dot\tfunction"
610 | },
611 | {
612 | "contents": "dsmpixel(${1})",
613 | "trigger": "dsmpixel\tfunction"
614 | },
615 | {
616 | "contents": "efit(${1})",
617 | "trigger": "efit\tfunction"
618 | },
619 | {
620 | "contents": "eigenvalues(${1})",
621 | "trigger": "eigenvalues\tfunction"
622 | },
623 | {
624 | "contents": "endswith(${1})",
625 | "trigger": "endswith\tfunction"
626 | },
627 | {
628 | "contents": "environment(${1})",
629 | "trigger": "environment\tfunction"
630 | },
631 | {
632 | "contents": "erf(${1})",
633 | "trigger": "erf\tfunction"
634 | },
635 | {
636 | "contents": "erf_inv(${1})",
637 | "trigger": "erf_inv\tfunction"
638 | },
639 | {
640 | "contents": "erfc(${1})",
641 | "trigger": "erfc\tfunction"
642 | },
643 | {
644 | "contents": "error(${1})",
645 | "trigger": "error\tfunction"
646 | },
647 | {
648 | "contents": "eulertoquaternion(${1})",
649 | "trigger": "eulertoquaternion\tfunction"
650 | },
651 | {
652 | "contents": "eval_bsdf(${1})",
653 | "trigger": "eval_bsdf\tfunction"
654 | },
655 | {
656 | "contents": "exp(${1})",
657 | "trigger": "exp\tfunction"
658 | },
659 | {
660 | "contents": "expand_udim(${1})",
661 | "trigger": "expand_udim\tfunction"
662 | },
663 | {
664 | "contents": "expandedgegroup(${1})",
665 | "trigger": "expandedgegroup\tfunction"
666 | },
667 | {
668 | "contents": "expandpointgroup(${1})",
669 | "trigger": "expandpointgroup\tfunction"
670 | },
671 | {
672 | "contents": "expandprimgroup(${1})",
673 | "trigger": "expandprimgroup\tfunction"
674 | },
675 | {
676 | "contents": "fastshadow(${1})",
677 | "trigger": "fastshadow\tfunction"
678 | },
679 | {
680 | "contents": "filamentsample(${1})",
681 | "trigger": "filamentsample\tfunction"
682 | },
683 | {
684 | "contents": "file_stat(${1})",
685 | "trigger": "file_stat\tfunction"
686 | },
687 | {
688 | "contents": "filtershadow(${1})",
689 | "trigger": "filtershadow\tfunction"
690 | },
691 | {
692 | "contents": "filterstep(${1})",
693 | "trigger": "filterstep\tfunction"
694 | },
695 | {
696 | "contents": "find(${1})",
697 | "trigger": "find\tfunction"
698 | },
699 | {
700 | "contents": "findattribval(${1})",
701 | "trigger": "findattribval\tfunction"
702 | },
703 | {
704 | "contents": "findattribvalcount(${1})",
705 | "trigger": "findattribvalcount\tfunction"
706 | },
707 | {
708 | "contents": "finput(${1})",
709 | "trigger": "finput\tfunction"
710 | },
711 | {
712 | "contents": "fit(${1})",
713 | "trigger": "fit\tfunction"
714 | },
715 | {
716 | "contents": "fit01(${1})",
717 | "trigger": "fit01\tfunction"
718 | },
719 | {
720 | "contents": "fit10(${1})",
721 | "trigger": "fit10\tfunction"
722 | },
723 | {
724 | "contents": "fit11(${1})",
725 | "trigger": "fit11\tfunction"
726 | },
727 | {
728 | "contents": "floor(${1})",
729 | "trigger": "floor\tfunction"
730 | },
731 | {
732 | "contents": "flownoise(${1})",
733 | "trigger": "flownoise\tfunction"
734 | },
735 | {
736 | "contents": "flowpnoise(${1})",
737 | "trigger": "flowpnoise\tfunction"
738 | },
739 | {
740 | "contents": "frac(${1})",
741 | "trigger": "frac\tfunction"
742 | },
743 | {
744 | "contents": "fresnel(${1})",
745 | "trigger": "fresnel\tfunction"
746 | },
747 | {
748 | "contents": "fromNDC(${1})",
749 | "trigger": "fromNDC\tfunction"
750 | },
751 | {
752 | "contents": "frontface(${1})",
753 | "trigger": "frontface\tfunction"
754 | },
755 | {
756 | "contents": "fuzzify(${1})",
757 | "trigger": "fuzzify\tfunction"
758 | },
759 | {
760 | "contents": "fuzzy_and(${1})",
761 | "trigger": "fuzzy_and\tfunction"
762 | },
763 | {
764 | "contents": "fuzzy_defuzz_centroid(${1})",
765 | "trigger": "fuzzy_defuzz_centroid\tfunction"
766 | },
767 | {
768 | "contents": "fuzzy_nand(${1})",
769 | "trigger": "fuzzy_nand\tfunction"
770 | },
771 | {
772 | "contents": "fuzzy_nor(${1})",
773 | "trigger": "fuzzy_nor\tfunction"
774 | },
775 | {
776 | "contents": "fuzzy_not(${1})",
777 | "trigger": "fuzzy_not\tfunction"
778 | },
779 | {
780 | "contents": "fuzzy_nxor(${1})",
781 | "trigger": "fuzzy_nxor\tfunction"
782 | },
783 | {
784 | "contents": "fuzzy_or(${1})",
785 | "trigger": "fuzzy_or\tfunction"
786 | },
787 | {
788 | "contents": "fuzzy_xor(${1})",
789 | "trigger": "fuzzy_xor\tfunction"
790 | },
791 | {
792 | "contents": "geoself(${1})",
793 | "trigger": "geoself\tfunction"
794 | },
795 | {
796 | "contents": "geounwrap(${1})",
797 | "trigger": "geounwrap\tfunction"
798 | },
799 | {
800 | "contents": "getattrib(${1})",
801 | "trigger": "getattrib\tfunction"
802 | },
803 | {
804 | "contents": "getattribute(${1})",
805 | "trigger": "getattribute\tfunction"
806 | },
807 | {
808 | "contents": "getbbox(${1})",
809 | "trigger": "getbbox\tfunction"
810 | },
811 | {
812 | "contents": "getbbox_center(${1})",
813 | "trigger": "getbbox_center\tfunction"
814 | },
815 | {
816 | "contents": "getbbox_max(${1})",
817 | "trigger": "getbbox_max\tfunction"
818 | },
819 | {
820 | "contents": "getbbox_min(${1})",
821 | "trigger": "getbbox_min\tfunction"
822 | },
823 | {
824 | "contents": "getbbox_size(${1})",
825 | "trigger": "getbbox_size\tfunction"
826 | },
827 | {
828 | "contents": "getblurP(${1})",
829 | "trigger": "getblurP\tfunction"
830 | },
831 | {
832 | "contents": "getbounces(${1})",
833 | "trigger": "getbounces\tfunction"
834 | },
835 | {
836 | "contents": "getbounds(${1})",
837 | "trigger": "getbounds\tfunction"
838 | },
839 | {
840 | "contents": "getcomp(${1})",
841 | "trigger": "getcomp\tfunction"
842 | },
843 | {
844 | "contents": "getcomponents(${1})",
845 | "trigger": "getcomponents\tfunction"
846 | },
847 | {
848 | "contents": "getderiv(${1})",
849 | "trigger": "getderiv\tfunction"
850 | },
851 | {
852 | "contents": "getfogname(${1})",
853 | "trigger": "getfogname\tfunction"
854 | },
855 | {
856 | "contents": "getglobalraylevel(${1})",
857 | "trigger": "getglobalraylevel\tfunction"
858 | },
859 | {
860 | "contents": "getgroupid(${1})",
861 | "trigger": "getgroupid\tfunction"
862 | },
863 | {
864 | "contents": "getlight(${1})",
865 | "trigger": "getlight\tfunction"
866 | },
867 | {
868 | "contents": "getlightid(${1})",
869 | "trigger": "getlightid\tfunction"
870 | },
871 | {
872 | "contents": "getlightname(${1})",
873 | "trigger": "getlightname\tfunction"
874 | },
875 | {
876 | "contents": "getlights(${1})",
877 | "trigger": "getlights\tfunction"
878 | },
879 | {
880 | "contents": "getlightscope(${1})",
881 | "trigger": "getlightscope\tfunction"
882 | },
883 | {
884 | "contents": "getlocalcurvature(${1})",
885 | "trigger": "getlocalcurvature\tfunction"
886 | },
887 | {
888 | "contents": "getmaterial(${1})",
889 | "trigger": "getmaterial\tfunction"
890 | },
891 | {
892 | "contents": "getmaterialid(${1})",
893 | "trigger": "getmaterialid\tfunction"
894 | },
895 | {
896 | "contents": "getobjectid(${1})",
897 | "trigger": "getobjectid\tfunction"
898 | },
899 | {
900 | "contents": "getobjectname(${1})",
901 | "trigger": "getobjectname\tfunction"
902 | },
903 | {
904 | "contents": "getphotonlight(${1})",
905 | "trigger": "getphotonlight\tfunction"
906 | },
907 | {
908 | "contents": "getpointbbox(${1})",
909 | "trigger": "getpointbbox\tfunction"
910 | },
911 | {
912 | "contents": "getpointbbox_center(${1})",
913 | "trigger": "getpointbbox_center\tfunction"
914 | },
915 | {
916 | "contents": "getpointbbox_max(${1})",
917 | "trigger": "getpointbbox_max\tfunction"
918 | },
919 | {
920 | "contents": "getpointbbox_min(${1})",
921 | "trigger": "getpointbbox_min\tfunction"
922 | },
923 | {
924 | "contents": "getpointbbox_size(${1})",
925 | "trigger": "getpointbbox_size\tfunction"
926 | },
927 | {
928 | "contents": "getprimid(${1})",
929 | "trigger": "getprimid\tfunction"
930 | },
931 | {
932 | "contents": "getptextureid(${1})",
933 | "trigger": "getptextureid\tfunction"
934 | },
935 | {
936 | "contents": "getraylevel(${1})",
937 | "trigger": "getraylevel\tfunction"
938 | },
939 | {
940 | "contents": "getrayweight(${1})",
941 | "trigger": "getrayweight\tfunction"
942 | },
943 | {
944 | "contents": "getsamplestore(${1})",
945 | "trigger": "getsamplestore\tfunction"
946 | },
947 | {
948 | "contents": "getscope(${1})",
949 | "trigger": "getscope\tfunction"
950 | },
951 | {
952 | "contents": "getsmoothP(${1})",
953 | "trigger": "getsmoothP\tfunction"
954 | },
955 | {
956 | "contents": "getspace(${1})",
957 | "trigger": "getspace\tfunction"
958 | },
959 | {
960 | "contents": "getuvtangents(${1})",
961 | "trigger": "getuvtangents\tfunction"
962 | },
963 | {
964 | "contents": "gradient(${1})",
965 | "trigger": "gradient\tfunction"
966 | },
967 | {
968 | "contents": "hair(${1})",
969 | "trigger": "hair\tfunction"
970 | },
971 | {
972 | "contents": "hasattrib(${1})",
973 | "trigger": "hasattrib\tfunction"
974 | },
975 | {
976 | "contents": "hasdetailattrib(${1})",
977 | "trigger": "hasdetailattrib\tfunction"
978 | },
979 | {
980 | "contents": "haslight(${1})",
981 | "trigger": "haslight\tfunction"
982 | },
983 | {
984 | "contents": "hasmetadata(${1})",
985 | "trigger": "hasmetadata\tfunction"
986 | },
987 | {
988 | "contents": "hasplane(${1})",
989 | "trigger": "hasplane\tfunction"
990 | },
991 | {
992 | "contents": "haspointattrib(${1})",
993 | "trigger": "haspointattrib\tfunction"
994 | },
995 | {
996 | "contents": "hasprimattrib(${1})",
997 | "trigger": "hasprimattrib\tfunction"
998 | },
999 | {
1000 | "contents": "hasvertexattrib(${1})",
1001 | "trigger": "hasvertexattrib\tfunction"
1002 | },
1003 | {
1004 | "contents": "hedge_dstpoint(${1})",
1005 | "trigger": "hedge_dstpoint\tfunction"
1006 | },
1007 | {
1008 | "contents": "hedge_dstvertex(${1})",
1009 | "trigger": "hedge_dstvertex\tfunction"
1010 | },
1011 | {
1012 | "contents": "hedge_equivcount(${1})",
1013 | "trigger": "hedge_equivcount\tfunction"
1014 | },
1015 | {
1016 | "contents": "hedge_isequiv(${1})",
1017 | "trigger": "hedge_isequiv\tfunction"
1018 | },
1019 | {
1020 | "contents": "hedge_isprimary(${1})",
1021 | "trigger": "hedge_isprimary\tfunction"
1022 | },
1023 | {
1024 | "contents": "hedge_isvalid(${1})",
1025 | "trigger": "hedge_isvalid\tfunction"
1026 | },
1027 | {
1028 | "contents": "hedge_next(${1})",
1029 | "trigger": "hedge_next\tfunction"
1030 | },
1031 | {
1032 | "contents": "hedge_nextequiv(${1})",
1033 | "trigger": "hedge_nextequiv\tfunction"
1034 | },
1035 | {
1036 | "contents": "hedge_postdstpoint(${1})",
1037 | "trigger": "hedge_postdstpoint\tfunction"
1038 | },
1039 | {
1040 | "contents": "hedge_postdstvertex(${1})",
1041 | "trigger": "hedge_postdstvertex\tfunction"
1042 | },
1043 | {
1044 | "contents": "hedge_presrcpoint(${1})",
1045 | "trigger": "hedge_presrcpoint\tfunction"
1046 | },
1047 | {
1048 | "contents": "hedge_presrcvertex(${1})",
1049 | "trigger": "hedge_presrcvertex\tfunction"
1050 | },
1051 | {
1052 | "contents": "hedge_prev(${1})",
1053 | "trigger": "hedge_prev\tfunction"
1054 | },
1055 | {
1056 | "contents": "hedge_prim(${1})",
1057 | "trigger": "hedge_prim\tfunction"
1058 | },
1059 | {
1060 | "contents": "hedge_primary(${1})",
1061 | "trigger": "hedge_primary\tfunction"
1062 | },
1063 | {
1064 | "contents": "hedge_srcpoint(${1})",
1065 | "trigger": "hedge_srcpoint\tfunction"
1066 | },
1067 | {
1068 | "contents": "hedge_srcvertex(${1})",
1069 | "trigger": "hedge_srcvertex\tfunction"
1070 | },
1071 | {
1072 | "contents": "henyeygreenstein(${1})",
1073 | "trigger": "henyeygreenstein\tfunction"
1074 | },
1075 | {
1076 | "contents": "hscript_noise(${1})",
1077 | "trigger": "hscript_noise\tfunction"
1078 | },
1079 | {
1080 | "contents": "hscript_rand(${1})",
1081 | "trigger": "hscript_rand\tfunction"
1082 | },
1083 | {
1084 | "contents": "hscript_snoise(${1})",
1085 | "trigger": "hscript_snoise\tfunction"
1086 | },
1087 | {
1088 | "contents": "hscript_sturb(${1})",
1089 | "trigger": "hscript_sturb\tfunction"
1090 | },
1091 | {
1092 | "contents": "hscript_turb(${1})",
1093 | "trigger": "hscript_turb\tfunction"
1094 | },
1095 | {
1096 | "contents": "hsvtorgb(${1})",
1097 | "trigger": "hsvtorgb\tfunction"
1098 | },
1099 | {
1100 | "contents": "iaspect(${1})",
1101 | "trigger": "iaspect\tfunction"
1102 | },
1103 | {
1104 | "contents": "ichname(${1})",
1105 | "trigger": "ichname\tfunction"
1106 | },
1107 | {
1108 | "contents": "ident(${1})",
1109 | "trigger": "ident\tfunction"
1110 | },
1111 | {
1112 | "contents": "idtopoint(${1})",
1113 | "trigger": "idtopoint\tfunction"
1114 | },
1115 | {
1116 | "contents": "idtoprim(${1})",
1117 | "trigger": "idtoprim\tfunction"
1118 | },
1119 | {
1120 | "contents": "iend(${1})",
1121 | "trigger": "iend\tfunction"
1122 | },
1123 | {
1124 | "contents": "iendtime(${1})",
1125 | "trigger": "iendtime\tfunction"
1126 | },
1127 | {
1128 | "contents": "ihasplane(${1})",
1129 | "trigger": "ihasplane\tfunction"
1130 | },
1131 | {
1132 | "contents": "import(${1})",
1133 | "trigger": "import\tfunction"
1134 | },
1135 | {
1136 | "contents": "inedgegroup(${1})",
1137 | "trigger": "inedgegroup\tfunction"
1138 | },
1139 | {
1140 | "contents": "ingroup(${1})",
1141 | "trigger": "ingroup\tfunction"
1142 | },
1143 | {
1144 | "contents": "inpointgroup(${1})",
1145 | "trigger": "inpointgroup\tfunction"
1146 | },
1147 | {
1148 | "contents": "inprimgroup(${1})",
1149 | "trigger": "inprimgroup\tfunction"
1150 | },
1151 | {
1152 | "contents": "insert(${1})",
1153 | "trigger": "insert\tfunction"
1154 | },
1155 | {
1156 | "contents": "instance(${1})",
1157 | "trigger": "instance\tfunction"
1158 | },
1159 | {
1160 | "contents": "interpolate(${1})",
1161 | "trigger": "interpolate\tfunction"
1162 | },
1163 | {
1164 | "contents": "intersect(${1})",
1165 | "trigger": "intersect\tfunction"
1166 | },
1167 | {
1168 | "contents": "intersect_all(${1})",
1169 | "trigger": "intersect_all\tfunction"
1170 | },
1171 | {
1172 | "contents": "intersect_lights(${1})",
1173 | "trigger": "intersect_lights\tfunction"
1174 | },
1175 | {
1176 | "contents": "inumplanes(${1})",
1177 | "trigger": "inumplanes\tfunction"
1178 | },
1179 | {
1180 | "contents": "invert(${1})",
1181 | "trigger": "invert\tfunction"
1182 | },
1183 | {
1184 | "contents": "invertexgroup(${1})",
1185 | "trigger": "invertexgroup\tfunction"
1186 | },
1187 | {
1188 | "contents": "iplaneindex(${1})",
1189 | "trigger": "iplaneindex\tfunction"
1190 | },
1191 | {
1192 | "contents": "iplanename(${1})",
1193 | "trigger": "iplanename\tfunction"
1194 | },
1195 | {
1196 | "contents": "iplanesize(${1})",
1197 | "trigger": "iplanesize\tfunction"
1198 | },
1199 | {
1200 | "contents": "irate(${1})",
1201 | "trigger": "irate\tfunction"
1202 | },
1203 | {
1204 | "contents": "irradiance(${1})",
1205 | "trigger": "irradiance\tfunction"
1206 | },
1207 | {
1208 | "contents": "isalpha(${1})",
1209 | "trigger": "isalpha\tfunction"
1210 | },
1211 | {
1212 | "contents": "isbound(${1})",
1213 | "trigger": "isbound\tfunction"
1214 | },
1215 | {
1216 | "contents": "isconnected(${1})",
1217 | "trigger": "isconnected\tfunction"
1218 | },
1219 | {
1220 | "contents": "isdigit(${1})",
1221 | "trigger": "isdigit\tfunction"
1222 | },
1223 | {
1224 | "contents": "isfinite(${1})",
1225 | "trigger": "isfinite\tfunction"
1226 | },
1227 | {
1228 | "contents": "isfogray(${1})",
1229 | "trigger": "isfogray\tfunction"
1230 | },
1231 | {
1232 | "contents": "isframes(${1})",
1233 | "trigger": "isframes\tfunction"
1234 | },
1235 | {
1236 | "contents": "isnan(${1})",
1237 | "trigger": "isnan\tfunction"
1238 | },
1239 | {
1240 | "contents": "isotropic(${1})",
1241 | "trigger": "isotropic\tfunction"
1242 | },
1243 | {
1244 | "contents": "israytracing(${1})",
1245 | "trigger": "israytracing\tfunction"
1246 | },
1247 | {
1248 | "contents": "issamples(${1})",
1249 | "trigger": "issamples\tfunction"
1250 | },
1251 | {
1252 | "contents": "isseconds(${1})",
1253 | "trigger": "isseconds\tfunction"
1254 | },
1255 | {
1256 | "contents": "isshadowray(${1})",
1257 | "trigger": "isshadowray\tfunction"
1258 | },
1259 | {
1260 | "contents": "istart(${1})",
1261 | "trigger": "istart\tfunction"
1262 | },
1263 | {
1264 | "contents": "istarttime(${1})",
1265 | "trigger": "istarttime\tfunction"
1266 | },
1267 | {
1268 | "contents": "isuvrendering(${1})",
1269 | "trigger": "isuvrendering\tfunction"
1270 | },
1271 | {
1272 | "contents": "isvalidindex(${1})",
1273 | "trigger": "isvalidindex\tfunction"
1274 | },
1275 | {
1276 | "contents": "isvarying(${1})",
1277 | "trigger": "isvarying\tfunction"
1278 | },
1279 | {
1280 | "contents": "itoa(${1})",
1281 | "trigger": "itoa\tfunction"
1282 | },
1283 | {
1284 | "contents": "ixres(${1})",
1285 | "trigger": "ixres\tfunction"
1286 | },
1287 | {
1288 | "contents": "iyres(${1})",
1289 | "trigger": "iyres\tfunction"
1290 | },
1291 | {
1292 | "contents": "join(${1})",
1293 | "trigger": "join\tfunction"
1294 | },
1295 | {
1296 | "contents": "kspline(${1})",
1297 | "trigger": "kspline\tfunction"
1298 | },
1299 | {
1300 | "contents": "len(${1})",
1301 | "trigger": "len\tfunction"
1302 | },
1303 | {
1304 | "contents": "length(${1})",
1305 | "trigger": "length\tfunction"
1306 | },
1307 | {
1308 | "contents": "length2(${1})",
1309 | "trigger": "length2\tfunction"
1310 | },
1311 | {
1312 | "contents": "lerp(${1})",
1313 | "trigger": "lerp\tfunction"
1314 | },
1315 | {
1316 | "contents": "lightbounces(${1})",
1317 | "trigger": "lightbounces\tfunction"
1318 | },
1319 | {
1320 | "contents": "lightid(${1})",
1321 | "trigger": "lightid\tfunction"
1322 | },
1323 | {
1324 | "contents": "limit_sample_space(${1})",
1325 | "trigger": "limit_sample_space\tfunction"
1326 | },
1327 | {
1328 | "contents": "limport(${1})",
1329 | "trigger": "limport\tfunction"
1330 | },
1331 | {
1332 | "contents": "lkspline(${1})",
1333 | "trigger": "lkspline\tfunction"
1334 | },
1335 | {
1336 | "contents": "log(${1})",
1337 | "trigger": "log\tfunction"
1338 | },
1339 | {
1340 | "contents": "log10(${1})",
1341 | "trigger": "log10\tfunction"
1342 | },
1343 | {
1344 | "contents": "lookat(${1})",
1345 | "trigger": "lookat\tfunction"
1346 | },
1347 | {
1348 | "contents": "lspline(${1})",
1349 | "trigger": "lspline\tfunction"
1350 | },
1351 | {
1352 | "contents": "lstrip(${1})",
1353 | "trigger": "lstrip\tfunction"
1354 | },
1355 | {
1356 | "contents": "luminance(${1})",
1357 | "trigger": "luminance\tfunction"
1358 | },
1359 | {
1360 | "contents": "lumname(${1})",
1361 | "trigger": "lumname\tfunction"
1362 | },
1363 | {
1364 | "contents": "makebasis(${1})",
1365 | "trigger": "makebasis\tfunction"
1366 | },
1367 | {
1368 | "contents": "maketransform(${1})",
1369 | "trigger": "maketransform\tfunction"
1370 | },
1371 | {
1372 | "contents": "maskname(${1})",
1373 | "trigger": "maskname\tfunction"
1374 | },
1375 | {
1376 | "contents": "match(${1})",
1377 | "trigger": "match\tfunction"
1378 | },
1379 | {
1380 | "contents": "matchvex_blinn(${1})",
1381 | "trigger": "matchvex_blinn\tfunction"
1382 | },
1383 | {
1384 | "contents": "matchvex_specular(${1})",
1385 | "trigger": "matchvex_specular\tfunction"
1386 | },
1387 | {
1388 | "contents": "mattrib(${1})",
1389 | "trigger": "mattrib\tfunction"
1390 | },
1391 | {
1392 | "contents": "max(${1})",
1393 | "trigger": "max\tfunction"
1394 | },
1395 | {
1396 | "contents": "mdensity(${1})",
1397 | "trigger": "mdensity\tfunction"
1398 | },
1399 | {
1400 | "contents": "metadata(${1})",
1401 | "trigger": "metadata\tfunction"
1402 | },
1403 | {
1404 | "contents": "metaimport(${1})",
1405 | "trigger": "metaimport\tfunction"
1406 | },
1407 | {
1408 | "contents": "metamarch(${1})",
1409 | "trigger": "metamarch\tfunction"
1410 | },
1411 | {
1412 | "contents": "metanext(${1})",
1413 | "trigger": "metanext\tfunction"
1414 | },
1415 | {
1416 | "contents": "metastart(${1})",
1417 | "trigger": "metastart\tfunction"
1418 | },
1419 | {
1420 | "contents": "metaweight(${1})",
1421 | "trigger": "metaweight\tfunction"
1422 | },
1423 | {
1424 | "contents": "min(${1})",
1425 | "trigger": "min\tfunction"
1426 | },
1427 | {
1428 | "contents": "minpos(${1})",
1429 | "trigger": "minpos\tfunction"
1430 | },
1431 | {
1432 | "contents": "mspace(${1})",
1433 | "trigger": "mspace\tfunction"
1434 | },
1435 | {
1436 | "contents": "nametopoint(${1})",
1437 | "trigger": "nametopoint\tfunction"
1438 | },
1439 | {
1440 | "contents": "nametoprim(${1})",
1441 | "trigger": "nametoprim\tfunction"
1442 | },
1443 | {
1444 | "contents": "nbouncetypes(${1})",
1445 | "trigger": "nbouncetypes\tfunction"
1446 | },
1447 | {
1448 | "contents": "nearpoint(${1})",
1449 | "trigger": "nearpoint\tfunction"
1450 | },
1451 | {
1452 | "contents": "nearpoints(${1})",
1453 | "trigger": "nearpoints\tfunction"
1454 | },
1455 | {
1456 | "contents": "nedgesgroup(${1})",
1457 | "trigger": "nedgesgroup\tfunction"
1458 | },
1459 | {
1460 | "contents": "neighbour(${1})",
1461 | "trigger": "neighbour\tfunction"
1462 | },
1463 | {
1464 | "contents": "neighbourcount(${1})",
1465 | "trigger": "neighbourcount\tfunction"
1466 | },
1467 | {
1468 | "contents": "neighbours(${1})",
1469 | "trigger": "neighbours\tfunction"
1470 | },
1471 | {
1472 | "contents": "newgroup(${1})",
1473 | "trigger": "newgroup\tfunction"
1474 | },
1475 | {
1476 | "contents": "newsampler(${1})",
1477 | "trigger": "newsampler\tfunction"
1478 | },
1479 | {
1480 | "contents": "nextsample(${1})",
1481 | "trigger": "nextsample\tfunction"
1482 | },
1483 | {
1484 | "contents": "ninput(${1})",
1485 | "trigger": "ninput\tfunction"
1486 | },
1487 | {
1488 | "contents": "ninputs(${1})",
1489 | "trigger": "ninputs\tfunction"
1490 | },
1491 | {
1492 | "contents": "noise(${1})",
1493 | "trigger": "noise\tfunction"
1494 | },
1495 | {
1496 | "contents": "noised(${1})",
1497 | "trigger": "noised\tfunction"
1498 | },
1499 | {
1500 | "contents": "normal_bsdf(${1})",
1501 | "trigger": "normal_bsdf\tfunction"
1502 | },
1503 | {
1504 | "contents": "normalize(${1})",
1505 | "trigger": "normalize\tfunction"
1506 | },
1507 | {
1508 | "contents": "normalname(${1})",
1509 | "trigger": "normalname\tfunction"
1510 | },
1511 | {
1512 | "contents": "npoints(${1})",
1513 | "trigger": "npoints\tfunction"
1514 | },
1515 | {
1516 | "contents": "npointsgroup(${1})",
1517 | "trigger": "npointsgroup\tfunction"
1518 | },
1519 | {
1520 | "contents": "nprimitives(${1})",
1521 | "trigger": "nprimitives\tfunction"
1522 | },
1523 | {
1524 | "contents": "nprimitivesgroup(${1})",
1525 | "trigger": "nprimitivesgroup\tfunction"
1526 | },
1527 | {
1528 | "contents": "nrandom(${1})",
1529 | "trigger": "nrandom\tfunction"
1530 | },
1531 | {
1532 | "contents": "ntransform(${1})",
1533 | "trigger": "ntransform\tfunction"
1534 | },
1535 | {
1536 | "contents": "nuniqueval(${1})",
1537 | "trigger": "nuniqueval\tfunction"
1538 | },
1539 | {
1540 | "contents": "nvertices(${1})",
1541 | "trigger": "nvertices\tfunction"
1542 | },
1543 | {
1544 | "contents": "nverticesgroup(${1})",
1545 | "trigger": "nverticesgroup\tfunction"
1546 | },
1547 | {
1548 | "contents": "occlusion(${1})",
1549 | "trigger": "occlusion\tfunction"
1550 | },
1551 | {
1552 | "contents": "ocean_sample(${1})",
1553 | "trigger": "ocean_sample\tfunction"
1554 | },
1555 | {
1556 | "contents": "ocio_import(${1})",
1557 | "trigger": "ocio_import\tfunction"
1558 | },
1559 | {
1560 | "contents": "ocio_spaces(${1})",
1561 | "trigger": "ocio_spaces\tfunction"
1562 | },
1563 | {
1564 | "contents": "ocio_transform(${1})",
1565 | "trigger": "ocio_transform\tfunction"
1566 | },
1567 | {
1568 | "contents": "onoise(${1})",
1569 | "trigger": "onoise\tfunction"
1570 | },
1571 | {
1572 | "contents": "opdigits(${1})",
1573 | "trigger": "opdigits\tfunction"
1574 | },
1575 | {
1576 | "contents": "opend(${1})",
1577 | "trigger": "opend\tfunction"
1578 | },
1579 | {
1580 | "contents": "opfullpath(${1})",
1581 | "trigger": "opfullpath\tfunction"
1582 | },
1583 | {
1584 | "contents": "opparentbonetransform(${1})",
1585 | "trigger": "opparentbonetransform\tfunction"
1586 | },
1587 | {
1588 | "contents": "opparenttransform(${1})",
1589 | "trigger": "opparenttransform\tfunction"
1590 | },
1591 | {
1592 | "contents": "opparmtransform(${1})",
1593 | "trigger": "opparmtransform\tfunction"
1594 | },
1595 | {
1596 | "contents": "oppreconstrainttransform(${1})",
1597 | "trigger": "oppreconstrainttransform\tfunction"
1598 | },
1599 | {
1600 | "contents": "oppretransform(${1})",
1601 | "trigger": "oppretransform\tfunction"
1602 | },
1603 | {
1604 | "contents": "opstart(${1})",
1605 | "trigger": "opstart\tfunction"
1606 | },
1607 | {
1608 | "contents": "optransform(${1})",
1609 | "trigger": "optransform\tfunction"
1610 | },
1611 | {
1612 | "contents": "ord(${1})",
1613 | "trigger": "ord\tfunction"
1614 | },
1615 | {
1616 | "contents": "osd_facecount(${1})",
1617 | "trigger": "osd_facecount\tfunction"
1618 | },
1619 | {
1620 | "contents": "osd_firstpatch(${1})",
1621 | "trigger": "osd_firstpatch\tfunction"
1622 | },
1623 | {
1624 | "contents": "osd_limitsurface(${1})",
1625 | "trigger": "osd_limitsurface\tfunction"
1626 | },
1627 | {
1628 | "contents": "osd_limitsurfacevertex(${1})",
1629 | "trigger": "osd_limitsurfacevertex\tfunction"
1630 | },
1631 | {
1632 | "contents": "osd_lookupface(${1})",
1633 | "trigger": "osd_lookupface\tfunction"
1634 | },
1635 | {
1636 | "contents": "osd_lookuppatch(${1})",
1637 | "trigger": "osd_lookuppatch\tfunction"
1638 | },
1639 | {
1640 | "contents": "osd_patchcount(${1})",
1641 | "trigger": "osd_patchcount\tfunction"
1642 | },
1643 | {
1644 | "contents": "osd_patches(${1})",
1645 | "trigger": "osd_patches\tfunction"
1646 | },
1647 | {
1648 | "contents": "outerproduct(${1})",
1649 | "trigger": "outerproduct\tfunction"
1650 | },
1651 | {
1652 | "contents": "ow_nspace(${1})",
1653 | "trigger": "ow_nspace\tfunction"
1654 | },
1655 | {
1656 | "contents": "ow_space(${1})",
1657 | "trigger": "ow_space\tfunction"
1658 | },
1659 | {
1660 | "contents": "ow_vspace(${1})",
1661 | "trigger": "ow_vspace\tfunction"
1662 | },
1663 | {
1664 | "contents": "pack_inttosafefloat(${1})",
1665 | "trigger": "pack_inttosafefloat\tfunction"
1666 | },
1667 | {
1668 | "contents": "pathtrace(${1})",
1669 | "trigger": "pathtrace\tfunction"
1670 | },
1671 | {
1672 | "contents": "pcclose(${1})",
1673 | "trigger": "pcclose\tfunction"
1674 | },
1675 | {
1676 | "contents": "pcconvex(${1})",
1677 | "trigger": "pcconvex\tfunction"
1678 | },
1679 | {
1680 | "contents": "pcexport(${1})",
1681 | "trigger": "pcexport\tfunction"
1682 | },
1683 | {
1684 | "contents": "pcfarthest(${1})",
1685 | "trigger": "pcfarthest\tfunction"
1686 | },
1687 | {
1688 | "contents": "pcfilter(${1})",
1689 | "trigger": "pcfilter\tfunction"
1690 | },
1691 | {
1692 | "contents": "pcfind(${1})",
1693 | "trigger": "pcfind\tfunction"
1694 | },
1695 | {
1696 | "contents": "pcfind_radius(${1})",
1697 | "trigger": "pcfind_radius\tfunction"
1698 | },
1699 | {
1700 | "contents": "pcgenerate(${1})",
1701 | "trigger": "pcgenerate\tfunction"
1702 | },
1703 | {
1704 | "contents": "pcimport(${1})",
1705 | "trigger": "pcimport\tfunction"
1706 | },
1707 | {
1708 | "contents": "pcimportbyidx3(${1})",
1709 | "trigger": "pcimportbyidx3\tfunction"
1710 | },
1711 | {
1712 | "contents": "pcimportbyidx4(${1})",
1713 | "trigger": "pcimportbyidx4\tfunction"
1714 | },
1715 | {
1716 | "contents": "pcimportbyidxf(${1})",
1717 | "trigger": "pcimportbyidxf\tfunction"
1718 | },
1719 | {
1720 | "contents": "pcimportbyidxi(${1})",
1721 | "trigger": "pcimportbyidxi\tfunction"
1722 | },
1723 | {
1724 | "contents": "pcimportbyidxp(${1})",
1725 | "trigger": "pcimportbyidxp\tfunction"
1726 | },
1727 | {
1728 | "contents": "pcimportbyidxs(${1})",
1729 | "trigger": "pcimportbyidxs\tfunction"
1730 | },
1731 | {
1732 | "contents": "pcimportbyidxv(${1})",
1733 | "trigger": "pcimportbyidxv\tfunction"
1734 | },
1735 | {
1736 | "contents": "pciterate(${1})",
1737 | "trigger": "pciterate\tfunction"
1738 | },
1739 | {
1740 | "contents": "pcnumfound(${1})",
1741 | "trigger": "pcnumfound\tfunction"
1742 | },
1743 | {
1744 | "contents": "pcopen(${1})",
1745 | "trigger": "pcopen\tfunction"
1746 | },
1747 | {
1748 | "contents": "pcopenlod(${1})",
1749 | "trigger": "pcopenlod\tfunction"
1750 | },
1751 | {
1752 | "contents": "pcsampleleaf(${1})",
1753 | "trigger": "pcsampleleaf\tfunction"
1754 | },
1755 | {
1756 | "contents": "pcsize(${1})",
1757 | "trigger": "pcsize\tfunction"
1758 | },
1759 | {
1760 | "contents": "pcunshaded(${1})",
1761 | "trigger": "pcunshaded\tfunction"
1762 | },
1763 | {
1764 | "contents": "pcwrite(${1})",
1765 | "trigger": "pcwrite\tfunction"
1766 | },
1767 | {
1768 | "contents": "pgfind(${1})",
1769 | "trigger": "pgfind\tfunction"
1770 | },
1771 | {
1772 | "contents": "phong(${1})",
1773 | "trigger": "phong\tfunction"
1774 | },
1775 | {
1776 | "contents": "phongBRDF(${1})",
1777 | "trigger": "phongBRDF\tfunction"
1778 | },
1779 | {
1780 | "contents": "phonglobe(${1})",
1781 | "trigger": "phonglobe\tfunction"
1782 | },
1783 | {
1784 | "contents": "photonmap(${1})",
1785 | "trigger": "photonmap\tfunction"
1786 | },
1787 | {
1788 | "contents": "planeindex(${1})",
1789 | "trigger": "planeindex\tfunction"
1790 | },
1791 | {
1792 | "contents": "planename(${1})",
1793 | "trigger": "planename\tfunction"
1794 | },
1795 | {
1796 | "contents": "planepointdistance(${1})",
1797 | "trigger": "planepointdistance\tfunction"
1798 | },
1799 | {
1800 | "contents": "planesize(${1})",
1801 | "trigger": "planesize\tfunction"
1802 | },
1803 | {
1804 | "contents": "planesphereintersect(${1})",
1805 | "trigger": "planesphereintersect\tfunction"
1806 | },
1807 | {
1808 | "contents": "pluralize(${1})",
1809 | "trigger": "pluralize\tfunction"
1810 | },
1811 | {
1812 | "contents": "pnoise(${1})",
1813 | "trigger": "pnoise\tfunction"
1814 | },
1815 | {
1816 | "contents": "point(${1})",
1817 | "trigger": "point\tfunction"
1818 | },
1819 | {
1820 | "contents": "pointattrib(${1})",
1821 | "trigger": "pointattrib\tfunction"
1822 | },
1823 | {
1824 | "contents": "pointattribsize(${1})",
1825 | "trigger": "pointattribsize\tfunction"
1826 | },
1827 | {
1828 | "contents": "pointattribtype(${1})",
1829 | "trigger": "pointattribtype\tfunction"
1830 | },
1831 | {
1832 | "contents": "pointattribtypeinfo(${1})",
1833 | "trigger": "pointattribtypeinfo\tfunction"
1834 | },
1835 | {
1836 | "contents": "pointedge(${1})",
1837 | "trigger": "pointedge\tfunction"
1838 | },
1839 | {
1840 | "contents": "pointhedge(${1})",
1841 | "trigger": "pointhedge\tfunction"
1842 | },
1843 | {
1844 | "contents": "pointhedgenext(${1})",
1845 | "trigger": "pointhedgenext\tfunction"
1846 | },
1847 | {
1848 | "contents": "pointname(${1})",
1849 | "trigger": "pointname\tfunction"
1850 | },
1851 | {
1852 | "contents": "pointprims(${1})",
1853 | "trigger": "pointprims\tfunction"
1854 | },
1855 | {
1856 | "contents": "pointvertex(${1})",
1857 | "trigger": "pointvertex\tfunction"
1858 | },
1859 | {
1860 | "contents": "pointvertices(${1})",
1861 | "trigger": "pointvertices\tfunction"
1862 | },
1863 | {
1864 | "contents": "polardecomp(${1})",
1865 | "trigger": "polardecomp\tfunction"
1866 | },
1867 | {
1868 | "contents": "pop(${1})",
1869 | "trigger": "pop\tfunction"
1870 | },
1871 | {
1872 | "contents": "pow(${1})",
1873 | "trigger": "pow\tfunction"
1874 | },
1875 | {
1876 | "contents": "predicate_incircle(${1})",
1877 | "trigger": "predicate_incircle\tfunction"
1878 | },
1879 | {
1880 | "contents": "predicate_insphere(${1})",
1881 | "trigger": "predicate_insphere\tfunction"
1882 | },
1883 | {
1884 | "contents": "predicate_orient2d(${1})",
1885 | "trigger": "predicate_orient2d\tfunction"
1886 | },
1887 | {
1888 | "contents": "predicate_orient3d(${1})",
1889 | "trigger": "predicate_orient3d\tfunction"
1890 | },
1891 | {
1892 | "contents": "prim(${1})",
1893 | "trigger": "prim\tfunction"
1894 | },
1895 | {
1896 | "contents": "prim_attribute(${1})",
1897 | "trigger": "prim_attribute\tfunction"
1898 | },
1899 | {
1900 | "contents": "prim_normal(${1})",
1901 | "trigger": "prim_normal\tfunction"
1902 | },
1903 | {
1904 | "contents": "primarclen(${1})",
1905 | "trigger": "primarclen\tfunction"
1906 | },
1907 | {
1908 | "contents": "primattrib(${1})",
1909 | "trigger": "primattrib\tfunction"
1910 | },
1911 | {
1912 | "contents": "primattribsize(${1})",
1913 | "trigger": "primattribsize\tfunction"
1914 | },
1915 | {
1916 | "contents": "primattribtype(${1})",
1917 | "trigger": "primattribtype\tfunction"
1918 | },
1919 | {
1920 | "contents": "primattribtypeinfo(${1})",
1921 | "trigger": "primattribtypeinfo\tfunction"
1922 | },
1923 | {
1924 | "contents": "primduv(${1})",
1925 | "trigger": "primduv\tfunction"
1926 | },
1927 | {
1928 | "contents": "primfind(${1})",
1929 | "trigger": "primfind\tfunction"
1930 | },
1931 | {
1932 | "contents": "primhedge(${1})",
1933 | "trigger": "primhedge\tfunction"
1934 | },
1935 | {
1936 | "contents": "primintrinsic(${1})",
1937 | "trigger": "primintrinsic\tfunction"
1938 | },
1939 | {
1940 | "contents": "primpoint(${1})",
1941 | "trigger": "primpoint\tfunction"
1942 | },
1943 | {
1944 | "contents": "primpoints(${1})",
1945 | "trigger": "primpoints\tfunction"
1946 | },
1947 | {
1948 | "contents": "primuv(${1})",
1949 | "trigger": "primuv\tfunction"
1950 | },
1951 | {
1952 | "contents": "primuvconvert(${1})",
1953 | "trigger": "primuvconvert\tfunction"
1954 | },
1955 | {
1956 | "contents": "primvertex(${1})",
1957 | "trigger": "primvertex\tfunction"
1958 | },
1959 | {
1960 | "contents": "primvertexcount(${1})",
1961 | "trigger": "primvertexcount\tfunction"
1962 | },
1963 | {
1964 | "contents": "primvertices(${1})",
1965 | "trigger": "primvertices\tfunction"
1966 | },
1967 | {
1968 | "contents": "print_once(${1})",
1969 | "trigger": "print_once\tfunction"
1970 | },
1971 | {
1972 | "contents": "printf(${1})",
1973 | "trigger": "printf\tfunction"
1974 | },
1975 | {
1976 | "contents": "product(${1})",
1977 | "trigger": "product\tfunction"
1978 | },
1979 | {
1980 | "contents": "ptexture(${1})",
1981 | "trigger": "ptexture\tfunction"
1982 | },
1983 | {
1984 | "contents": "ptlined(${1})",
1985 | "trigger": "ptlined\tfunction"
1986 | },
1987 | {
1988 | "contents": "ptransform(${1})",
1989 | "trigger": "ptransform\tfunction"
1990 | },
1991 | {
1992 | "contents": "push(${1})",
1993 | "trigger": "push\tfunction"
1994 | },
1995 | {
1996 | "contents": "qconvert(${1})",
1997 | "trigger": "qconvert\tfunction"
1998 | },
1999 | {
2000 | "contents": "qdistance(${1})",
2001 | "trigger": "qdistance\tfunction"
2002 | },
2003 | {
2004 | "contents": "qinvert(${1})",
2005 | "trigger": "qinvert\tfunction"
2006 | },
2007 | {
2008 | "contents": "qmultiply(${1})",
2009 | "trigger": "qmultiply\tfunction"
2010 | },
2011 | {
2012 | "contents": "qrotate(${1})",
2013 | "trigger": "qrotate\tfunction"
2014 | },
2015 | {
2016 | "contents": "quaternion(${1})",
2017 | "trigger": "quaternion\tfunction"
2018 | },
2019 | {
2020 | "contents": "radians(${1})",
2021 | "trigger": "radians\tfunction"
2022 | },
2023 | {
2024 | "contents": "rand(${1})",
2025 | "trigger": "rand\tfunction"
2026 | },
2027 | {
2028 | "contents": "random(${1})",
2029 | "trigger": "random\tfunction"
2030 | },
2031 | {
2032 | "contents": "random_fhash(${1})",
2033 | "trigger": "random_fhash\tfunction"
2034 | },
2035 | {
2036 | "contents": "random_ihash(${1})",
2037 | "trigger": "random_ihash\tfunction"
2038 | },
2039 | {
2040 | "contents": "random_shash(${1})",
2041 | "trigger": "random_shash\tfunction"
2042 | },
2043 | {
2044 | "contents": "random_sobol(${1})",
2045 | "trigger": "random_sobol\tfunction"
2046 | },
2047 | {
2048 | "contents": "rawbumpmap(${1})",
2049 | "trigger": "rawbumpmap\tfunction"
2050 | },
2051 | {
2052 | "contents": "rawbumpmapA(${1})",
2053 | "trigger": "rawbumpmapA\tfunction"
2054 | },
2055 | {
2056 | "contents": "rawbumpmapB(${1})",
2057 | "trigger": "rawbumpmapB\tfunction"
2058 | },
2059 | {
2060 | "contents": "rawbumpmapG(${1})",
2061 | "trigger": "rawbumpmapG\tfunction"
2062 | },
2063 | {
2064 | "contents": "rawbumpmapL(${1})",
2065 | "trigger": "rawbumpmapL\tfunction"
2066 | },
2067 | {
2068 | "contents": "rawbumpmapR(${1})",
2069 | "trigger": "rawbumpmapR\tfunction"
2070 | },
2071 | {
2072 | "contents": "rawcolormap(${1})",
2073 | "trigger": "rawcolormap\tfunction"
2074 | },
2075 | {
2076 | "contents": "rayhittest(${1})",
2077 | "trigger": "rayhittest\tfunction"
2078 | },
2079 | {
2080 | "contents": "rayimport(${1})",
2081 | "trigger": "rayimport\tfunction"
2082 | },
2083 | {
2084 | "contents": "re_find(${1})",
2085 | "trigger": "re_find\tfunction"
2086 | },
2087 | {
2088 | "contents": "re_findall(${1})",
2089 | "trigger": "re_findall\tfunction"
2090 | },
2091 | {
2092 | "contents": "re_match(${1})",
2093 | "trigger": "re_match\tfunction"
2094 | },
2095 | {
2096 | "contents": "re_replace(${1})",
2097 | "trigger": "re_replace\tfunction"
2098 | },
2099 | {
2100 | "contents": "re_split(${1})",
2101 | "trigger": "re_split\tfunction"
2102 | },
2103 | {
2104 | "contents": "reflect(${1})",
2105 | "trigger": "reflect\tfunction"
2106 | },
2107 | {
2108 | "contents": "reflectlight(${1})",
2109 | "trigger": "reflectlight\tfunction"
2110 | },
2111 | {
2112 | "contents": "refract(${1})",
2113 | "trigger": "refract\tfunction"
2114 | },
2115 | {
2116 | "contents": "refractlight(${1})",
2117 | "trigger": "refractlight\tfunction"
2118 | },
2119 | {
2120 | "contents": "relativepath(${1})",
2121 | "trigger": "relativepath\tfunction"
2122 | },
2123 | {
2124 | "contents": "relbbox(${1})",
2125 | "trigger": "relbbox\tfunction"
2126 | },
2127 | {
2128 | "contents": "relpointbbox(${1})",
2129 | "trigger": "relpointbbox\tfunction"
2130 | },
2131 | {
2132 | "contents": "removegroup(${1})",
2133 | "trigger": "removegroup\tfunction"
2134 | },
2135 | {
2136 | "contents": "removeindex(${1})",
2137 | "trigger": "removeindex\tfunction"
2138 | },
2139 | {
2140 | "contents": "removepoint(${1})",
2141 | "trigger": "removepoint\tfunction"
2142 | },
2143 | {
2144 | "contents": "removeprim(${1})",
2145 | "trigger": "removeprim\tfunction"
2146 | },
2147 | {
2148 | "contents": "removevalue(${1})",
2149 | "trigger": "removevalue\tfunction"
2150 | },
2151 | {
2152 | "contents": "renderstate(${1})",
2153 | "trigger": "renderstate\tfunction"
2154 | },
2155 | {
2156 | "contents": "reorder(${1})",
2157 | "trigger": "reorder\tfunction"
2158 | },
2159 | {
2160 | "contents": "resample_linear(${1})",
2161 | "trigger": "resample_linear\tfunction"
2162 | },
2163 | {
2164 | "contents": "resize(${1})",
2165 | "trigger": "resize\tfunction"
2166 | },
2167 | {
2168 | "contents": "resolvemissedray(${1})",
2169 | "trigger": "resolvemissedray\tfunction"
2170 | },
2171 | {
2172 | "contents": "reverse(${1})",
2173 | "trigger": "reverse\tfunction"
2174 | },
2175 | {
2176 | "contents": "rgbtohsv(${1})",
2177 | "trigger": "rgbtohsv\tfunction"
2178 | },
2179 | {
2180 | "contents": "rgbtoxyz(${1})",
2181 | "trigger": "rgbtoxyz\tfunction"
2182 | },
2183 | {
2184 | "contents": "rint(${1})",
2185 | "trigger": "rint\tfunction"
2186 | },
2187 | {
2188 | "contents": "rotate(${1})",
2189 | "trigger": "rotate\tfunction"
2190 | },
2191 | {
2192 | "contents": "rotate_x_to(${1})",
2193 | "trigger": "rotate_x_to\tfunction"
2194 | },
2195 | {
2196 | "contents": "rstrip(${1})",
2197 | "trigger": "rstrip\tfunction"
2198 | },
2199 | {
2200 | "contents": "sample_bsdf(${1})",
2201 | "trigger": "sample_bsdf\tfunction"
2202 | },
2203 | {
2204 | "contents": "sample_cauchy(${1})",
2205 | "trigger": "sample_cauchy\tfunction"
2206 | },
2207 | {
2208 | "contents": "sample_cdf(${1})",
2209 | "trigger": "sample_cdf\tfunction"
2210 | },
2211 | {
2212 | "contents": "sample_circle_arc(${1})",
2213 | "trigger": "sample_circle_arc\tfunction"
2214 | },
2215 | {
2216 | "contents": "sample_circle_edge_uniform(${1})",
2217 | "trigger": "sample_circle_edge_uniform\tfunction"
2218 | },
2219 | {
2220 | "contents": "sample_circle_slice(${1})",
2221 | "trigger": "sample_circle_slice\tfunction"
2222 | },
2223 | {
2224 | "contents": "sample_circle_uniform(${1})",
2225 | "trigger": "sample_circle_uniform\tfunction"
2226 | },
2227 | {
2228 | "contents": "sample_direction_cone(${1})",
2229 | "trigger": "sample_direction_cone\tfunction"
2230 | },
2231 | {
2232 | "contents": "sample_direction_uniform(${1})",
2233 | "trigger": "sample_direction_uniform\tfunction"
2234 | },
2235 | {
2236 | "contents": "sample_discrete(${1})",
2237 | "trigger": "sample_discrete\tfunction"
2238 | },
2239 | {
2240 | "contents": "sample_exponential(${1})",
2241 | "trigger": "sample_exponential\tfunction"
2242 | },
2243 | {
2244 | "contents": "sample_geometry(${1})",
2245 | "trigger": "sample_geometry\tfunction"
2246 | },
2247 | {
2248 | "contents": "sample_hemisphere(${1})",
2249 | "trigger": "sample_hemisphere\tfunction"
2250 | },
2251 | {
2252 | "contents": "sample_hypersphere_cone(${1})",
2253 | "trigger": "sample_hypersphere_cone\tfunction"
2254 | },
2255 | {
2256 | "contents": "sample_hypersphere_uniform(${1})",
2257 | "trigger": "sample_hypersphere_uniform\tfunction"
2258 | },
2259 | {
2260 | "contents": "sample_light(${1})",
2261 | "trigger": "sample_light\tfunction"
2262 | },
2263 | {
2264 | "contents": "sample_lognormal(${1})",
2265 | "trigger": "sample_lognormal\tfunction"
2266 | },
2267 | {
2268 | "contents": "sample_lognormal_by_median(${1})",
2269 | "trigger": "sample_lognormal_by_median\tfunction"
2270 | },
2271 | {
2272 | "contents": "sample_normal(${1})",
2273 | "trigger": "sample_normal\tfunction"
2274 | },
2275 | {
2276 | "contents": "sample_orientation_cone(${1})",
2277 | "trigger": "sample_orientation_cone\tfunction"
2278 | },
2279 | {
2280 | "contents": "sample_orientation_uniform(${1})",
2281 | "trigger": "sample_orientation_uniform\tfunction"
2282 | },
2283 | {
2284 | "contents": "sample_photon(${1})",
2285 | "trigger": "sample_photon\tfunction"
2286 | },
2287 | {
2288 | "contents": "sample_sphere_cone(${1})",
2289 | "trigger": "sample_sphere_cone\tfunction"
2290 | },
2291 | {
2292 | "contents": "sample_sphere_uniform(${1})",
2293 | "trigger": "sample_sphere_uniform\tfunction"
2294 | },
2295 | {
2296 | "contents": "sampledisk(${1})",
2297 | "trigger": "sampledisk\tfunction"
2298 | },
2299 | {
2300 | "contents": "scale(${1})",
2301 | "trigger": "scale\tfunction"
2302 | },
2303 | {
2304 | "contents": "scatter(${1})",
2305 | "trigger": "scatter\tfunction"
2306 | },
2307 | {
2308 | "contents": "select(${1})",
2309 | "trigger": "select\tfunction"
2310 | },
2311 | {
2312 | "contents": "sensor_panorama_create(${1})",
2313 | "trigger": "sensor_panorama_create\tfunction"
2314 | },
2315 | {
2316 | "contents": "sensor_panorama_getcolor(${1})",
2317 | "trigger": "sensor_panorama_getcolor\tfunction"
2318 | },
2319 | {
2320 | "contents": "sensor_panorama_getcone(${1})",
2321 | "trigger": "sensor_panorama_getcone\tfunction"
2322 | },
2323 | {
2324 | "contents": "sensor_panorama_getdepth(${1})",
2325 | "trigger": "sensor_panorama_getdepth\tfunction"
2326 | },
2327 | {
2328 | "contents": "sensor_save(${1})",
2329 | "trigger": "sensor_save\tfunction"
2330 | },
2331 | {
2332 | "contents": "serialize(${1})",
2333 | "trigger": "serialize\tfunction"
2334 | },
2335 | {
2336 | "contents": "set(${1})",
2337 | "trigger": "set\tfunction"
2338 | },
2339 | {
2340 | "contents": "setagentclipnames(${1})",
2341 | "trigger": "setagentclipnames\tfunction"
2342 | },
2343 | {
2344 | "contents": "setagentclips(${1})",
2345 | "trigger": "setagentclips\tfunction"
2346 | },
2347 | {
2348 | "contents": "setagentcliptimes(${1})",
2349 | "trigger": "setagentcliptimes\tfunction"
2350 | },
2351 | {
2352 | "contents": "setagentclipweights(${1})",
2353 | "trigger": "setagentclipweights\tfunction"
2354 | },
2355 | {
2356 | "contents": "setagentcollisionlayer(${1})",
2357 | "trigger": "setagentcollisionlayer\tfunction"
2358 | },
2359 | {
2360 | "contents": "setagentcurrentlayer(${1})",
2361 | "trigger": "setagentcurrentlayer\tfunction"
2362 | },
2363 | {
2364 | "contents": "setagentlocaltransform(${1})",
2365 | "trigger": "setagentlocaltransform\tfunction"
2366 | },
2367 | {
2368 | "contents": "setagentlocaltransforms(${1})",
2369 | "trigger": "setagentlocaltransforms\tfunction"
2370 | },
2371 | {
2372 | "contents": "setagentworldtransform(${1})",
2373 | "trigger": "setagentworldtransform\tfunction"
2374 | },
2375 | {
2376 | "contents": "setagentworldtransforms(${1})",
2377 | "trigger": "setagentworldtransforms\tfunction"
2378 | },
2379 | {
2380 | "contents": "setattrib(${1})",
2381 | "trigger": "setattrib\tfunction"
2382 | },
2383 | {
2384 | "contents": "setattribtypeinfo(${1})",
2385 | "trigger": "setattribtypeinfo\tfunction"
2386 | },
2387 | {
2388 | "contents": "setcomp(${1})",
2389 | "trigger": "setcomp\tfunction"
2390 | },
2391 | {
2392 | "contents": "setcurrentlight(${1})",
2393 | "trigger": "setcurrentlight\tfunction"
2394 | },
2395 | {
2396 | "contents": "setdetailattrib(${1})",
2397 | "trigger": "setdetailattrib\tfunction"
2398 | },
2399 | {
2400 | "contents": "setedgegroup(${1})",
2401 | "trigger": "setedgegroup\tfunction"
2402 | },
2403 | {
2404 | "contents": "setpointattrib(${1})",
2405 | "trigger": "setpointattrib\tfunction"
2406 | },
2407 | {
2408 | "contents": "setpointgroup(${1})",
2409 | "trigger": "setpointgroup\tfunction"
2410 | },
2411 | {
2412 | "contents": "setprimattrib(${1})",
2413 | "trigger": "setprimattrib\tfunction"
2414 | },
2415 | {
2416 | "contents": "setprimgroup(${1})",
2417 | "trigger": "setprimgroup\tfunction"
2418 | },
2419 | {
2420 | "contents": "setprimintrinsic(${1})",
2421 | "trigger": "setprimintrinsic\tfunction"
2422 | },
2423 | {
2424 | "contents": "setprimvertex(${1})",
2425 | "trigger": "setprimvertex\tfunction"
2426 | },
2427 | {
2428 | "contents": "setsamplestore(${1})",
2429 | "trigger": "setsamplestore\tfunction"
2430 | },
2431 | {
2432 | "contents": "setvertexattrib(${1})",
2433 | "trigger": "setvertexattrib\tfunction"
2434 | },
2435 | {
2436 | "contents": "setvertexgroup(${1})",
2437 | "trigger": "setvertexgroup\tfunction"
2438 | },
2439 | {
2440 | "contents": "setvertexpoint(${1})",
2441 | "trigger": "setvertexpoint\tfunction"
2442 | },
2443 | {
2444 | "contents": "shadow(${1})",
2445 | "trigger": "shadow\tfunction"
2446 | },
2447 | {
2448 | "contents": "shadow_light(${1})",
2449 | "trigger": "shadow_light\tfunction"
2450 | },
2451 | {
2452 | "contents": "shadowmap(${1})",
2453 | "trigger": "shadowmap\tfunction"
2454 | },
2455 | {
2456 | "contents": "shimport(${1})",
2457 | "trigger": "shimport\tfunction"
2458 | },
2459 | {
2460 | "contents": "shl(${1})",
2461 | "trigger": "shl\tfunction"
2462 | },
2463 | {
2464 | "contents": "shr(${1})",
2465 | "trigger": "shr\tfunction"
2466 | },
2467 | {
2468 | "contents": "shrz(${1})",
2469 | "trigger": "shrz\tfunction"
2470 | },
2471 | {
2472 | "contents": "sign(${1})",
2473 | "trigger": "sign\tfunction"
2474 | },
2475 | {
2476 | "contents": "simport(${1})",
2477 | "trigger": "simport\tfunction"
2478 | },
2479 | {
2480 | "contents": "sin(${1})",
2481 | "trigger": "sin\tfunction"
2482 | },
2483 | {
2484 | "contents": "sinh(${1})",
2485 | "trigger": "sinh\tfunction"
2486 | },
2487 | {
2488 | "contents": "sleep(${1})",
2489 | "trigger": "sleep\tfunction"
2490 | },
2491 | {
2492 | "contents": "slerp(${1})",
2493 | "trigger": "slerp\tfunction"
2494 | },
2495 | {
2496 | "contents": "slice(${1})",
2497 | "trigger": "slice\tfunction"
2498 | },
2499 | {
2500 | "contents": "slideframe(${1})",
2501 | "trigger": "slideframe\tfunction"
2502 | },
2503 | {
2504 | "contents": "smooth(${1})",
2505 | "trigger": "smooth\tfunction"
2506 | },
2507 | {
2508 | "contents": "smoothrotation(${1})",
2509 | "trigger": "smoothrotation\tfunction"
2510 | },
2511 | {
2512 | "contents": "snoise(${1})",
2513 | "trigger": "snoise\tfunction"
2514 | },
2515 | {
2516 | "contents": "solid_angle(${1})",
2517 | "trigger": "solid_angle\tfunction"
2518 | },
2519 | {
2520 | "contents": "solvecubic(${1})",
2521 | "trigger": "solvecubic\tfunction"
2522 | },
2523 | {
2524 | "contents": "solvepoly(${1})",
2525 | "trigger": "solvepoly\tfunction"
2526 | },
2527 | {
2528 | "contents": "solvequadratic(${1})",
2529 | "trigger": "solvequadratic\tfunction"
2530 | },
2531 | {
2532 | "contents": "sort(${1})",
2533 | "trigger": "sort\tfunction"
2534 | },
2535 | {
2536 | "contents": "specular(${1})",
2537 | "trigger": "specular\tfunction"
2538 | },
2539 | {
2540 | "contents": "specularBRDF(${1})",
2541 | "trigger": "specularBRDF\tfunction"
2542 | },
2543 | {
2544 | "contents": "spline(${1})",
2545 | "trigger": "spline\tfunction"
2546 | },
2547 | {
2548 | "contents": "split(${1})",
2549 | "trigger": "split\tfunction"
2550 | },
2551 | {
2552 | "contents": "split_bsdf(${1})",
2553 | "trigger": "split_bsdf\tfunction"
2554 | },
2555 | {
2556 | "contents": "splitpath(${1})",
2557 | "trigger": "splitpath\tfunction"
2558 | },
2559 | {
2560 | "contents": "sprintf(${1})",
2561 | "trigger": "sprintf\tfunction"
2562 | },
2563 | {
2564 | "contents": "sqrt(${1})",
2565 | "trigger": "sqrt\tfunction"
2566 | },
2567 | {
2568 | "contents": "sssapprox(${1})",
2569 | "trigger": "sssapprox\tfunction"
2570 | },
2571 | {
2572 | "contents": "startswith(${1})",
2573 | "trigger": "startswith\tfunction"
2574 | },
2575 | {
2576 | "contents": "storelightexport(${1})",
2577 | "trigger": "storelightexport\tfunction"
2578 | },
2579 | {
2580 | "contents": "strip(${1})",
2581 | "trigger": "strip\tfunction"
2582 | },
2583 | {
2584 | "contents": "strlen(${1})",
2585 | "trigger": "strlen\tfunction"
2586 | },
2587 | {
2588 | "contents": "sum(${1})",
2589 | "trigger": "sum\tfunction"
2590 | },
2591 | {
2592 | "contents": "switch(${1})",
2593 | "trigger": "switch\tfunction"
2594 | },
2595 | {
2596 | "contents": "swizzle(${1})",
2597 | "trigger": "swizzle\tfunction"
2598 | },
2599 | {
2600 | "contents": "tan(${1})",
2601 | "trigger": "tan\tfunction"
2602 | },
2603 | {
2604 | "contents": "tanh(${1})",
2605 | "trigger": "tanh\tfunction"
2606 | },
2607 | {
2608 | "contents": "tet_adjacent(${1})",
2609 | "trigger": "tet_adjacent\tfunction"
2610 | },
2611 | {
2612 | "contents": "tet_faceindex(${1})",
2613 | "trigger": "tet_faceindex\tfunction"
2614 | },
2615 | {
2616 | "contents": "teximport(${1})",
2617 | "trigger": "teximport\tfunction"
2618 | },
2619 | {
2620 | "contents": "texprintf(${1})",
2621 | "trigger": "texprintf\tfunction"
2622 | },
2623 | {
2624 | "contents": "texture(${1})",
2625 | "trigger": "texture\tfunction"
2626 | },
2627 | {
2628 | "contents": "texture3d(${1})",
2629 | "trigger": "texture3d\tfunction"
2630 | },
2631 | {
2632 | "contents": "texture3dBox(${1})",
2633 | "trigger": "texture3dBox\tfunction"
2634 | },
2635 | {
2636 | "contents": "titlecase(${1})",
2637 | "trigger": "titlecase\tfunction"
2638 | },
2639 | {
2640 | "contents": "toNDC(${1})",
2641 | "trigger": "toNDC\tfunction"
2642 | },
2643 | {
2644 | "contents": "tolower(${1})",
2645 | "trigger": "tolower\tfunction"
2646 | },
2647 | {
2648 | "contents": "toupper(${1})",
2649 | "trigger": "toupper\tfunction"
2650 | },
2651 | {
2652 | "contents": "trace(${1})",
2653 | "trigger": "trace\tfunction"
2654 | },
2655 | {
2656 | "contents": "translate(${1})",
2657 | "trigger": "translate\tfunction"
2658 | },
2659 | {
2660 | "contents": "translucent(${1})",
2661 | "trigger": "translucent\tfunction"
2662 | },
2663 | {
2664 | "contents": "transpose(${1})",
2665 | "trigger": "transpose\tfunction"
2666 | },
2667 | {
2668 | "contents": "trunc(${1})",
2669 | "trigger": "trunc\tfunction"
2670 | },
2671 | {
2672 | "contents": "tw_nspace(${1})",
2673 | "trigger": "tw_nspace\tfunction"
2674 | },
2675 | {
2676 | "contents": "tw_space(${1})",
2677 | "trigger": "tw_space\tfunction"
2678 | },
2679 | {
2680 | "contents": "tw_vspace(${1})",
2681 | "trigger": "tw_vspace\tfunction"
2682 | },
2683 | {
2684 | "contents": "uniqueval(${1})",
2685 | "trigger": "uniqueval\tfunction"
2686 | },
2687 | {
2688 | "contents": "unpack_intfromsafefloat(${1})",
2689 | "trigger": "unpack_intfromsafefloat\tfunction"
2690 | },
2691 | {
2692 | "contents": "unserialize(${1})",
2693 | "trigger": "unserialize\tfunction"
2694 | },
2695 | {
2696 | "contents": "upush(${1})",
2697 | "trigger": "upush\tfunction"
2698 | },
2699 | {
2700 | "contents": "uvdist(${1})",
2701 | "trigger": "uvdist\tfunction"
2702 | },
2703 | {
2704 | "contents": "uvintersect(${1})",
2705 | "trigger": "uvintersect\tfunction"
2706 | },
2707 | {
2708 | "contents": "uvsample(${1})",
2709 | "trigger": "uvsample\tfunction"
2710 | },
2711 | {
2712 | "contents": "uvunwrap(${1})",
2713 | "trigger": "uvunwrap\tfunction"
2714 | },
2715 | {
2716 | "contents": "variance(${1})",
2717 | "trigger": "variance\tfunction"
2718 | },
2719 | {
2720 | "contents": "velocityname(${1})",
2721 | "trigger": "velocityname\tfunction"
2722 | },
2723 | {
2724 | "contents": "vertex(${1})",
2725 | "trigger": "vertex\tfunction"
2726 | },
2727 | {
2728 | "contents": "vertexattrib(${1})",
2729 | "trigger": "vertexattrib\tfunction"
2730 | },
2731 | {
2732 | "contents": "vertexattribsize(${1})",
2733 | "trigger": "vertexattribsize\tfunction"
2734 | },
2735 | {
2736 | "contents": "vertexattribtype(${1})",
2737 | "trigger": "vertexattribtype\tfunction"
2738 | },
2739 | {
2740 | "contents": "vertexattribtypeinfo(${1})",
2741 | "trigger": "vertexattribtypeinfo\tfunction"
2742 | },
2743 | {
2744 | "contents": "vertexhedge(${1})",
2745 | "trigger": "vertexhedge\tfunction"
2746 | },
2747 | {
2748 | "contents": "vertexindex(${1})",
2749 | "trigger": "vertexindex\tfunction"
2750 | },
2751 | {
2752 | "contents": "vertexnext(${1})",
2753 | "trigger": "vertexnext\tfunction"
2754 | },
2755 | {
2756 | "contents": "vertexpoint(${1})",
2757 | "trigger": "vertexpoint\tfunction"
2758 | },
2759 | {
2760 | "contents": "vertexprev(${1})",
2761 | "trigger": "vertexprev\tfunction"
2762 | },
2763 | {
2764 | "contents": "vertexprim(${1})",
2765 | "trigger": "vertexprim\tfunction"
2766 | },
2767 | {
2768 | "contents": "vertexprimindex(${1})",
2769 | "trigger": "vertexprimindex\tfunction"
2770 | },
2771 | {
2772 | "contents": "vnoise(${1})",
2773 | "trigger": "vnoise\tfunction"
2774 | },
2775 | {
2776 | "contents": "volume(${1})",
2777 | "trigger": "volume\tfunction"
2778 | },
2779 | {
2780 | "contents": "volumegradient(${1})",
2781 | "trigger": "volumegradient\tfunction"
2782 | },
2783 | {
2784 | "contents": "volumeindex(${1})",
2785 | "trigger": "volumeindex\tfunction"
2786 | },
2787 | {
2788 | "contents": "volumeindexorigin(${1})",
2789 | "trigger": "volumeindexorigin\tfunction"
2790 | },
2791 | {
2792 | "contents": "volumeindextopos(${1})",
2793 | "trigger": "volumeindextopos\tfunction"
2794 | },
2795 | {
2796 | "contents": "volumeindexv(${1})",
2797 | "trigger": "volumeindexv\tfunction"
2798 | },
2799 | {
2800 | "contents": "volumepostoindex(${1})",
2801 | "trigger": "volumepostoindex\tfunction"
2802 | },
2803 | {
2804 | "contents": "volumeres(${1})",
2805 | "trigger": "volumeres\tfunction"
2806 | },
2807 | {
2808 | "contents": "volumesample(${1})",
2809 | "trigger": "volumesample\tfunction"
2810 | },
2811 | {
2812 | "contents": "volumesamplev(${1})",
2813 | "trigger": "volumesamplev\tfunction"
2814 | },
2815 | {
2816 | "contents": "volumevoxeldiameter(${1})",
2817 | "trigger": "volumevoxeldiameter\tfunction"
2818 | },
2819 | {
2820 | "contents": "vtransform(${1})",
2821 | "trigger": "vtransform\tfunction"
2822 | },
2823 | {
2824 | "contents": "warning(${1})",
2825 | "trigger": "warning\tfunction"
2826 | },
2827 | {
2828 | "contents": "wireblinn(${1})",
2829 | "trigger": "wireblinn\tfunction"
2830 | },
2831 | {
2832 | "contents": "wirediffuse(${1})",
2833 | "trigger": "wirediffuse\tfunction"
2834 | },
2835 | {
2836 | "contents": "wnoise(${1})",
2837 | "trigger": "wnoise\tfunction"
2838 | },
2839 | {
2840 | "contents": "wo_nspace(${1})",
2841 | "trigger": "wo_nspace\tfunction"
2842 | },
2843 | {
2844 | "contents": "wo_space(${1})",
2845 | "trigger": "wo_space\tfunction"
2846 | },
2847 | {
2848 | "contents": "wo_vspace(${1})",
2849 | "trigger": "wo_vspace\tfunction"
2850 | },
2851 | {
2852 | "contents": "writepixel(${1})",
2853 | "trigger": "writepixel\tfunction"
2854 | },
2855 | {
2856 | "contents": "wt_nspace(${1})",
2857 | "trigger": "wt_nspace\tfunction"
2858 | },
2859 | {
2860 | "contents": "wt_space(${1})",
2861 | "trigger": "wt_space\tfunction"
2862 | },
2863 | {
2864 | "contents": "wt_vspace(${1})",
2865 | "trigger": "wt_vspace\tfunction"
2866 | },
2867 | {
2868 | "contents": "xnoise(${1})",
2869 | "trigger": "xnoise\tfunction"
2870 | },
2871 | {
2872 | "contents": "xnoised(${1})",
2873 | "trigger": "xnoised\tfunction"
2874 | },
2875 | {
2876 | "contents": "xyzdist(${1})",
2877 | "trigger": "xyzdist\tfunction"
2878 | },
2879 | {
2880 | "contents": "xyztorgb(${1})",
2881 | "trigger": "xyztorgb\tfunction"
2882 | }
2883 | ],
2884 | "scope": "source.vex"
2885 | }
--------------------------------------------------------------------------------
/VEX.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "extensions":
3 | [
4 | "vfl"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/VEX.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | vfl
8 |
9 | foldingStartMarker
10 | (\{\s*(//.*)?$|^\s*// \{\{\{)
11 | foldingStopMarker
12 | ^\s*(\}|// \}\}\}$)
13 | name
14 | VEX
15 | patterns
16 |
17 |
18 | begin
19 | \b(chop|cop2|cvex|displace|fog|image3d|light|pop|shadow|sop|surface)\b
20 | beginCaptures
21 |
22 | 1
23 |
24 | name
25 | keyword.context.vex
26 |
27 |
28 | comment
29 | Defines the context of the VEX code.
30 | end
31 | \b(\w*)\s?(\()
32 | endCaptures
33 |
34 | 1
35 |
36 | name
37 | entity.name.class.vex
38 |
39 | 2
40 |
41 | name
42 | punctuation.group.vex
43 |
44 |
45 |
46 |
47 | match
48 | \b(break|continue|do|else|for|foreach|forpoints|function|gather|if|illuminance|return|while)\b
49 | name
50 | keyword.control.vex
51 |
52 |
53 | match
54 | \b(const|export)\b
55 | name
56 | storage.modifier.vex
57 |
58 |
59 | match
60 | \b(bsdf|char|color|float|int|integer|matrix|matrix2|matrix3|matrix4|normal|string|struct|typedef|union|vector|vector2|vector4|void)\b
61 | name
62 | storage.type.builtin.vex
63 |
64 |
65 | captures
66 |
67 | 1
68 |
69 | name
70 | support.function.library.vex
71 |
72 | 2
73 |
74 | name
75 | punctuation.group.vex
76 |
77 |
78 | match
79 | \b(Du|Dv|Dw|abs|accessframe|acos|addattrib|addattribute|adddetailattrib|addgroup|addpoint|addpointattrib|addprim|addprimattrib|addvariablename|addvertex|addvertexattrib|addvisualizer|agentaddclip|agentclipcatalog|agentclipchannel|agentcliplength|agentclipnames|agentclipsample|agentclipsamplelocal|agentclipsamplerate|agentclipsampleworld|agentcliptimes|agentcliptransformgroups|agentclipweights|agentcollisionlayer|agentcurrentlayer|agentlayerbindings|agentlayers|agentlayershapes|agentlocaltransform|agentlocaltransforms|agentrigchildren|agentrigfind|agentrigparent|agenttransformcount|agenttransformgroupmember|agenttransformgroups|agenttransformnames|agenttransformtolocal|agenttransformtoworld|agentworldtransform|agentworldtransforms|albedo|alphaname|ambient|anoise|append|area|argsort|array|ashikhmin|asin|assert_enabled|assign|atan|atan2|atof|atoi|atten|attrib|attribclass|attribsize|attribtype|attribtypeinfo|avg|binput|blackbody|blinn|blinnBRDF|bouncelabel|bouncemask|bumpmap|bumpmapA|bumpmapB|bumpmapG|bumpmapL|bumpmapR|bumpname|cbrt|ceil|ch|ch3|ch4|chattr|chend|chendf|chendt|chf|chi|chindex|chinput|chname|chnumchan|chp|chr|chramp|chrate|chreadbuf|chresizebuf|chs|chsetattr|chsraw|chstart|chstartf|chstartt|chv|chwritebuf|cinput|ckspline|clamp|clip|colormap|colorname|computenormal|concat|cone|cos|cosh|cracktransform|create_cdf|create_pdf|cross|cspline|ctransform|curlnoise|curlnoise2d|curlxnoise|curlxnoise2d|cvex_bsdf|degrees|depthmap|depthname|detail|detailattrib|detailattribsize|detailattribtype|detailattribtypeinfo|detailintrinsic|determinant|diffuse|diffuseBRDF|dihedral|dimport|distance|distance2|dot|dsmpixel|efit|eigenvalues|endswith|environment|erf|erf_inv|erfc|error|eulertoquaternion|eval_bsdf|exp|expand_udim|expandedgegroup|expandpointgroup|expandprimgroup|fastshadow|filamentsample|file_stat|filtershadow|filterstep|find|findattribval|findattribvalcount|finput|fit|fit01|fit10|fit11|floor|flownoise|flowpnoise|frac|fresnel|fromNDC|frontface|fuzzify|fuzzy_and|fuzzy_defuzz_centroid|fuzzy_nand|fuzzy_nor|fuzzy_not|fuzzy_nxor|fuzzy_or|fuzzy_xor|geoself|geounwrap|getattrib|getattribute|getbbox|getbbox_center|getbbox_max|getbbox_min|getbbox_size|getblurP|getbounces|getbounds|getcomp|getcomponents|getderiv|getfogname|getglobalraylevel|getgroupid|getlight|getlightid|getlightname|getlights|getlightscope|getlocalcurvature|getmaterial|getmaterialid|getobjectid|getobjectname|getphotonlight|getpointbbox|getpointbbox_center|getpointbbox_max|getpointbbox_min|getpointbbox_size|getprimid|getptextureid|getraylevel|getrayweight|getsamplestore|getscope|getsmoothP|getspace|getuvtangents|gradient|hair|hasattrib|hasdetailattrib|haslight|hasmetadata|hasplane|haspointattrib|hasprimattrib|hasvertexattrib|hedge_dstpoint|hedge_dstvertex|hedge_equivcount|hedge_isequiv|hedge_isprimary|hedge_isvalid|hedge_next|hedge_nextequiv|hedge_postdstpoint|hedge_postdstvertex|hedge_presrcpoint|hedge_presrcvertex|hedge_prev|hedge_prim|hedge_primary|hedge_srcpoint|hedge_srcvertex|henyeygreenstein|hscript_noise|hscript_rand|hscript_snoise|hscript_sturb|hscript_turb|hsvtorgb|iaspect|ichname|ident|idtopoint|idtoprim|iend|iendtime|ihasplane|import|inedgegroup|ingroup|inpointgroup|inprimgroup|insert|instance|interpolate|intersect|intersect_all|intersect_lights|inumplanes|invert|invertexgroup|iplaneindex|iplanename|iplanesize|irate|irradiance|isalpha|isbound|isconnected|isdigit|isfinite|isfogray|isframes|isnan|isotropic|israytracing|issamples|isseconds|isshadowray|istart|istarttime|isuvrendering|isvalidindex|isvarying|itoa|ixres|iyres|join|kspline|len|length|length2|lerp|lightbounces|lightid|limit_sample_space|limport|lkspline|log|log10|lookat|lspline|lstrip|luminance|lumname|makebasis|maketransform|maskname|match|matchvex_blinn|matchvex_specular|mattrib|max|mdensity|metadata|metaimport|metamarch|metanext|metastart|metaweight|min|minpos|mspace|nametopoint|nametoprim|nbouncetypes|nearpoint|nearpoints|nedgesgroup|neighbour|neighbourcount|neighbours|newgroup|newsampler|nextsample|ninput|ninputs|noise|noised|normal_bsdf|normalize|normalname|npoints|npointsgroup|nprimitives|nprimitivesgroup|nrandom|ntransform|nuniqueval|nvertices|nverticesgroup|occlusion|ocean_sample|ocio_import|ocio_spaces|ocio_transform|onoise|opdigits|opend|opfullpath|opparentbonetransform|opparenttransform|opparmtransform|oppreconstrainttransform|oppretransform|opstart|optransform|ord|osd_facecount|osd_firstpatch|osd_limitsurface|osd_limitsurfacevertex|osd_lookupface|osd_lookuppatch|osd_patchcount|osd_patches|outerproduct|ow_nspace|ow_space|ow_vspace|pack_inttosafefloat|pathtrace|pcclose|pcconvex|pcexport|pcfarthest|pcfilter|pcfind|pcfind_radius|pcgenerate|pcimport|pcimportbyidx3|pcimportbyidx4|pcimportbyidxf|pcimportbyidxi|pcimportbyidxp|pcimportbyidxs|pcimportbyidxv|pciterate|pcnumfound|pcopen|pcopenlod|pcsampleleaf|pcsize|pcunshaded|pcwrite|pgfind|phong|phongBRDF|phonglobe|photonmap|planeindex|planename|planepointdistance|planesize|planesphereintersect|pluralize|pnoise|point|pointattrib|pointattribsize|pointattribtype|pointattribtypeinfo|pointedge|pointhedge|pointhedgenext|pointname|pointprims|pointvertex|pointvertices|polardecomp|pop|pow|predicate_incircle|predicate_insphere|predicate_orient2d|predicate_orient3d|prim|prim_attribute|prim_normal|primarclen|primattrib|primattribsize|primattribtype|primattribtypeinfo|primduv|primfind|primhedge|primintrinsic|primpoint|primpoints|primuv|primuvconvert|primvertex|primvertexcount|primvertices|print_once|printf|product|ptexture|ptlined|ptransform|push|qconvert|qdistance|qinvert|qmultiply|qrotate|quaternion|radians|rand|random|random_fhash|random_ihash|random_shash|random_sobol|rawbumpmap|rawbumpmapA|rawbumpmapB|rawbumpmapG|rawbumpmapL|rawbumpmapR|rawcolormap|rayhittest|rayimport|re_find|re_findall|re_match|re_replace|re_split|reflect|reflectlight|refract|refractlight|relativepath|relbbox|relpointbbox|removegroup|removeindex|removepoint|removeprim|removevalue|renderstate|reorder|resample_linear|resize|resolvemissedray|reverse|rgbtohsv|rgbtoxyz|rint|rotate|rotate_x_to|rstrip|sample_bsdf|sample_cauchy|sample_cdf|sample_circle_arc|sample_circle_edge_uniform|sample_circle_slice|sample_circle_uniform|sample_direction_cone|sample_direction_uniform|sample_discrete|sample_exponential|sample_geometry|sample_hemisphere|sample_hypersphere_cone|sample_hypersphere_uniform|sample_light|sample_lognormal|sample_lognormal_by_median|sample_normal|sample_orientation_cone|sample_orientation_uniform|sample_photon|sample_sphere_cone|sample_sphere_uniform|sampledisk|scale|scatter|select|sensor_panorama_create|sensor_panorama_getcolor|sensor_panorama_getcone|sensor_panorama_getdepth|sensor_save|serialize|set|setagentclipnames|setagentclips|setagentcliptimes|setagentclipweights|setagentcollisionlayer|setagentcurrentlayer|setagentlocaltransform|setagentlocaltransforms|setagentworldtransform|setagentworldtransforms|setattrib|setattribtypeinfo|setcomp|setcurrentlight|setdetailattrib|setedgegroup|setpointattrib|setpointgroup|setprimattrib|setprimgroup|setprimintrinsic|setprimvertex|setsamplestore|setvertexattrib|setvertexgroup|setvertexpoint|shadow|shadow_light|shadowmap|shimport|shl|shr|shrz|sign|simport|sin|sinh|sleep|slerp|slice|slideframe|smooth|smoothrotation|snoise|solid_angle|solvecubic|solvepoly|solvequadratic|sort|specular|specularBRDF|spline|split|split_bsdf|splitpath|sprintf|sqrt|sssapprox|startswith|storelightexport|strip|strlen|sum|switch|swizzle|tan|tanh|tet_adjacent|tet_faceindex|teximport|texprintf|texture|texture3d|texture3dBox|titlecase|toNDC|tolower|toupper|trace|translate|translucent|transpose|trunc|tw_nspace|tw_space|tw_vspace|uniqueval|unpack_intfromsafefloat|unserialize|upush|uvdist|uvintersect|uvsample|uvunwrap|variance|velocityname|vertex|vertexattrib|vertexattribsize|vertexattribtype|vertexattribtypeinfo|vertexhedge|vertexindex|vertexnext|vertexpoint|vertexprev|vertexprim|vertexprimindex|vnoise|volume|volumegradient|volumeindex|volumeindexorigin|volumeindextopos|volumeindexv|volumepostoindex|volumeres|volumesample|volumesamplev|volumevoxeldiameter|vtransform|warning|wireblinn|wirediffuse|wnoise|wo_nspace|wo_space|wo_vspace|writepixel|wt_nspace|wt_space|wt_vspace|xnoise|xnoised|xyzdist|xyztorgb)\b\s*(\()
80 |
81 |
82 | begin
83 | (\w+)\s*\(
84 | beginCaptures
85 |
86 | 1
87 |
88 | name
89 | entity.name.function.vex
90 |
91 |
92 | end
93 | \)
94 | name
95 | meta.method.identifier.vex
96 | patterns
97 |
98 |
99 | include
100 | $self
101 |
102 |
103 |
104 |
105 | match
106 | \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
107 | name
108 | constant.numeric.vex
109 |
110 |
111 | captures
112 |
113 | 1
114 |
115 | name
116 | comment.block.preprocessor.vex
117 |
118 | 2
119 |
120 | name
121 | keyword.preprocessor.vex
122 |
123 |
124 | match
125 | \s*((#define|#else|#endif|#ifndef|#ifdef|#if|#include|#pragma|#undef).*$\n?)
126 |
127 |
128 | begin
129 | "
130 | beginCaptures
131 |
132 | 1
133 |
134 | name
135 | punctuation.definition.string.begin.vex
136 |
137 |
138 | end
139 | "
140 | endCaptures
141 |
142 | 1
143 |
144 | name
145 | punctuation.definition.string.end.vex
146 |
147 |
148 | name
149 | string.quoted.double.vex
150 | patterns
151 |
152 |
153 | match
154 | \\.
155 | name
156 | constant.character.escape.vex
157 |
158 |
159 |
160 |
161 | captures
162 |
163 | 1
164 |
165 | name
166 | comment.line.double-slash.vex
167 |
168 | 2
169 |
170 | name
171 | punctuation.definition.comment.vex
172 |
173 |
174 | match
175 | \s*((//).*$\n?)
176 |
177 |
178 | begin
179 | /\*
180 | captures
181 |
182 | 1
183 |
184 | name
185 | punctuation.definition.comment.vex
186 |
187 |
188 | end
189 | \*/
190 | name
191 | comment.block.vex
192 |
193 |
194 | match
195 | \(|\)|,|:|;
196 | name
197 | punctuation.group.vex
198 |
199 |
200 | match
201 | \+\+?|--?|\*|@|\^=?|\|\|?|\|=|&&?|&=|%=?|!=?|==?|~=?|<=?|>=?|\+=|\*=|-=|\/=?
202 | name
203 | keyword.operator.vex
204 |
205 |
206 | match
207 | \b(LN10|LN2|LOG10E|LOG2E|PI|PI_2|PI_4|SQRT1_2|SQRT2|TOLERANCE)\b
208 | name
209 | constant.language
210 |
211 |
212 | scopeName
213 | source.vex
214 | uuid
215 | edd78512-59d9-4cb6-9733-a6adcc972160
216 |
217 |
218 |
--------------------------------------------------------------------------------
/src/compile_and_run.py:
--------------------------------------------------------------------------------
1 | # http://www.sidefx.com/docs/houdini13.0/vex/vcc
2 | # vcc
3 |
4 | # http://www.sidefx.com/docs/houdini13.0/ref/utils/vexexec
5 | # vexexec [-p nproc] [-t] ...
6 |
7 | import os
8 | import re
9 | import sys
10 | import platform
11 | import subprocess
12 |
13 |
14 | LIN_DEFAULT = '/opt'
15 | OSX_DEFAULT = '/Applications'
16 | WIN_DEFAULT = 'C:/Program Files/Side Effects Software'
17 |
18 |
19 | def version_tuple(name):
20 | """Given 'Houdini 13.0.376', returns the tuple (13, 0, 376)."""
21 | return tuple([int(d) for d in re.findall('[0-9]{1,4}', name)])
22 |
23 |
24 | def common_install():
25 | """Returns the common houdini install parent directory based on the
26 | platform as well as the regex for the install name pattern."""
27 | plat = platform.platform(terse=True)
28 |
29 | if plat.startswith('Win'):
30 | install = WIN_DEFAULT
31 | regex = '^Houdini.*' # Houdini 13.0.376
32 |
33 | elif plat.startswith('Dar'):
34 | install = OSX_DEFAULT
35 | regex = '^Houdini.*' # Houdini 13.0.376
36 |
37 | elif plat.startswith('Lin'):
38 | install = LIN_DEFAULT
39 | regex = '^hfs.*' # hfs13.0.376
40 |
41 | else:
42 | raise Exception('Unknown platform, cannot find Houdini.')
43 |
44 | return (os.path.normpath(install), regex)
45 |
46 |
47 | def find_latest_houdini():
48 | """Searches the default sidefx install locations for the most up to date
49 | install of houdini and returns the normalized path and version as a tuple.
50 |
51 | Example return:
52 | ( '/Applications/Houdini 13.0.376', (13, 0, 376) )."""
53 | install, regex = common_install()
54 |
55 | # find all the houdini directories in the install parent directory
56 | versions = []
57 | for folder in os.listdir(install):
58 | if re.match(regex, folder):
59 | versions.append(folder)
60 |
61 | # find the most up to date version in the install path by comparing the
62 | # major, minor and bug release numbers
63 | current_name = 'Houdini 0.0.0'
64 | current_mmb = (0, 0, 0)
65 |
66 | for ver in versions:
67 | # find groups of digits of min length 1, max length 4, and cast to int
68 | mmb = version_tuple(ver)
69 |
70 | if len(mmb) < 3:
71 | raise Exception('Unexpected version format.')
72 |
73 | # compare major
74 | newer = False
75 | if mmb[0] > current_mmb[0]:
76 | newer = True
77 | elif mmb[0] == current_mmb[0]:
78 | # same major, so compare minor version
79 | if mmb[1] > current_mmb[1]:
80 | newer = True
81 | elif mmb[1] == current_mmb[1]:
82 | # same minor, so compare bug version
83 | if mmb[2] > current_mmb[2]:
84 | newer = True
85 |
86 | if newer:
87 | current_name = ver
88 | current_mmb = mmb
89 |
90 | # we should now have the most current houdini install
91 | return (os.path.join(install, current_name), current_mmb)
92 |
93 |
94 | def find_houdini():
95 | """Returns the version of Houdini specified by the hfs environment
96 | variable and failing that calls find_latest_houdini() which will search
97 | commmon default install locations.
98 |
99 | Example return:
100 | ( '/Applications/Houdini 13.0.376', (13, 0, 376) )."""
101 | try:
102 | hfs = os.environ['HFS']
103 | head, tail = os.path.split(hfs)
104 | return (hfs, version_tuple(tail))
105 |
106 | except:
107 | return find_latest_houdini()
108 |
109 |
110 | def execute(bin, vex, threads=1, time=True):
111 | """Uses vexexec to run simple vex programs. Not incredibly useful."""
112 | vexexec = os.path.normpath(os.path.join(bin, 'vexexec'))
113 |
114 | # execute vex
115 | if time:
116 | subprocess.call([vexexec, '-p', str(threads), '-t', vex], shell=True)
117 | else:
118 | subprocess.call([vexexec, '-p', str(threads), vex], shell=True)
119 |
120 |
121 | def build(bin, vfl):
122 | """Builds the vfl path. Compilation name is the same but with the vex
123 | extension."""
124 | vcc = os.path.normpath(os.path.join(bin, 'vcc'))
125 |
126 | # compile vfl to vex
127 | vex = vfl.replace('.vfl', '.vex')
128 | subprocess.call([vcc, vfl, '-o', vex], shell=True)
129 |
130 | return vex
131 |
132 |
133 | def main(vfl, run=False, version=True, threads=1, time=True):
134 | """Compiles and optionally runs vex code. Arguments:
135 | vfl: the path to compile '/some/code.vlf'
136 | run: if this is true, we call execute() and thus vexexec
137 | version: print the houdini version called for compiling and running
138 | threads: number of threads when run is true
139 | time: print the execution time when running
140 | """
141 | hfs, version = find_houdini()
142 | if version:
143 | print('Using houdini path:\n\t%s' % hfs)
144 |
145 | # compile
146 | print('Compiling:\n\t%s' % vfl)
147 | bin = os.path.join(hfs, 'bin')
148 | vex = build(bin, vfl)
149 |
150 | # execute
151 | if run:
152 | print('Executing:\n\t%s' % vex)
153 | execute(bin, vex, threads, time)
154 |
155 |
156 | if __name__ == '__main__':
157 | if len(sys.argv) < 2:
158 | raise Exception('No vfl specified for compilation.')
159 |
160 | elif len(sys.argv) == 2:
161 | # build
162 | main(sys.argv[1])
163 |
164 | elif len(sys.argv) == 3:
165 | # build and run
166 | main(sys.argv[1], sys.argv[2])
167 |
168 | else:
169 | raise Exception('To many arguments.')
170 |
--------------------------------------------------------------------------------
/src/vcc_utils.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import re
4 | import subprocess
5 | import json
6 |
7 | VCC_PATH = 'C:/Program Files/Side Effects Software/Houdini 16.0.600/bin/vcc.exe'
8 | SYN_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')
9 | COMP_PATH = os.path.join(SYN_PATH, 'VEX.sublime-completions')
10 | FUNC_PATH = os.path.join(os.path.join(SYN_PATH, 'syntax_lists'), 'VexFunctions.txt')
11 |
12 |
13 | def contexts(vcc_path=VCC_PATH):
14 | """Return a sorted list of all vex contexts."""
15 | ctxs = subprocess.check_output([vcc_path, '-X'])
16 | ctxs = ctxs.decode('ascii').split('\n')
17 | return sorted([x for x in ctxs if x != '' and x != None])
18 |
19 |
20 | def context_functions(context, vcc_path=VCC_PATH, as_set=False):
21 | """Return the sorted list of all function names for a vex context."""
22 | ctx_info = subprocess.check_output([vcc_path, '-X', context])
23 | ctx_info = ctx_info.decode('ascii')
24 |
25 | funcs = set()
26 | for f in re.findall('\w+\(', ctx_info):
27 | if len(f) > 1:
28 | funcs.add(f[:-1])
29 |
30 | if as_set:
31 | return funcs
32 | else:
33 | return sorted(list(funcs))
34 |
35 |
36 | def context_function_signatures(context, vcc_path=VCC_PATH):
37 | ctx_info = subprocess.check_output([vcc_path, '-X', context])
38 | ctx_info = ctx_info.decode('ascii')
39 |
40 | sigs = []
41 | for s in re.findall('(\w+(\[\])?) (\w+)\((.*)\)', ctx_info):
42 | sig_str = '%s %s(%s)' % (s[0], s[2], s[3])
43 | if s[3] == 'void':
44 | hint_str = ''
45 | else:
46 | hint_str = '%s\n(%s)' % (s[0], s[3].rstrip().lstrip().rstrip(';'))
47 | args = [x.strip() for x in s[3].split(';')]
48 | sigs.append({'returns':s[0], 'name':s[2], 'ctx':context, 'args':args, 'str':sig_str,
49 | 'hint':hint_str})
50 |
51 | return sigs
52 |
53 |
54 | def all_functions(vcc_path=VCC_PATH, write_functions=True, function_path=FUNC_PATH):
55 | """Returns a sorted list of all vex functions in all contexts."""
56 | all_funcs = set()
57 | for ctx in contexts():
58 | all_funcs.update(context_functions(ctx, as_set=True))
59 |
60 | all_funcs_sorted = sorted(all_funcs)
61 |
62 | if write_functions:
63 | with open(function_path, 'w') as f:
64 | for func in all_funcs_sorted:
65 | f.write('{}\n'.format(func))
66 |
67 | return all_funcs_sorted
68 |
69 |
70 | def all_function_signatures(vcc_path=VCC_PATH):
71 | all_sigs = []
72 | sig_strs = set()
73 |
74 | for ctx in contexts():
75 | ctx_sigs = context_function_signatures(ctx)
76 |
77 | for ctx_sig in ctx_sigs:
78 | if ctx_sig['str'] not in sig_strs:
79 | sig_strs.add(ctx_sig['str'])
80 | all_sigs.append(ctx_sig)
81 |
82 | return all_sigs
83 |
84 |
85 | def generate_simple_completions(sublime_completion_path=COMP_PATH):
86 | """Converts the function signitures generated by vcc into SublimeText compatable completion
87 | JSON files."""
88 | completions = []
89 | for name in all_functions():
90 | completions.append({'trigger' : ('%s\tfunction' % name),
91 | 'contents': ('%s(${1})' % name)})
92 |
93 | data = {'scope': 'source.vex', 'completions': completions}
94 |
95 | with open(sublime_completion_path, 'w') as f:
96 | json.dump(data, f, sort_keys=True, indent=4, separators=(',', ': '))
97 |
98 |
99 | def generate_completions(sublime_completion_path=COMP_PATH):
100 | """Converts the function signitures generated by vcc into SublimeText compatable completion
101 | JSON files."""
102 | completions = []
103 | for sig in all_function_signatures():
104 |
105 | if len(sig['args']) == 1 and sig['args'][0] == 'void':
106 | comp_arg_fmt = ''
107 | else:
108 | comp_arg_fmt = ''
109 | comp_arg_fmt_no_varadic = ''
110 | c = 1
111 |
112 | for arg_type in sig['args']:
113 | comp_arg_fmt += ('${%d:%s}, ' % (c, arg_type))
114 | c += 1
115 | if arg_type != '...':
116 | comp_arg_fmt_no_varadic = comp_arg_fmt
117 |
118 | comp_arg_fmt = comp_arg_fmt[:-2] # stripping ', ' before closing parenthesis
119 | comp_arg_fmt_no_varadic = comp_arg_fmt_no_varadic[:-2]
120 |
121 | # in the varadic case, we'll generate two completions - one with and one without the
122 | # varadic argument elipsis
123 | if sig['args'][-1] == '...':
124 | new_hint = sig['hint'][:-4]
125 | new_hint = new_hint.rstrip().rstrip(';')
126 | new_hint += ')'
127 | completions.append({'trigger' : ('%s\t%s' % (sig['name'], new_hint)),
128 | 'contents': ('%s(%s)' % (sig['name'], comp_arg_fmt_no_varadic))})
129 |
130 | completions.append({'trigger' : ('%s\t%s' % (sig['name'], sig['hint'])),
131 | 'contents': ('%s(%s)' % (sig['name'], comp_arg_fmt))})
132 |
133 | data = {'scope': 'source.vex', 'completions': completions}
134 |
135 | with open(sublime_completion_path, 'w') as f:
136 | json.dump(data, f, sort_keys=True, indent=4, separators=(',', ': '))
137 |
138 |
139 | if __name__ == '__main__':
140 | if len(sys.argv) < 2:
141 | generate_simple_completions()
142 | elif len(sys.argv) == 2:
143 | generate_simple_completions(sys.argv[1])
144 | else:
145 | raise Exception('To many arguments.')
146 |
--------------------------------------------------------------------------------
/syntax_lists/VexComments.txt:
--------------------------------------------------------------------------------
1 | /*
2 | */
3 | //
--------------------------------------------------------------------------------
/syntax_lists/VexContexts.txt:
--------------------------------------------------------------------------------
1 | chop
2 | cop2
3 | cvex
4 | displace
5 | fog
6 | image3d
7 | light
8 | pop
9 | shadow
10 | sop
11 | surface
--------------------------------------------------------------------------------
/syntax_lists/VexDataTypes.txt:
--------------------------------------------------------------------------------
1 | bsdf
2 | char
3 | color
4 | float
5 | int
6 | integer
7 | matrix
8 | matrix2
9 | matrix3
10 | matrix4
11 | normal
12 | point
13 | string
14 | struct
15 | typedef
16 | union
17 | vector
18 | vector2
19 | vector4
20 | void
--------------------------------------------------------------------------------
/syntax_lists/VexFunctions.txt:
--------------------------------------------------------------------------------
1 | Du
2 | Dv
3 | Dw
4 | abs
5 | accessframe
6 | acos
7 | addattrib
8 | addattribute
9 | adddetailattrib
10 | addgroup
11 | addpoint
12 | addpointattrib
13 | addprim
14 | addprimattrib
15 | addvariablename
16 | addvertex
17 | addvertexattrib
18 | addvisualizer
19 | agentaddclip
20 | agentclipcatalog
21 | agentclipchannel
22 | agentcliplength
23 | agentclipnames
24 | agentclipsample
25 | agentclipsamplelocal
26 | agentclipsamplerate
27 | agentclipsampleworld
28 | agentcliptimes
29 | agentcliptransformgroups
30 | agentclipweights
31 | agentcollisionlayer
32 | agentcurrentlayer
33 | agentlayerbindings
34 | agentlayers
35 | agentlayershapes
36 | agentlocaltransform
37 | agentlocaltransforms
38 | agentrigchildren
39 | agentrigfind
40 | agentrigparent
41 | agenttransformcount
42 | agenttransformgroupmember
43 | agenttransformgroups
44 | agenttransformnames
45 | agenttransformtolocal
46 | agenttransformtoworld
47 | agentworldtransform
48 | agentworldtransforms
49 | albedo
50 | alphaname
51 | ambient
52 | anoise
53 | append
54 | area
55 | argsort
56 | array
57 | ashikhmin
58 | asin
59 | assert_enabled
60 | assign
61 | atan
62 | atan2
63 | atof
64 | atoi
65 | atten
66 | attrib
67 | attribclass
68 | attribsize
69 | attribtype
70 | attribtypeinfo
71 | avg
72 | binput
73 | blackbody
74 | blinn
75 | blinnBRDF
76 | bouncelabel
77 | bouncemask
78 | bumpmap
79 | bumpmapA
80 | bumpmapB
81 | bumpmapG
82 | bumpmapL
83 | bumpmapR
84 | bumpname
85 | cbrt
86 | ceil
87 | ch
88 | ch3
89 | ch4
90 | chattr
91 | chend
92 | chendf
93 | chendt
94 | chf
95 | chi
96 | chindex
97 | chinput
98 | chname
99 | chnumchan
100 | chp
101 | chr
102 | chramp
103 | chrate
104 | chreadbuf
105 | chresizebuf
106 | chs
107 | chsetattr
108 | chsraw
109 | chstart
110 | chstartf
111 | chstartt
112 | chv
113 | chwritebuf
114 | cinput
115 | ckspline
116 | clamp
117 | clip
118 | colormap
119 | colorname
120 | computenormal
121 | concat
122 | cone
123 | cos
124 | cosh
125 | cracktransform
126 | create_cdf
127 | create_pdf
128 | cross
129 | cspline
130 | ctransform
131 | curlnoise
132 | curlnoise2d
133 | curlxnoise
134 | curlxnoise2d
135 | cvex_bsdf
136 | degrees
137 | depthmap
138 | depthname
139 | detail
140 | detailattrib
141 | detailattribsize
142 | detailattribtype
143 | detailattribtypeinfo
144 | detailintrinsic
145 | determinant
146 | diffuse
147 | diffuseBRDF
148 | dihedral
149 | dimport
150 | distance
151 | distance2
152 | dot
153 | dsmpixel
154 | efit
155 | eigenvalues
156 | endswith
157 | environment
158 | erf
159 | erf_inv
160 | erfc
161 | error
162 | eulertoquaternion
163 | eval_bsdf
164 | exp
165 | expand_udim
166 | expandedgegroup
167 | expandpointgroup
168 | expandprimgroup
169 | fastshadow
170 | filamentsample
171 | file_stat
172 | filtershadow
173 | filterstep
174 | find
175 | findattribval
176 | findattribvalcount
177 | finput
178 | fit
179 | fit01
180 | fit10
181 | fit11
182 | floor
183 | flownoise
184 | flowpnoise
185 | frac
186 | fresnel
187 | fromNDC
188 | frontface
189 | fuzzify
190 | fuzzy_and
191 | fuzzy_defuzz_centroid
192 | fuzzy_nand
193 | fuzzy_nor
194 | fuzzy_not
195 | fuzzy_nxor
196 | fuzzy_or
197 | fuzzy_xor
198 | geoself
199 | geounwrap
200 | getattrib
201 | getattribute
202 | getbbox
203 | getbbox_center
204 | getbbox_max
205 | getbbox_min
206 | getbbox_size
207 | getblurP
208 | getbounces
209 | getbounds
210 | getcomp
211 | getcomponents
212 | getderiv
213 | getfogname
214 | getglobalraylevel
215 | getgroupid
216 | getlight
217 | getlightid
218 | getlightname
219 | getlights
220 | getlightscope
221 | getlocalcurvature
222 | getmaterial
223 | getmaterialid
224 | getobjectid
225 | getobjectname
226 | getphotonlight
227 | getpointbbox
228 | getpointbbox_center
229 | getpointbbox_max
230 | getpointbbox_min
231 | getpointbbox_size
232 | getprimid
233 | getptextureid
234 | getraylevel
235 | getrayweight
236 | getsamplestore
237 | getscope
238 | getsmoothP
239 | getspace
240 | getuvtangents
241 | gradient
242 | hair
243 | hasattrib
244 | hasdetailattrib
245 | haslight
246 | hasmetadata
247 | hasplane
248 | haspointattrib
249 | hasprimattrib
250 | hasvertexattrib
251 | hedge_dstpoint
252 | hedge_dstvertex
253 | hedge_equivcount
254 | hedge_isequiv
255 | hedge_isprimary
256 | hedge_isvalid
257 | hedge_next
258 | hedge_nextequiv
259 | hedge_postdstpoint
260 | hedge_postdstvertex
261 | hedge_presrcpoint
262 | hedge_presrcvertex
263 | hedge_prev
264 | hedge_prim
265 | hedge_primary
266 | hedge_srcpoint
267 | hedge_srcvertex
268 | henyeygreenstein
269 | hscript_noise
270 | hscript_rand
271 | hscript_snoise
272 | hscript_sturb
273 | hscript_turb
274 | hsvtorgb
275 | iaspect
276 | ichname
277 | ident
278 | idtopoint
279 | idtoprim
280 | iend
281 | iendtime
282 | ihasplane
283 | import
284 | inedgegroup
285 | ingroup
286 | inpointgroup
287 | inprimgroup
288 | insert
289 | instance
290 | interpolate
291 | intersect
292 | intersect_all
293 | intersect_lights
294 | inumplanes
295 | invert
296 | invertexgroup
297 | iplaneindex
298 | iplanename
299 | iplanesize
300 | irate
301 | irradiance
302 | isalpha
303 | isbound
304 | isconnected
305 | isdigit
306 | isfinite
307 | isfogray
308 | isframes
309 | isnan
310 | isotropic
311 | israytracing
312 | issamples
313 | isseconds
314 | isshadowray
315 | istart
316 | istarttime
317 | isuvrendering
318 | isvalidindex
319 | isvarying
320 | itoa
321 | ixres
322 | iyres
323 | join
324 | kspline
325 | len
326 | length
327 | length2
328 | lerp
329 | lightbounces
330 | lightid
331 | limit_sample_space
332 | limport
333 | lkspline
334 | log
335 | log10
336 | lookat
337 | lspline
338 | lstrip
339 | luminance
340 | lumname
341 | makebasis
342 | maketransform
343 | maskname
344 | match
345 | matchvex_blinn
346 | matchvex_specular
347 | mattrib
348 | max
349 | mdensity
350 | metadata
351 | metaimport
352 | metamarch
353 | metanext
354 | metastart
355 | metaweight
356 | min
357 | minpos
358 | mspace
359 | nametopoint
360 | nametoprim
361 | nbouncetypes
362 | nearpoint
363 | nearpoints
364 | nedgesgroup
365 | neighbour
366 | neighbourcount
367 | neighbours
368 | newgroup
369 | newsampler
370 | nextsample
371 | ninput
372 | ninputs
373 | noise
374 | noised
375 | normal_bsdf
376 | normalize
377 | normalname
378 | npoints
379 | npointsgroup
380 | nprimitives
381 | nprimitivesgroup
382 | nrandom
383 | ntransform
384 | nuniqueval
385 | nvertices
386 | nverticesgroup
387 | occlusion
388 | ocean_sample
389 | ocio_import
390 | ocio_spaces
391 | ocio_transform
392 | onoise
393 | opdigits
394 | opend
395 | opfullpath
396 | opparentbonetransform
397 | opparenttransform
398 | opparmtransform
399 | oppreconstrainttransform
400 | oppretransform
401 | opstart
402 | optransform
403 | ord
404 | osd_facecount
405 | osd_firstpatch
406 | osd_limitsurface
407 | osd_limitsurfacevertex
408 | osd_lookupface
409 | osd_lookuppatch
410 | osd_patchcount
411 | osd_patches
412 | outerproduct
413 | ow_nspace
414 | ow_space
415 | ow_vspace
416 | pack_inttosafefloat
417 | pathtrace
418 | pcclose
419 | pcconvex
420 | pcexport
421 | pcfarthest
422 | pcfilter
423 | pcfind
424 | pcfind_radius
425 | pcgenerate
426 | pcimport
427 | pcimportbyidx3
428 | pcimportbyidx4
429 | pcimportbyidxf
430 | pcimportbyidxi
431 | pcimportbyidxp
432 | pcimportbyidxs
433 | pcimportbyidxv
434 | pciterate
435 | pcnumfound
436 | pcopen
437 | pcopenlod
438 | pcsampleleaf
439 | pcsize
440 | pcunshaded
441 | pcwrite
442 | pgfind
443 | phong
444 | phongBRDF
445 | phonglobe
446 | photonmap
447 | planeindex
448 | planename
449 | planepointdistance
450 | planesize
451 | planesphereintersect
452 | pluralize
453 | pnoise
454 | point
455 | pointattrib
456 | pointattribsize
457 | pointattribtype
458 | pointattribtypeinfo
459 | pointedge
460 | pointhedge
461 | pointhedgenext
462 | pointname
463 | pointprims
464 | pointvertex
465 | pointvertices
466 | polardecomp
467 | pop
468 | pow
469 | predicate_incircle
470 | predicate_insphere
471 | predicate_orient2d
472 | predicate_orient3d
473 | prim
474 | prim_attribute
475 | prim_normal
476 | primarclen
477 | primattrib
478 | primattribsize
479 | primattribtype
480 | primattribtypeinfo
481 | primduv
482 | primfind
483 | primhedge
484 | primintrinsic
485 | primpoint
486 | primpoints
487 | primuv
488 | primuvconvert
489 | primvertex
490 | primvertexcount
491 | primvertices
492 | print_once
493 | printf
494 | product
495 | ptexture
496 | ptlined
497 | ptransform
498 | push
499 | qconvert
500 | qdistance
501 | qinvert
502 | qmultiply
503 | qrotate
504 | quaternion
505 | radians
506 | rand
507 | random
508 | random_fhash
509 | random_ihash
510 | random_shash
511 | random_sobol
512 | rawbumpmap
513 | rawbumpmapA
514 | rawbumpmapB
515 | rawbumpmapG
516 | rawbumpmapL
517 | rawbumpmapR
518 | rawcolormap
519 | rayhittest
520 | rayimport
521 | re_find
522 | re_findall
523 | re_match
524 | re_replace
525 | re_split
526 | reflect
527 | reflectlight
528 | refract
529 | refractlight
530 | relativepath
531 | relbbox
532 | relpointbbox
533 | removegroup
534 | removeindex
535 | removepoint
536 | removeprim
537 | removevalue
538 | renderstate
539 | reorder
540 | resample_linear
541 | resize
542 | resolvemissedray
543 | reverse
544 | rgbtohsv
545 | rgbtoxyz
546 | rint
547 | rotate
548 | rotate_x_to
549 | rstrip
550 | sample_bsdf
551 | sample_cauchy
552 | sample_cdf
553 | sample_circle_arc
554 | sample_circle_edge_uniform
555 | sample_circle_slice
556 | sample_circle_uniform
557 | sample_direction_cone
558 | sample_direction_uniform
559 | sample_discrete
560 | sample_exponential
561 | sample_geometry
562 | sample_hemisphere
563 | sample_hypersphere_cone
564 | sample_hypersphere_uniform
565 | sample_light
566 | sample_lognormal
567 | sample_lognormal_by_median
568 | sample_normal
569 | sample_orientation_cone
570 | sample_orientation_uniform
571 | sample_photon
572 | sample_sphere_cone
573 | sample_sphere_uniform
574 | sampledisk
575 | scale
576 | scatter
577 | select
578 | sensor_panorama_create
579 | sensor_panorama_getcolor
580 | sensor_panorama_getcone
581 | sensor_panorama_getdepth
582 | sensor_save
583 | serialize
584 | set
585 | setagentclipnames
586 | setagentclips
587 | setagentcliptimes
588 | setagentclipweights
589 | setagentcollisionlayer
590 | setagentcurrentlayer
591 | setagentlocaltransform
592 | setagentlocaltransforms
593 | setagentworldtransform
594 | setagentworldtransforms
595 | setattrib
596 | setattribtypeinfo
597 | setcomp
598 | setcurrentlight
599 | setdetailattrib
600 | setedgegroup
601 | setpointattrib
602 | setpointgroup
603 | setprimattrib
604 | setprimgroup
605 | setprimintrinsic
606 | setprimvertex
607 | setsamplestore
608 | setvertexattrib
609 | setvertexgroup
610 | setvertexpoint
611 | shadow
612 | shadow_light
613 | shadowmap
614 | shimport
615 | shl
616 | shr
617 | shrz
618 | sign
619 | simport
620 | sin
621 | sinh
622 | sleep
623 | slerp
624 | slice
625 | slideframe
626 | smooth
627 | smoothrotation
628 | snoise
629 | solid_angle
630 | solvecubic
631 | solvepoly
632 | solvequadratic
633 | sort
634 | specular
635 | specularBRDF
636 | spline
637 | split
638 | split_bsdf
639 | splitpath
640 | sprintf
641 | sqrt
642 | sssapprox
643 | startswith
644 | storelightexport
645 | strip
646 | strlen
647 | sum
648 | switch
649 | swizzle
650 | tan
651 | tanh
652 | tet_adjacent
653 | tet_faceindex
654 | teximport
655 | texprintf
656 | texture
657 | texture3d
658 | texture3dBox
659 | titlecase
660 | toNDC
661 | tolower
662 | toupper
663 | trace
664 | translate
665 | translucent
666 | transpose
667 | trunc
668 | tw_nspace
669 | tw_space
670 | tw_vspace
671 | uniqueval
672 | unpack_intfromsafefloat
673 | unserialize
674 | upush
675 | uvdist
676 | uvintersect
677 | uvsample
678 | uvunwrap
679 | variance
680 | velocityname
681 | vertex
682 | vertexattrib
683 | vertexattribsize
684 | vertexattribtype
685 | vertexattribtypeinfo
686 | vertexhedge
687 | vertexindex
688 | vertexnext
689 | vertexpoint
690 | vertexprev
691 | vertexprim
692 | vertexprimindex
693 | vnoise
694 | volume
695 | volumegradient
696 | volumeindex
697 | volumeindexorigin
698 | volumeindextopos
699 | volumeindexv
700 | volumepostoindex
701 | volumeres
702 | volumesample
703 | volumesamplev
704 | volumevoxeldiameter
705 | vtransform
706 | warning
707 | wireblinn
708 | wirediffuse
709 | wnoise
710 | wo_nspace
711 | wo_space
712 | wo_vspace
713 | writepixel
714 | wt_nspace
715 | wt_space
716 | wt_vspace
717 | xnoise
718 | xnoised
719 | xyzdist
720 | xyztorgb
--------------------------------------------------------------------------------
/syntax_lists/VexKeywords.txt:
--------------------------------------------------------------------------------
1 | break
2 | bsdf
3 | char
4 | color
5 | continue
6 | do
7 | else
8 | float
9 | for
10 | foreach
11 | forpoints
12 | function
13 | gather
14 | hpoint
15 | if
16 | illuminance
17 | int
18 | integer
19 | matrix
20 | matrix3
21 | matrix4
22 | normal
23 | point
24 | return
25 | string
26 | struct
27 | typedef
28 | union
29 | vector
30 | vector2
31 | vector4
32 | while
--------------------------------------------------------------------------------
/syntax_lists/VexMacros.txt:
--------------------------------------------------------------------------------
1 | #define
2 | #else
3 | #endif
4 | #ifndef
5 | #ifdef
6 | #if
7 | #include
8 | #pragma
9 | #undef
--------------------------------------------------------------------------------
/syntax_lists/VexOperators.txt:
--------------------------------------------------------------------------------
1 | ()
2 | !
3 | ~
4 | ++
5 | --
6 | *
7 | /
8 | %
9 | +
10 | -
11 | <
12 | >
13 | <=
14 | >=
15 | ==
16 | !=
17 | &
18 | ^
19 | |
20 | &&
21 | ||
22 | ? :
23 | =
24 | +=
25 | -=
26 | *=
27 | /=
28 | %=
29 | &=
30 | |=
31 | ^=
32 | ,
33 | @
--------------------------------------------------------------------------------
/syntax_lists/VexVariables.txt:
--------------------------------------------------------------------------------
1 | A
2 | AI
3 | AR
4 | AS
5 | Af
6 | B
7 | C
8 | C4
9 | Cb
10 | Cd
11 | Cf
12 | Cg
13 | Cl
14 | Cr
15 | E
16 | EF
17 | Eye
18 | F
19 | FR
20 | Frame
21 | G
22 | H
23 | I
24 | IX
25 | IY
26 | L
27 | Lz
28 | N
29 | NC
30 | NI
31 | NP
32 | Ng
33 | Npt
34 | Of
35 | P
36 | PL
37 | PNAME
38 | PS
39 | PXSC
40 | Ps
41 | Pw
42 | Pz
43 | R
44 | S
45 | SF
46 | SID
47 | SR
48 | TIME
49 | TINC
50 | Time
51 | TimeInc
52 | V
53 | X
54 | XRES
55 | Y
56 | YRES
57 | accel
58 | age
59 | dPds
60 | dPdt
61 | dPdz
62 | density
63 | id
64 | life
65 | pstate
66 | ptnum
67 | s
68 | t
69 | v
--------------------------------------------------------------------------------