-
-
Save brianairb/e1bbdf9dcd1cfc16ba1224fc2abd1e9e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>fileTypes</key> | |
<array> | |
<string>ns</string> | |
</array> | |
<key>foldingStartMarker</key> | |
<string>(?x) | |
/\*\*(?!\*) | |
|^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S)) | |
</string> | |
<key>foldingStopMarker</key> | |
<string>(?<!\*)\*\*/|^\s*\}</string> | |
<key>name</key> | |
<string>Nox Script 3.0</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comments</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(break|continue|else|for|goto|if|return|while)\b</string> | |
<key>name</key> | |
<string>keyword.control.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(true|false|self|other)\b</string> | |
<key>name</key> | |
<string>keyword.other.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(float|int|void|string|object)\b</string> | |
<key>name</key> | |
<string>storage.type.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(const)\b</string> | |
<key>name</key> | |
<string>storage.modifier.ns</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>common C constant naming idiom -- kConstantVariable</string> | |
<key>match</key> | |
<string>\bk[A-Z]\w*\b</string> | |
<key>name</key> | |
<string>constant.other.variable.mac-classic.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\bg[A-Z]\w*\b</string> | |
<key>name</key> | |
<string>variable.other.readwrite.global.mac-classic.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\bs[A-Z]\w*\b</string> | |
<key>name</key> | |
<string>variable.other.readwrite.static.mac-classic.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string> | |
<key>name</key> | |
<string>constant.numeric.ns</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.ns</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.end.ns</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.quoted.double.ns</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string_escaped_char</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#block</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?x) | |
(?: ^ # begin-of-line | |
| | |
(?: (?= \s ) (?<!else|new|return) (?<=\w) # or word + space before name | |
| (?= \s*[A-Za-z_] ) (?<!&&) (?<=[*&>]) # or type modifier before name | |
) | |
) | |
(\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\() | |
( | |
(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name | |
(?: (?<=operator) (?: [-*&<>=+!]+ | \(\) | \[\] ) ) # if it is a C++ operator | |
) | |
\s*(?=\()</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.whitespace.function.leading.ns</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.ns</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.parameters.ns</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?<=\})|(?=#)|(;)</string> | |
<key>name</key> | |
<string>meta.function.ns</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comments</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parens</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\bconst\b</string> | |
<key>name</key> | |
<string>storage.modifier.ns</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#block</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>block</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>meta.block.ns</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#block_innards</string> | |
</dict> | |
</array> | |
</dict> | |
<key>block_innards</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#access</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.whitespace.support.function.leading.ns</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.C99.ns</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(\s*)\b(Wall|WallOpen|WallGroupOpen|WallClose|WallGroupClose|WallToggle|WallGroupToggle|WallBreak|WallGroupBreak|SecondTimer|FrameTimer|Move|GroupMove|LookAtDirection|GroupLookAtDirection|ObjectOn|ObjectGroupOn|WayPointOn|WayPointGroupOn|ObjectOff|ObjectGroupOff|WayPointOff|WayPointGroupOff|ObjectToggle|ObjectGroupToggle|WayPointToggle|WayPointGroupToggle|Delete|GroupDelete|Wander|GroupWander|Unused1f|Unused20|GoBackHome|AudioEvent|Print|PrintToAll|Chat|StopScript|UnlockDoor|LockDoor|IsObjectOn|IsWaypointOn|IsLocked|RandomFloat|Random|SecondTimerWithArg|FrameTimerWithArg|IntToString|FloatToString|CreateObject|Damage|GroupDamage|CreateMover|GroupCreateMover|AwardSpell|GroupAwardSpell|Enchant|GroupEnchant|GetHost|Object|GetObjectX|GetWaypointX|GetObjectY|GetWaypointY|GetObjectZ|GetDirection|MoveObject|MoveWaypoint|Raise|LookWithAngle|PushObjectTo|PushObject|GetLastItem|GetPreviousItem|HasItem|GetHolder|Pickup|Drop|HasClass|Unused50|HasEnchant|EnchantOff|CurrentHealth|MaxHealth|RestoreHealth|Distance|IsVisibleTo|Unused58|Unused59|Unused5a|Unused5b|Unused5c|Unused5d|Unused5e|GetCharacterData|LookAtObject|Walk|GroupWalk|CancelTimer|Effect|SetOwner|GroupSetOwner|SetOwners|GroupSetOwners|IsOwnedBy|GroupIsOwnedBy|IsOwnedByAny|GroupIsOwnedByAny|ClearOwner|Waypoint|WaypointGroup|ObjectGroup|WallGroup|ChatTimerSeconds|ChatTimer|Unused74|DestroyChat|DestroyEveryChat|SetQuestStatus|SetQuestStatusFloat|GetQuestStatus|GetQuestStatusFloat|ResetQuestStatus|IsTrigger|IsCaller|SetDialog|CancelDialog|StoryPic|TellStory|StartDialog|CastSpellObjectObject|CastSpellObjectLocation|CastSpellLocationObject|CastSpellLocationLocation|UnBlind|Blind|WideScreen|GetElevatorStatus|CreatureGuard|CreatureGroupGuard|CreatureHunt|CreatureGroupHunt|CreatureIdle|CreatureGroupIdle|CreatureFollow|CreatureGroupFollow|AggressionLevel|GroupAggressionLevel|HitLocation|GroupHitLocation|HitFarLocation|GroupHitFarLocation|SetRoamFlag|GroupSetRoamFlag|Attack|GroupAttack|JournalEntry|JournalDelete|JournalEdit|RetreatLevel|GroupRetreatLevel|ResumeLevel|GroupResumeLevel|RunAway|GroupRunAway|PauseObject|GroupPauseObject|IsAttackedBy|GetGold|ChangeGold|GetAnswer|GiveXp|HasSubclass|AutoSave|Music|StartupScreen|IsTalking|GetTrigger|GetCaller|MakeFriendly|MakeEnemy|BecomePet|BecomeEnemy|Unknownb8|Unknownb9|SetHalberd|DeathScreen|Frozen|NoWallSound|SetCallback|DeleteObjectTimer|TrapSpells|IsTrading|ClearMessages|SetShopkeeperText|Unknownc4|IsSummoned|ZombieStayDown|ZombieGroupStayDown|RaiseZombie|RaiseZombieGroup|MusicPushEvent|MusicPopEvent|MusicEvent|IsGameBall|IsCrown|EndGame|ImmediateBlind|ChangeScore|GetScore)\b</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.whitespace.function-call.leading.ns</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.any-method.ns</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.parameters.ns</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(?x) (?: (?= \s ) (?:(?<=else|new|return) | (?<!\w)) (\s+))? | |
(\b | |
(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\b | :: )++ # actual name | |
) | |
\s*(\()</string> | |
<key>name</key> | |
<string>meta.function-call.ns</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>variable.other.ns</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.parameters.ns</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(?x) | |
(?x) | |
(?: | |
(?: (?= \s ) (?<!else|new|return) (?<=\w)\s+ # or word + space before name | |
) | |
) | |
( | |
(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name | |
(?: (?<=operator) (?: [-*&<>=+!]+ | \(\) | \[\] ) )? # if it is a C++ operator | |
) | |
\s*(\()</string> | |
<key>name</key> | |
<string>meta.initialization.ns</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#block</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>$base</string> | |
</dict> | |
</array> | |
</dict> | |
<key>comments</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>meta.toc-list.banner.block.ns</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>^/\* =(\s*.*?)\s*= \*/$\n?</string> | |
<key>name</key> | |
<string>comment.block.ns</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>/\*</string> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.ns</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\*/</string> | |
<key>name</key> | |
<string>comment.block.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\*/.*\n</string> | |
<key>name</key> | |
<string>invalid.illegal.stray-comment-end.ns</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>meta.toc-list.banner.line.ns</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>^// =(\s*.*?)\s*=\s*$\n?</string> | |
<key>name</key> | |
<string>comment.line.banner.c++</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>//</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.ns</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>$\n?</string> | |
<key>name</key> | |
<string>comment.line.double-slash.c++</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(?>\\\s*\n)</string> | |
<key>name</key> | |
<string>punctuation.separator.continuation.c++</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>parens</key> | |
<dict> | |
<key>begin</key> | |
<string>\(</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.parens.ns</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>$base</string> | |
</dict> | |
</array> | |
</dict> | |
<key>string_escaped_char</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\\(\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})</string> | |
<key>name</key> | |
<string>constant.character.escape.ns</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\\.</string> | |
<key>name</key> | |
<string>invalid.illegal.unknown-escape.ns</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>source.ns</string> | |
<key>uuid</key> | |
<string>836d54f3-049f-4df4-8895-64cf9572d88f</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment