sqf.js 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. module.exports = function(hljs) {
  2. // In SQF, a variable start with _
  3. var VARIABLE = {
  4. className: 'variable',
  5. begin: /\b_+[a-zA-Z_]\w*/
  6. };
  7. // In SQF, a function should fit myTag_fnc_myFunction pattern
  8. // https://community.bistudio.com/wiki/Functions_Library_(Arma_3)#Adding_a_Function
  9. var FUNCTION = {
  10. className: 'title',
  11. begin: /[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/
  12. };
  13. // In SQF strings, quotes matching the start are escaped by adding a consecutive.
  14. // Example of single escaped quotes: " "" " and ' '' '.
  15. var STRINGS = {
  16. className: 'string',
  17. variants: [
  18. {
  19. begin: '"',
  20. end: '"',
  21. contains: [{begin: '""', relevance: 0}]
  22. },
  23. {
  24. begin: '\'',
  25. end: '\'',
  26. contains: [{begin: '\'\'', relevance: 0}]
  27. }
  28. ]
  29. };
  30. // list of keywords from:
  31. // https://community.bistudio.com/wiki/PreProcessor_Commands
  32. var PREPROCESSOR = {
  33. className: 'meta',
  34. begin: /#\s*[a-z]+\b/, end: /$/,
  35. keywords: {
  36. 'meta-keyword':
  37. 'define undef ifdef ifndef else endif include'
  38. },
  39. contains: [
  40. {
  41. begin: /\\\n/, relevance: 0
  42. },
  43. hljs.inherit(STRINGS, {className: 'meta-string'}),
  44. {
  45. className: 'meta-string',
  46. begin: /<[^\n>]*>/, end: /$/,
  47. illegal: '\\n',
  48. },
  49. hljs.C_LINE_COMMENT_MODE,
  50. hljs.C_BLOCK_COMMENT_MODE
  51. ]
  52. };
  53. return {
  54. aliases: ['sqf'],
  55. case_insensitive: true,
  56. keywords: {
  57. keyword:
  58. 'case catch default do else exit exitWith for forEach from if ' +
  59. 'private switch then throw to try waitUntil while with',
  60. built_in:
  61. 'abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames ' +
  62. 'actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey ' +
  63. 'add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo ' +
  64. 'addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea ' +
  65. 'addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler ' +
  66. 'addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo ' +
  67. 'addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats ' +
  68. 'addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal ' +
  69. 'addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler ' +
  70. 'addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem ' +
  71. 'addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem ' +
  72. 'addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest ' +
  73. 'addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem ' +
  74. 'addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD ' +
  75. 'airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls ' +
  76. 'allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines ' +
  77. 'allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage ' +
  78. 'allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects ' +
  79. 'allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay ' +
  80. 'animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase ' +
  81. 'animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert ' +
  82. 'assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret ' +
  83. 'assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems ' +
  84. 'assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam ' +
  85. 'assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject ' +
  86. 'attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines ' +
  87. 'backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter ' +
  88. 'breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode ' +
  89. 'call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams ' +
  90. 'camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView ' +
  91. 'campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive ' +
  92. 'camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget ' +
  93. 'camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos ' +
  94. 'camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest ' +
  95. 'cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend ' +
  96. 'canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked ' +
  97. 'cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className ' +
  98. 'clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons ' +
  99. 'clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal ' +
  100. 'clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool ' +
  101. 'clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory ' +
  102. 'collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow ' +
  103. 'commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop ' +
  104. 'commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal ' +
  105. 'completedFSM composeText configClasses configFile configHierarchy configName configProperties ' +
  106. 'configSourceAddonList configSourceMod configSourceModList confirmSensorTarget ' +
  107. 'connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count ' +
  108. 'countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity ' +
  109. 'createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject ' +
  110. 'createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker ' +
  111. 'createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay ' +
  112. 'createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam ' +
  113. 'createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader ' +
  114. 'ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount ' +
  115. 'ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ' +
  116. 'ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ' +
  117. 'ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ' +
  118. 'ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ' +
  119. 'ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ' +
  120. 'ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ' +
  121. 'ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ' +
  122. 'ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ' +
  123. 'ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ' +
  124. 'ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ' +
  125. 'ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ' +
  126. 'ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ' +
  127. 'ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ' +
  128. 'ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale ' +
  129. 'ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ' +
  130. 'ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ' +
  131. 'ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData ' +
  132. 'ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera ' +
  133. 'curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea ' +
  134. 'curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected ' +
  135. 'curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine ' +
  136. 'currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle ' +
  137. 'currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint ' +
  138. 'currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget ' +
  139. 'customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime ' +
  140. 'deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter ' +
  141. 'deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity ' +
  142. 'deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus ' +
  143. 'deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines ' +
  144. 'diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts ' +
  145. 'diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance ' +
  146. 'diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad ' +
  147. 'diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits ' +
  148. 'diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner ' +
  149. 'difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI ' +
  150. 'disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators ' +
  151. 'disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment ' +
  152. 'disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent ' +
  153. 'displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam ' +
  154. 'distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow ' +
  155. 'doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse ' +
  156. 'drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle ' +
  157. 'drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef ' +
  158. 'dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject ' +
  159. 'editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature ' +
  160. 'enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD ' +
  161. 'enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot ' +
  162. 'enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem ' +
  163. 'enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights ' +
  164. 'enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload ' +
  165. 'enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation ' +
  166. 'enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability ' +
  167. 'enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly ' +
  168. 'endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities ' +
  169. 'environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack ' +
  170. 'everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages ' +
  171. 'eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission ' +
  172. 'fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition ' +
  173. 'findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget ' +
  174. 'firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight ' +
  175. 'flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture ' +
  176. 'forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange ' +
  177. 'forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation ' +
  178. 'formationDirection formationLeader formationMembers formationPosition formationTask formatText ' +
  179. 'formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData ' +
  180. 'get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity ' +
  181. 'get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible ' +
  182. 'get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers ' +
  183. 'getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision ' +
  184. 'getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA ' +
  185. 'getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining ' +
  186. 'getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState ' +
  187. 'getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad ' +
  188. 'getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual ' +
  189. 'getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode ' +
  190. 'getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture ' +
  191. 'getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom ' +
  192. 'getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos ' +
  193. 'getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs ' +
  194. 'getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber ' +
  195. 'getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy ' +
  196. 'getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs ' +
  197. 'getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget ' +
  198. 'getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual ' +
  199. 'getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir ' +
  200. 'getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents ' +
  201. 'getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue ' +
  202. 'getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout ' +
  203. 'getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo ' +
  204. 'getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio ' +
  205. 'goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId ' +
  206. 'groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems ' +
  207. 'handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups ' +
  208. 'hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup ' +
  209. 'hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC ' +
  210. 'hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups ' +
  211. 'importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel ' +
  212. 'infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom ' +
  213. 'initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN ' +
  214. 'is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest ' +
  215. 'isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated ' +
  216. 'isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray ' +
  217. 'isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader ' +
  218. 'isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn ' +
  219. 'isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection ' +
  220. 'isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad ' +
  221. 'isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons ' +
  222. 'isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText ' +
  223. 'isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext ' +
  224. 'isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking ' +
  225. 'isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent ' +
  226. 'joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact ' +
  227. 'kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language ' +
  228. 'laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture ' +
  229. 'lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture ' +
  230. 'lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight ' +
  231. 'lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected ' +
  232. 'lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip ' +
  233. 'lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit ' +
  234. 'leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore ' +
  235. 'leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits ' +
  236. 'libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed ' +
  237. 'linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith ' +
  238. 'linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn ' +
  239. 'lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow ' +
  240. 'lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData ' +
  241. 'lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs ' +
  242. 'loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform ' +
  243. 'loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked ' +
  244. 'lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork ' +
  245. 'logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo ' +
  246. 'magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack ' +
  247. 'magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd ' +
  248. 'mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam ' +
  249. 'markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText ' +
  250. 'markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete ' +
  251. 'menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData ' +
  252. 'menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL ' +
  253. 'menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName ' +
  254. 'missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual ' +
  255. 'modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move ' +
  256. 'move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret ' +
  257. 'moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound ' +
  258. 'nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing ' +
  259. 'nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads ' +
  260. 'nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex ' +
  261. 'nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId ' +
  262. 'objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch ' +
  263. 'onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter ' +
  264. 'onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected ' +
  265. 'onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch ' +
  266. 'openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast ' +
  267. 'overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace ' +
  268. 'particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW ' +
  269. 'playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide ' +
  270. 'playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission ' +
  271. 'playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ' +
  272. 'ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ' +
  273. 'ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound ' +
  274. 'preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon ' +
  275. 'primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName ' +
  276. 'profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition ' +
  277. 'publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool ' +
  278. 'queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate ' +
  279. 'radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random ' +
  280. 'rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl ' +
  281. 'remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler ' +
  282. 'remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems ' +
  283. 'removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas ' +
  284. 'removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems ' +
  285. 'removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers ' +
  286. 'removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons ' +
  287. 'removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea ' +
  288. 'removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks ' +
  289. 'removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem ' +
  290. 'removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest ' +
  291. 'removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret ' +
  292. 'removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler ' +
  293. 'removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem ' +
  294. 'removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon ' +
  295. 'removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret ' +
  296. 'reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources ' +
  297. 'respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt ' +
  298. 'roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ' +
  299. 'ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ' +
  300. 'ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW ' +
  301. 'safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity ' +
  302. 'saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D ' +
  303. 'scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState ' +
  304. 'secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces ' +
  305. 'selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition ' +
  306. 'selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted ' +
  307. 'selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult ' +
  308. 'sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime ' +
  309. 'set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer ' +
  310. 'set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes ' +
  311. 'set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD ' +
  312. 'setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef ' +
  313. 'setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour ' +
  314. 'setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams ' +
  315. 'setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation ' +
  316. 'setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType ' +
  317. 'setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef ' +
  318. 'setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination ' +
  319. 'setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval ' +
  320. 'setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope ' +
  321. 'setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType ' +
  322. 'setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation ' +
  323. 'setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo ' +
  324. 'setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId ' +
  325. 'setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage ' +
  326. 'setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader ' +
  327. 'setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight ' +
  328. 'setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare ' +
  329. 'setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush ' +
  330. 'setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal ' +
  331. 'setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize ' +
  332. 'setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass ' +
  333. 'setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound ' +
  334. 'setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture ' +
  335. 'setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining ' +
  336. 'setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom ' +
  337. 'setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect ' +
  338. 'setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW ' +
  339. 'setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain ' +
  340. 'setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance ' +
  341. 'setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData ' +
  342. 'setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType ' +
  343. 'setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech ' +
  344. 'setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits ' +
  345. 'setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText ' +
  346. 'setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap ' +
  347. 'setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText ' +
  348. 'setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos ' +
  349. 'setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat ' +
  350. 'setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp ' +
  351. 'setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId ' +
  352. 'setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets ' +
  353. 'setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName ' +
  354. 'setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance ' +
  355. 'setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode ' +
  356. 'setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation ' +
  357. 'setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName ' +
  358. 'setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout ' +
  359. 'setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce ' +
  360. 'setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu ' +
  361. 'showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer ' +
  362. 'shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap ' +
  363. 'shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio ' +
  364. 'showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side ' +
  365. 'sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity ' +
  366. 'simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime ' +
  367. 'sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed ' +
  368. 'slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode ' +
  369. 'splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str ' +
  370. 'sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth ' +
  371. 'switchableUnits switchAction switchCamera switchGesture switchLight switchMove ' +
  372. 'synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd ' +
  373. 'synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan ' +
  374. 'targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren ' +
  375. 'taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent ' +
  376. 'taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType ' +
  377. 'terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat ' +
  378. 'tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower ' +
  379. 'toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle ' +
  380. 'triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText ' +
  381. 'triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear ' +
  382. 'tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture ' +
  383. 'tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled ' +
  384. 'tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled ' +
  385. 'tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText ' +
  386. 'tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator ' +
  387. 'unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems ' +
  388. 'uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos ' +
  389. 'unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement ' +
  390. 'unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent ' +
  391. 'useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff ' +
  392. 'vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo ' +
  393. 'vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply ' +
  394. 'vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle ' +
  395. 'vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition ' +
  396. 'vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature ' +
  397. 'vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap ' +
  398. 'visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject ' +
  399. 'waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour ' +
  400. 'waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour ' +
  401. 'waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName ' +
  402. 'waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed ' +
  403. 'waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible ' +
  404. 'weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered ' +
  405. 'weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ',
  406. literal:
  407. 'blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak ' +
  408. 'locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic ' +
  409. 'sideUnknown taskNull teamMemberNull true west',
  410. },
  411. contains: [
  412. hljs.C_LINE_COMMENT_MODE,
  413. hljs.C_BLOCK_COMMENT_MODE,
  414. hljs.NUMBER_MODE,
  415. VARIABLE,
  416. FUNCTION,
  417. STRINGS,
  418. PREPROCESSOR
  419. ],
  420. illegal: /#|^\$ /
  421. };
  422. };