247 строки
8.0 KiB
Plaintext
247 строки
8.0 KiB
Plaintext
<?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">
|
|
<!--Naming conventions here: https://manual.macromates.com/en/language_grammars#naming_conventions-->
|
|
<dict>
|
|
<key>fileTypes</key>
|
|
<array>
|
|
<string>al</string>
|
|
<string>dal</string>
|
|
</array>
|
|
<key>name</key>
|
|
<string>al</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operators.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.property.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.applicationobject.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(Action|ActionRef|Array|Automation|BigInteger|BigText|SecretText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|CustomAction|Database|DataClassification|DataScope|DataTransfer|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|IsolationLevel|Joker|KeyRef|List|Media|MediaSet|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|SystemAction|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings|PageBackgroundTaskErrorLevel))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.builtintypes.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b([<>]=|<>|<|>)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operators.comparison.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(\-|\+|\/|\*)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operators.math.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\s*(\:=|\+=|-=|\/=|\*=)\s*</string>
|
|
<key>name</key>
|
|
<string>keyword.operators.assigment.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|NAMESPACE|PART|RENDERING|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USING))\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.metadata.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\s*[(\.\.)&\|]\s*</string>
|
|
<key>name</key>
|
|
<string>keyword.operators.property.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.applicationobject.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\b</string>
|
|
<key>name</key>
|
|
<string>meta.applicationobject.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(?i:(trigger|procedure))\b\s+(\w+(\.\w+)?)(\(.*?\))?;\s*</string>
|
|
<key>name</key>
|
|
<string>meta.function.al</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]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b</string>
|
|
<key>name</key>
|
|
<string>constant.numeric.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^[ \t]+)?(?=//)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.whitespace.comment.leading.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?!\G)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>//</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\n</string>
|
|
<key>name</key>
|
|
<string>comment.line.double-slash.al.two</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^[ \t]+)?(?=#)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.whitespace.directive.leading.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?!\G)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>#</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.directive.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\n</string>
|
|
<key>name</key>
|
|
<string>comment.line.number-sign.al.two</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/\n?</string>
|
|
<key>name</key>
|
|
<string>comment.block.al.one</string>
|
|
</dict>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>'</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>'</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.al</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.al</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>''</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.apostrophe.al</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>[;:,]</string>
|
|
<key>name</key>
|
|
<string>punctuation.al</string>
|
|
</dict>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
</dict>
|
|
</array>
|
|
<key>scopeName</key>
|
|
<string>source.al</string>
|
|
<key>uuid</key>
|
|
<string>E52FB544-6C1C-11D9-A527-000D94689BF6</string>
|
|
</dict>
|
|
</plist>
|