UNPKG

19.1 kBJavaScriptView Raw
1/*
2Language: MEL
3Description: Maya Embedded Language
4Author: Shuen-Huei Guan <drake.guan@gmail.com>
5Website: http://www.autodesk.com/products/autodesk-maya/overview
6Category: graphics
7*/
8
9function mel(hljs) {
10 return {
11 name: 'MEL',
12 keywords:
13 'int float string vector matrix if else switch case default while do for in break ' +
14 'continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic ' +
15 'addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey ' +
16 'affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve ' +
17 'alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor ' +
18 'animDisplay animView annotate appendStringArray applicationName applyAttrPreset ' +
19 'applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx ' +
20 'artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu ' +
21 'artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand ' +
22 'assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface ' +
23 'attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu ' +
24 'attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp ' +
25 'attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery ' +
26 'autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults ' +
27 'bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership ' +
28 'bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType ' +
29 'boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu ' +
30 'buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge ' +
31 'cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch ' +
32 'catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox ' +
33 'character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp ' +
34 'checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip ' +
35 'clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore ' +
36 'closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter ' +
37 'cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color ' +
38 'colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp ' +
39 'colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem ' +
40 'componentEditor compositingInterop computePolysetVolume condition cone confirmDialog ' +
41 'connectAttr connectControl connectDynamic connectJoint connectionInfo constrain ' +
42 'constrainValue constructionHistory container containsMultibyte contextInfo control ' +
43 'convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation ' +
44 'convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache ' +
45 'cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel ' +
46 'cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver ' +
47 'cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor ' +
48 'createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer ' +
49 'createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse ' +
50 'currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx ' +
51 'curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface ' +
52 'curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox ' +
53 'defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete ' +
54 'deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes ' +
55 'delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo ' +
56 'dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable ' +
57 'disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected ' +
58 'displayColor displayCull displayLevelOfDetail displayPref displayRGBColor ' +
59 'displaySmoothness displayStats displayString displaySurface distanceDimContext ' +
60 'distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct ' +
61 'doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator ' +
62 'duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression ' +
63 'dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor ' +
64 'dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers ' +
65 'editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor ' +
66 'editorTemplate effector emit emitter enableDevice encodeString endString endsWith env ' +
67 'equivalent equivalentTol erf error eval evalDeferred evalEcho event ' +
68 'exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp ' +
69 'expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof ' +
70 'fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo ' +
71 'filetest filletCurve filter filterCurve filterExpand filterStudioImport ' +
72 'findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster ' +
73 'finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar ' +
74 'floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo ' +
75 'fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint ' +
76 'frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss ' +
77 'geometryConstraint getApplicationVersionAsFloat getAttr getClassification ' +
78 'getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes ' +
79 'getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender ' +
80 'glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl ' +
81 'gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid ' +
82 'gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap ' +
83 'HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor ' +
84 'HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached ' +
85 'HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel ' +
86 'headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey ' +
87 'hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender ' +
88 'hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox ' +
89 'iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ' +
90 'ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ' +
91 'ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform ' +
92 'insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance ' +
93 'instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp ' +
94 'interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf ' +
95 'isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect ' +
96 'itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx ' +
97 'jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner ' +
98 'keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx ' +
99 'keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx ' +
100 'keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx ' +
101 'keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor ' +
102 'layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList ' +
103 'lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep ' +
104 'listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory ' +
105 'listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation ' +
106 'listNodeTypes listPanelCategories listRelatives listSets listTransforms ' +
107 'listUnselected listerEditor loadFluid loadNewShelf loadPlugin ' +
108 'loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log ' +
109 'longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ' +
110 'makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext ' +
111 'manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx ' +
112 'manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout ' +
113 'menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp ' +
114 'mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move ' +
115 'moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute ' +
116 'nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast ' +
117 'nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint ' +
118 'normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect ' +
119 'nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref ' +
120 'nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType ' +
121 'objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface ' +
122 'offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit ' +
123 'orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier ' +
124 'paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration ' +
125 'panelHistory paramDimContext paramDimension paramLocator parent parentConstraint ' +
126 'particle particleExists particleInstancer particleRenderInfo partition pasteKey ' +
127 'pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture ' +
128 'pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo ' +
129 'pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult ' +
130 'pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend ' +
131 'polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal ' +
132 'polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge ' +
133 'polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge ' +
134 'polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet ' +
135 'polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet ' +
136 'polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection ' +
137 'polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge ' +
138 'polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet ' +
139 'polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix ' +
140 'polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut ' +
141 'polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet ' +
142 'polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge ' +
143 'polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex ' +
144 'polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection ' +
145 'polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection ' +
146 'polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint ' +
147 'polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate ' +
148 'polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge ' +
149 'polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing ' +
150 'polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet ' +
151 'polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace ' +
152 'popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer ' +
153 'projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx ' +
154 'propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd ' +
155 'python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection ' +
156 'radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl ' +
157 'readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference ' +
158 'referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE ' +
159 'registerPluginResource rehash reloadImage removeJoint removeMultiInstance ' +
160 'removePanelCategory rename renameAttr renameSelectionList renameUI render ' +
161 'renderGlobalsNode renderInfo renderLayerButton renderLayerParent ' +
162 'renderLayerPostProcess renderLayerUnparent renderManip renderPartition ' +
163 'renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor ' +
164 'renderWindowSelectContext renderer reorder reorderDeformers requires reroot ' +
165 'resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget ' +
166 'reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx ' +
167 'rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout ' +
168 'runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage ' +
169 'saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale ' +
170 'scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor ' +
171 'sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable ' +
172 'scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt ' +
173 'searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey ' +
174 'selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType ' +
175 'selectedNodes selectionConnection separator setAttr setAttrEnumResource ' +
176 'setAttrMapping setAttrNiceNameResource setConstraintRestPosition ' +
177 'setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr ' +
178 'setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe ' +
179 'setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag ' +
180 'setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject ' +
181 'setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets ' +
182 'shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare ' +
183 'shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField ' +
184 'shortNameOf showHelp showHidden showManipCtx showSelectionInTitle ' +
185 'showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface ' +
186 'size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep ' +
187 'snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound ' +
188 'soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort ' +
189 'spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString ' +
190 'startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp ' +
191 'stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex ' +
192 'stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex ' +
193 'stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString ' +
194 'stringToStringArray strip stripPrefixFromName stroke subdAutoProjection ' +
195 'subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV ' +
196 'subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror ' +
197 'subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease ' +
198 'subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring ' +
199 'surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton ' +
200 'symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext ' +
201 'texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext ' +
202 'texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text ' +
203 'textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList ' +
204 'textToShelf textureDisplacePlane textureHairColor texturePlacementContext ' +
205 'textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath ' +
206 'toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower ' +
207 'toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper ' +
208 'trace track trackCtx transferAttributes transformCompare transformLimits translator ' +
209 'trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence ' +
210 'twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit ' +
211 'unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink ' +
212 'uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane ' +
213 'viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex ' +
214 'waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire ' +
215 'wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform',
216 illegal: '</',
217 contains: [
218 hljs.C_NUMBER_MODE,
219 hljs.APOS_STRING_MODE,
220 hljs.QUOTE_STRING_MODE,
221 {
222 className: 'string',
223 begin: '`',
224 end: '`',
225 contains: [ hljs.BACKSLASH_ESCAPE ]
226 },
227 { // eats variables
228 begin: /[$%@](\^\w\b|#\w+|[^\s\w{]|\{\w+\}|\w+)/
229 },
230 hljs.C_LINE_COMMENT_MODE,
231 hljs.C_BLOCK_COMMENT_MODE
232 ]
233 };
234}
235
236export { mel as default };