l0bsterssg

node.js static responsive blog post generator
Log | Files | Refs | README

sqf.js (38020B)


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