github-linguist 7.9.0 → 7.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +260 -1
  3. data/grammars/hidden.manref.json +1 -1
  4. data/grammars/hidden.regexp.injection-shell.json +28 -0
  5. data/grammars/source.4dm.json +57 -1
  6. data/grammars/source.abap.json +1 -1
  7. data/grammars/source.abl.json +685 -83
  8. data/grammars/source.agda.json +7 -7
  9. data/grammars/source.ballerina.json +1 -1
  10. data/grammars/source.c++.json +4 -4
  11. data/grammars/source.c.platform.json +584 -33
  12. data/grammars/source.chapel.json +5 -2
  13. data/grammars/source.css.json +1 -1
  14. data/grammars/source.curlrc.json +4 -4
  15. data/grammars/source.d.json +2 -2
  16. data/grammars/source.futhark.json +146 -0
  17. data/grammars/source.gcode.json +2 -2
  18. data/grammars/source.gedcom.json +196 -0
  19. data/grammars/source.generic-db.json +41 -0
  20. data/grammars/source.gfm.blade.json +15 -0
  21. data/grammars/source.gfm.json +1697 -1439
  22. data/grammars/source.httpspec.json +1 -1
  23. data/grammars/source.hx.json +5 -5
  24. data/grammars/source.hxml.json +2 -2
  25. data/grammars/source.idris.json +1 -1
  26. data/grammars/source.inputrc.json +1 -1
  27. data/grammars/source.isabelle.root.json +1 -1
  28. data/grammars/source.jison.json +3 -0
  29. data/grammars/source.jisonlex.json +3 -0
  30. data/grammars/source.julia.json +1 -1
  31. data/grammars/source.kotlin.json +17 -51
  32. data/grammars/source.lcov.json +398 -0
  33. data/grammars/source.lean.json +1 -1
  34. data/grammars/source.m2.json +125 -0
  35. data/grammars/source.man-conf.json +2 -2
  36. data/grammars/source.modula-3.json +10 -0
  37. data/grammars/{source.mrc.json → source.msl.json} +114 -99
  38. data/grammars/source.neon.json +381 -0
  39. data/grammars/source.objc.platform.json +493 -35
  40. data/grammars/source.openbsd-pkg.contents.json +128 -0
  41. data/grammars/source.p4.json +5 -21
  42. data/grammars/source.perl6fe.json +1 -1
  43. data/grammars/source.postscript.json +358 -103
  44. data/grammars/source.prisma.json +1 -1
  45. data/grammars/source.purescript.json +29 -2
  46. data/grammars/source.python.json +50 -0
  47. data/grammars/source.q.json +150 -63
  48. data/grammars/source.r.json +4 -4
  49. data/grammars/source.sieve.json +383 -0
  50. data/grammars/source.solidity.json +1 -1
  51. data/grammars/source.tags.json +266 -0
  52. data/grammars/source.ts.json +104 -36
  53. data/grammars/source.tsx.json +104 -36
  54. data/grammars/source.v.json +55 -24
  55. data/grammars/source.viml.json +3 -3
  56. data/grammars/source.webidl.json +8 -0
  57. data/grammars/source.wsd.json +25 -19
  58. data/grammars/source.x86.json +7 -3
  59. data/grammars/source.zig.json +84 -78
  60. data/grammars/text.dfy.dafny.json +188 -0
  61. data/grammars/text.html.php.blade.json +535 -528
  62. data/grammars/text.openbsd-pkg.desc.json +78 -0
  63. data/grammars/text.roff.json +49 -1
  64. data/grammars/text.sfd.json +21 -0
  65. data/grammars/text.xml.svg.json +8 -2
  66. data/grammars/version +1 -1
  67. data/lib/linguist/VERSION +1 -1
  68. data/lib/linguist/generated.rb +23 -6
  69. data/lib/linguist/languages.json +1 -1
  70. data/lib/linguist/languages.yml +74 -6
  71. data/lib/linguist/samples.json +4614 -150
  72. data/lib/linguist/vendor.yml +64 -62
  73. metadata +22 -10
  74. data/grammars/text.html.abl.json +0 -70
@@ -60,7 +60,7 @@
60
60
  },
61
61
  {
62
62
  "name": "keyword.other.lean",
63
- "match": "\\b(?\u003c!\\.)(calc|have|this|match|do|suffices|show|by|in|at|let|forall|fun|exists|assume|from|λ)(?!\\.)\\b"
63
+ "match": "\\b(?\u003c!\\.)(calc|have|this|match|do|suffices|show|by|in|at|let|forall|fun|exists|assume|from|obtain|haveI|λ)(?!\\.)\\b"
64
64
  },
65
65
  {
66
66
  "contentName": "entity.name.lean",
@@ -0,0 +1,125 @@
1
+ {
2
+ "name": "Macaulay2",
3
+ "scopeName": "source.m2",
4
+ "patterns": [
5
+ {
6
+ "include": "#keywords"
7
+ },
8
+ {
9
+ "include": "#comment"
10
+ },
11
+ {
12
+ "include": "#strings"
13
+ },
14
+ {
15
+ "include": "#fields"
16
+ },
17
+ {
18
+ "include": "#math"
19
+ },
20
+ {
21
+ "include": "#autogen"
22
+ }
23
+ ],
24
+ "repository": {
25
+ "autogen": {
26
+ "patterns": [
27
+ {
28
+ "name": "entity.name.type.m2",
29
+ "match": "(?x)(\\b|^)(Adjacent|AffineVariety|Analyzer|ANCHOR|Array|AssociativeExpression|Bag|BasicList|BettiTally|BinaryOperation|BLOCKQUOTE|BODY|BOLD|Boolean|BR|CacheFunction|CacheTable|CC|CDATA|ChainComplex|ChainComplexMap|CODE|CoherentSheaf|Command|COMMENT|CompiledFunction|CompiledFunctionBody|CompiledFunctionClosure|ComplexField|Constant|Database|DD|Descent|Describe|Dictionary|DIV|DIV1|Divide|DL|DocumentTag|DT|Eliminate|EM|EngineRing|Equation|ExampleItem|Expression|File|FilePosition|ForestNode|FractionField|Function|FunctionApplication|FunctionBody|FunctionClosure|GaloisField|GeneralOrderedMonoid|GlobalDictionary|GradedModule|GradedModuleMap|GroebnerBasis|GroebnerBasisOptions|HashTable|HEAD|HEADER1|HEADER2|HEADER3|HEADER4|HEADER5|HEADER6|HeaderType|Holder|HR|HREF|HTML|Hybrid|Hypertext|HypertextContainer|HypertextParagraph|Ideal|IMG|ImmutableType|IndeterminateNumber|IndexedVariable|IndexedVariableTable|InexactField|InexactFieldFamily|InexactNumber|InfiniteNumber|IntermediateMarkUpType|ITALIC|Keyword|LABEL|LATER|LI|LINK|List|LITERAL|LocalDictionary|LocalRing|LowerBound|Manipulator|MapExpression|MarkUpType|MarkUpTypeWithOptions|Matrix|MatrixDegreeExpression|MatrixExpression|MENU|META|MethodFunction|MethodFunctionBinary|MethodFunctionSingle|MethodFunctionWithOptions|Minus|Module|ModuleMap|Monoid|MonoidElement|MonomialIdeal|MultigradedBettiTally|MutableHashTable|MutableList|MutableMatrix|Net|NetFile|NonAssociativeProduct|Nothing|Number|NumberedVerticalList|OneExpression|Option|OptionTable|OrderedMonoid|Package|PARA|Parenthesize|Parser|Partition|PolynomialRing|Power|PRE|Product|ProductOrder|ProjectiveHilbertPolynomial|ProjectiveVariety|Pseudocode|PushforwardComputation|QQ|QuotientRing|RealField|Resolution|Ring|RingElement|RingFamily|RingMap|RowExpression|RR|ScriptedFunctor|SelfInitializingType|Sequence|Set|SheafExpression|SheafOfRings|SMALL|SPAN|SparseMonomialVectorExpression|SparseVectorExpression|String|STRONG|STYLE|SUB|Subscript|SUBSECTION|Sum|SumOfTwists|SUP|Superscript|Symbol|SymbolBody|TABLE|Table|Tally|Task|TD|TEX|Thing|Time|TITLE|TO|TO2|TOH|TR|TreeNode|TT|Type|UL|URL|Variety|Vector|VectorExpression|VerticalList|VirtualTally|VisibleList|WrapperType|ZeroExpression|ZZ)\\b"
30
+ },
31
+ {
32
+ "name": "entity.name.function.m2",
33
+ "match": "(?x)(\\b|^)(about|abs|accumulate|acos|acosh|acot|addCancelTask|addDependencyTask|addEndFunction|addHook|addStartFunction|addStartTask|adjoint|agm|alarm|all|ambient|analyticSpread|ancestor|ancestors|andP|ann|annihilator|antipode|any|append|applicationDirectory|apply|applyKeys|applyPairs|applyTable|applyValues|apropos|ascii|asin|asinh|ass|assert|associatedGradedRing|associatedPrimes|atan|atan2|atEndOfFile|autoload|baseFilename|baseName|basis|beginDocumentation|benchmark|BesselJ|BesselY|betti|between|binomial|borel|cacheValue|cancelTask|capture|ceiling|centerString|chainComplex|char|characters|charAnalyzer|check|chi|class|clean|clearEcho|code|codim|coefficient|coefficientRing|coefficients|cohomology|coimage|coker|cokernel|collectGarbage|columnAdd|columnate|columnMult|columnPermute|columnRankProfile|columnSwap|combine|commandInterpreter|commonest|commonRing|comodule|complement|complete|components|compose|compositions|compress|concatenate|conductor|cone|conjugate|connectionCount|constParser|content|contract|conwayPolynomial|copy|copyDirectory|copyFile|cos|cosh|cot|cotangentSheaf|coth|cover|coverMap|cpuTime|createTask|csc|csch|currentDirectory|currentLineNumber|currentTime|deadParser|debug|debugError|decompose|deepSplice|default|degree|degreeLength|degrees|degreesMonoid|degreesRing|delete|demark|denominator|depth|describe|det|determinant|diagonalMatrix|dictionary|diff|difference|dim|directSum|disassemble|discriminant|dismiss|distinguished|divideByVariable|doc|document|drop|dual|eagonNorthcott|echoOff|echoOn|eigenvalues|eigenvectors|eint|elements|eliminate|End|endPackage|entries|erase|erf|erfc|error|euler|eulers|even|EXAMPLE|examples|exec|exp|expectedReesIdeal|expm1|exponents|export|exportFrom|exportMutable|expression|extend|exteriorPower|factor|Fano|fileExecutable|fileExists|fileLength|fileMode|fileReadable|fileTime|fileWritable|fillMatrix|findFiles|findHeft|findSynonyms|first|firstkey|fittingIdeal|flagLookup|flatten|flattenRing|flip|floor|fold|forceGB|fork|format|frac|fraction|frames|fromDividedPowers|fromDual|functionBody|futureParser|Gamma|gb|gbRemove|gbSnapshot|gcd|gcdCoefficients|gcdLLL|GCstats|genera|generateAssertions|generator|generators|genericMatrix|genericSkewMatrix|genericSymmetricMatrix|gens|genus|get|getc|getChangeMatrix|getenv|getGlobalSymbol|getNetFile|getNonUnit|getPrimeWithRootOfUnity|getSymbol|getWWW|GF|globalAssign|globalAssignFunction|globalAssignment|globalReleaseFunction|gradedModule|gradedModuleMap|gramm|graphIdeal|graphRing|Grassmannian|groebnerBasis|groupID|hash|hashTable|heft|height|hermite|hilbertFunction|hilbertPolynomial|hilbertSeries|hold|Hom|homogenize|homology|homomorphism|horizontalJoin|html|htmlWithTex|httpHeaders|hypertext|icFracP|icFractions|icMap|icPIdeal|ideal|idealizer|identity|image|imaginaryPart|independentSets|index|indices|inducedMap|inducesWellDefinedMap|info|infoHelp|input|insert|installAssignmentMethod|installedPackages|installHilbertFunction|installMethod|installPackage|instance|instances|integralClosure|integralClosures|integrate|intersect|intersectInP|inverse|inversePermutation|inverseSystem|irreducibleCharacteristicSeries|irreducibleDecomposition|isAffineRing|isANumber|isBorel|isCanceled|isCommutative|isConstant|isDirectory|isDirectSum|isField|isFinite|isFinitePrimeField|isFreeModule|isGlobalSymbol|isHomogeneous|isIdeal|isInfinite|isInjective|isInputFile|isIsomorphism|isLinearType|isListener|isLLL|isModule|isMonomialIdeal|isNormal|isOpen|isOutputFile|isPolynomialRing|isPrimary|isPrime|isPrimitive|isPseudoprime|isQuotientModule|isQuotientOf|isQuotientRing|isReady|isReal|isReduction|isRegularFile|isRing|isSkewCommutative|isSorted|isSquareFree|isStandardGradedPolynomialRing|isSubmodule|isSubquotient|isSubset|isSurjective|isTable|isUnit|isWellDefined|isWeylAlgebra|jacobian|jacobianDual|join|ker|kernel|kernelLLL|keys|kill|koszul|last|lcm|leadCoefficient|leadComponent|leadMonomial|leadTerm|length|letterParser|lift|liftable|limitFiles|limitProcesses|lines|linkFile|listForm|listSymbols|LLL|lngamma|load|loadPackage|localDictionaries|localize|localRing|locate|log|log1p|lookup|lookupCount|LUdecomposition|makeDirectory|makeDocumentTag|makePackageIndex|makeS2|map|markedGB|match|mathML|matrix|max|maxPosition|member|memoize|merge|mergePairs|method|methodOptions|methods|min|mingens|mingle|minimalBetti|minimalPresentation|minimalPrimes|minimalReduction|minimizeFilename|minors|minPosition|minPres|minus|mkdir|mod|module|modulo|monoid|monomialCurveIdeal|monomialIdeal|monomials|monomialSubideal|moveFile|multidegree|multidoc|multigraded|multiplicity|mutable|mutableIdentity|mutableMatrix|nanosleep|needs|needsPackage|net|netList|newClass|newCoordinateSystem|newNetFile|newPackage|newRing|nextkey|nextPrime|NNParser|nonspaceAnalyzer|norm|normalCone|notImplemented|nullhomotopy|nullParser|nullSpace|number|numcols|numColumns|numerator|numeric|numgens|numRows|numrows|odd|ofClass|on|openDatabase|openDatabaseOut|openFiles|openIn|openInOut|openListener|openOut|openOutAppend|optionalSignParser|options|optP|orP|override|pack|package|packageTemplate|pad|pager|pairs|parent|part|partition|partitions|parts|pdim|peek|permanents|permutations|pfaffians|pivots|plus|poincare|poincareN|polarize|poly|position|positions|power|powermod|precision|preimage|prepend|presentation|pretty|primaryComponent|primaryDecomposition|print|printString|processID|product|profile|Proj|projectiveHilbertPolynomial|promote|protect|prune|pseudocode|pseudoRemainder|pushForward|QQParser|QRDecomposition|quotient|quotientRemainder|radical|random|randomKRationalPoint|randomMutableMatrix|rank|read|readDirectory|readlink|realPart|realpath|recursionDepth|reduceHilbert|reductionNumber|reesAlgebra|reesAlgebraIdeal|reesIdeal|regex|registerFinalizer|regularity|relations|relativizeFilename|remainder|remove|removeDirectory|removeFile|removeHook|removeLowestDimension|reorganize|replace|res|reshape|resolution|resultant|reverse|ring|ringFromFractions|roots|rotate|round|rowAdd|rowMult|rowPermute|rowRankProfile|rowSwap|rsort|run|runHooks|runLengthEncode|same|saturate|scan|scanKeys|scanLines|scanPairs|scanValues|schedule|schreyerOrder|Schubert|searchPath|sec|sech|seeParsing|select|selectInSubring|selectVariables|separate|separateRegexp|sequence|serialNumber|set|setEcho|setGroupID|setIOExclusive|setIOSynchronized|setIOUnSynchronized|setRandomSeed|setup|setupEmacs|sheaf|sheafHom|show|showHtml|showTex|simpleDocFrob|sin|singularLocus|sinh|size|size2|sleep|smithNormalForm|solve|someTerms|sort|sortColumns|source|Spec|specialFiber|specialFiberIdeal|splice|splitWWW|sqrt|stack|standardForm|standardPairs|stashValue|status|sub|sublists|submatrix|submatrixByDegrees|subquotient|subsets|substitute|substring|subtable|sum|super|support|SVD|switch|sylvesterMatrix|symbolBody|symlinkDirectory|symlinkFile|symmetricAlgebra|symmetricAlgebraIdeal|symmetricKernel|symmetricPower|synonym|SYNOPSIS|syz|syzygyScheme|table|take|tally|tan|tangentCone|tangentSheaf|tanh|target|taskResult|temporaryFileName|tensor|tensorAssociativity|terminalParser|terms|TEST|tex|texMath|times|toAbsolutePath|toCC|toDividedPowers|toDual|toExternalString|toField|toList|toLower|top|topCoefficients|topComponents|toRR|toSequence|toString|toUpper|trace|transpose|trim|truncate|truncateOutput|tutorial|ultimate|unbag|uncurry|undocumented|uniform|uninstallAllPackages|uninstallPackage|unique|unsequence|unstack|use|userSymbols|utf8|utf8check|validate|value|values|variety|vars|vector|versalEmbedding|wait|wedgeProduct|weightRange|whichGm|width|Wikipedia|wrap|xor|youngest|zero|zeta|ZZParser)\\b"
34
+ },
35
+ {
36
+ "name": "constant.other.m2",
37
+ "match": "(?x)(\\b|^)(AbstractToricVarieties|AdjointIdeal|AfterEval|AfterNoPrint|AfterPrint|AlgebraicSplines|Algorithm|Alignment|AllCodimensions|allowableThreads|applicationDirectorySuffix|argument|Ascending|Authors|AuxiliaryFiles|backtrace|backupFileRegexp|Bareiss|BaseFunction|baseRings|BaseRow|BasisElementLimit|Bayer|BeforePrint|Benchmark|Bertini|BGG|BIBasis|Binary|Binomial|BinomialEdgeIdeals|Binomials|BKZ|Body|BoijSoederberg|BooleanGB|Boxes|Browse|Bruns|cache|CacheExampleOutput|CallLimit|Caveat|Center|Certification|ChainComplexExtras|ChainComplexOperations|ChangeMatrix|CharacteristicClasses|CheckDocumentation|Chordal|Classic|clearAll|clearOutput|close|closeIn|closeOut|ClosestFit|CodimensionLimit|CoefficientRing|Cofactor|CohenEngine|CohenTopLevel|CohomCalg|CoincidentRootLoci|commandLine|compactMatrixForm|Complement|CompleteIntersection|CompleteIntersectionResolutions|Complexes|ConductorElement|Configuration|ConformalBlocks|Consequences|Constants|ConvexInterface|ConwayPolynomials|copyright|Core|CorrespondenceScrolls|Cremona|currentFileDirectory|currentFileName|currentLayout|currentPackage|CurrentVersion|Cyclotomic|Date|dd|DebuggingMode|debuggingMode|debugLevel|Decompose|defaultPrecision|Degree|DegreeLift|DegreeLimit|DegreeMap|DegreeOrder|DegreeRank|Degrees|Dense|Density|Depth|Descending|Description|DeterminantalRepresentations|DGAlgebras|dictionaryPath|DiffAlg|Dispatch|DivideConquer|DividedPowers|Divisor|Dmodules|docExample|docTemplate|Down|EdgeIdeals|edit|EisenbudHunekeVasconcelos|Elimination|EliminationMatrices|EllipticCurves|EllipticIntegrals|Email|end|endl|Engine|engineDebugLevel|EngineTests|EnumerationCurves|environment|EquivariantGB|errorDepth|EulerConstant|Example|ExampleFiles|ExampleSystems|Exclude|exit|Ext|ExteriorIdeals|false|FastLinAlg|FastNonminimal|FGLM|fileDictionaries|fileExitHooks|FileName|FindOne|FiniteFittingIdeals|First|FirstPackage|FlatMonoid|Flexible|flush|FollowLinks|FormalGroupLaws|Format|FourierMotzkin|FourTiTwo|fpLLL|FrobeniusThresholds|GBDegrees|gbTrace|GenerateAssertions|Generic|GenericInitialIdeal|gfanInterface|Givens|GLex|Global|GlobalAssignHook|globalAssignmentHooks|GlobalReleaseHook|Gorenstein|GradedLieAlgebras|GraphicalModels|Graphics|Graphs|GRevLex|GroebnerWalk|GroupLex|GroupRevLex|GTZ|handleInterrupts|HardDegreeLimit|Heading|Headline|Heft|Height|help|Hermite|Hermitian|HH|hh|HigherCIOperators|HighestWeights|Hilbert|HodgeIntegrals|homeDirectory|HomePage|Homogeneous|HorizontalSpace|HyperplaneArrangements|id|IgnoreExampleErrors|ii|incomparable|Increment|indeterminate|Index|indexComponents|infinity|InfoDirSection|Inhomogeneous|Inputs|InstallPrefix|IntegralClosure|interpreterDepth|Intersection|InvariantRing|InverseMethod|Inverses|InverseSystems|Invertible|InvolutiveBases|Iterate|Jacobian|Join|Jupyter|Keep|KeepZeroes|Key|Kronecker|KustinMiller|lastMatch|LatticePolytopes|Layout|Left|LengthLimit|Lex|LexIdeals|Licenses|LieTypes|Limit|Linear|LinearAlgebra|lineNumber|listLocalSymbols|listUserSymbols|LLLBases|loadDepth|LoadDocumentation|loadedFiles|loadedPackages|Local|LocalRings|LongPolynomial|MakeDocumentation|MakeInfo|MakeLinks|MapleInterface|Markov|Matroids|maxAllowableThreads|maxExponent|MaximalIdeal|MaximalRank|MaxReductionCount|MCMApproximations|minExponent|MinimalGenerators|MinimalMatrix|minimalPresentationMap|minimalPresentationMapInv|MinimalPrimes|Minimize|Miura|ModuleDeformations|MonodromySolver|Monomial|MonomialAlgebras|MonomialOrder|Monomials|MonomialSize|MultiGradedRationalMap|MultiplierIdeals|NAGtypes|Name|Nauty|NautyGraphs|NCAlgebra|NCLex|NewFromMethod|newline|NewMethod|NewOfFromMethod|NewOfMethod|nil|NoetherNormalization|NonminimalComplexes|NoPrint|Normaliz|NormalToricVarieties|notify|NTL|null|nullaryMethods|NumericalAlgebraicGeometry|NumericalCertification|NumericalHilbert|NumericalImplicitization|NumericalSchubertCalculus|NumericSolutions|OldPolyhedra|OldToricVectorBundles|OO|oo|ooo|oooo|OpenMath|operatorAttributes|OptionalComponentsPresent|Options|Order|order|OutputDictionary|Outputs|PackageCitations|PackageDictionary|PackageExports|PackageImports|PackageTemplate|PairLimit|PairsRemaining|Parametrization|Parsing|path|Permanents|PHCpack|PhylogeneticTrees|pi|PieriMaps|PlaneCurveSingularities|Points|Polyhedra|Polymake|Posets|Position|PositivityToricBundles|Postfix|Precision|Prefix|prefixDirectory|prefixPath|PrimaryDecomposition|PrimaryTag|PrimitiveElement|Print|printingAccuracy|printingLeadLimit|printingPrecision|printingSeparator|printingTimeLimit|printingTrailLimit|printWidth|profileSummary|Projective|Prune|PruneComplex|pruningMap|Pullback|PushForward|QthPower|Quasidegrees|QuillenSuslin|quit|Quotient|RandomCanonicalCurves|RandomComplexes|RandomCurves|RandomCurvesOverVerySmallFiniteFields|RandomIdeals|RandomMonomialIdeals|RandomObjects|RandomPlaneCurves|RandomSpaceCurves|Range|RationalMaps|RationalPoints|ReactionNetworks|RealFP|RealQP|RealRR|RealXD|recursionLimit|Reduce|ReesAlgebra|ReflexivePolytopesDB|Regularity|RelativeCanonicalResolution|Reload|RemakeAllDocumentation|Repository|RerunExamples|ResidualIntersections|restart|Result|Resultants|returnCode|Reverse|RevLex|Right|rootPath|rootURI|RunExamples|SchurComplexes|SchurFunctors|SchurRings|scriptCommandLine|SCSCP|SectionRing|SeeAlso|SegreClasses|SemidefiniteProgramming|Seminormalization|SeparateExec|Serialization|sheafExt|ShimoyamaYokoyama|showClassStructure|showStructure|showUserStructure|SimpleDoc|SimplicialComplexes|SimplicialDecomposability|SimplicialPosets|SizeLimit|SkewCommutative|SlackIdeals|SLnEquivariantMatrices|SLPexpressions|Sort|SortStrategy|SourceCode|SourceRing|SpaceCurves|SparseResultants|SpechtModule|SpecialFanoFourfolds|SpectralSequences|SRdeformations|Standard|StatePolytope|stderr|stdio|StopBeforeComputation|stopIfError|StopWithMinimalGenerators|Strategy|StronglyStableIdeals|Style|Subnodes|SubringLimit|subscript|Sugarless|SumsOfSquares|superscript|SVDComplexes|SymbolicPowers|SymmetricPolynomials|Syzygies|SyzygyLimit|SyzygyMatrix|SyzygyRows|TangentCone|TateOnProducts|TensorComplexes|Test|TestIdeals|TeXmacs|Text|Threshold|Topcom|topLevelMode|Tor|TorAlgebra|Toric|ToricInvariants|ToricTopology|ToricVectorBundles|TotalPairs|TriangularSets|Tries|Triplets|Tropical|true|Truncate|Truncations|TypicalValue|typicalValues|Undo|Unique|Units|Unmixed|Up|UpdateOnly|UpperTriangular|Usage|UseCachedExampleOutput|UseHilbertFunction|UserMode|UseSyzygies|Variable|VariableBaseName|Variables|VectorFields|Verbose|Verbosity|Verify|VersalDeformations|Version|version|VerticalSpace|viewHelp|VirtualResolutions|Visualize|WebApp|Weights|WeylAlgebra|WeylGroups|Wrap|XML)\\b"
38
+ }
39
+ ]
40
+ },
41
+ "comment": {
42
+ "patterns": [
43
+ {
44
+ "name": "comment.line.double-dash.m2",
45
+ "match": "(--).*$",
46
+ "captures": {
47
+ "1": {
48
+ "name": "punctuation.definition.comment.m2"
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "contentName": "comment.block.m2",
54
+ "begin": "-\\*",
55
+ "end": "\\*-",
56
+ "beginCaptures": {
57
+ "0": {
58
+ "name": "punctuation.definition.comment.begin.m2"
59
+ }
60
+ },
61
+ "endCaptures": {
62
+ "0": {
63
+ "name": "punctuation.definition.comment.end.m2"
64
+ }
65
+ }
66
+ }
67
+ ]
68
+ },
69
+ "fields": {
70
+ "patterns": [
71
+ {
72
+ "name": "entity.name.type.m2",
73
+ "match": "(ZZ|QQ)(\\/\\d+)?"
74
+ }
75
+ ]
76
+ },
77
+ "keywords": {
78
+ "patterns": [
79
+ {
80
+ "name": "keyword.control.m2",
81
+ "match": "(?x)(\\b|^)(and|break|catch|continue|do|elapsedTime|elapsedTiming|else|for|from|global|if|in|list|local|new|not|of|or|return|shield|SPACE|step|symbol|then|threadVariable|throw|time|timing|to|try|when|while)\\b"
82
+ },
83
+ {
84
+ "name": "keyword.operator.m2",
85
+ "match": "(?x)(\\b|^)(and|not|or)\\b"
86
+ }
87
+ ]
88
+ },
89
+ "math": {
90
+ "patterns": [
91
+ {
92
+ "name": "keyword.operator.arithmetic.m2",
93
+ "match": "(\\+|\\*)"
94
+ },
95
+ {
96
+ "name": "constant.numeric.integer.m2",
97
+ "match": "(?\u003c=\\s)\\d+"
98
+ }
99
+ ]
100
+ },
101
+ "strings": {
102
+ "patterns": [
103
+ {
104
+ "name": "string.quoted.double.m2",
105
+ "begin": "\"",
106
+ "end": "\"",
107
+ "beginCaptures": {
108
+ "0": {
109
+ "name": "punctuation.definition.string.begin.m2"
110
+ }
111
+ },
112
+ "endCaptures": {
113
+ "0": {
114
+ "name": "punctuation.definition.string.end.m2"
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "name": "string.unquoted.m2",
120
+ "match": "\"///\\(/?/?[^/]\\|\\(//\\)*////[^/]\\)*\\(//\\)*///\""
121
+ }
122
+ ]
123
+ }
124
+ }
125
+ }
@@ -20,7 +20,7 @@
20
20
  "include": "etc#str"
21
21
  },
22
22
  {
23
- "include": "etc#colon"
23
+ "include": "etc#kolon"
24
24
  },
25
25
  {
26
26
  "include": "#arg"
@@ -139,7 +139,7 @@
139
139
  "2": {
140
140
  "patterns": [
141
141
  {
142
- "include": "etc#colon"
142
+ "include": "etc#kolon"
143
143
  },
144
144
  {
145
145
  "name": "constant.numeric.section.man-conf",
@@ -42,6 +42,16 @@
42
42
  }
43
43
  ]
44
44
  },
45
+ {
46
+ "name": "keyword.control.assert.cm3_specific.modula-3",
47
+ "begin": "\u003c\\*\\s*ASSERT\\b",
48
+ "end": "\\*\u003e",
49
+ "patterns": [
50
+ {
51
+ "include": "#pragma"
52
+ }
53
+ ]
54
+ },
45
55
  {
46
56
  "include": "#comment"
47
57
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "scopeName": "source.mrc",
2
+ "scopeName": "source.msl",
3
3
  "patterns": [
4
4
  {
5
5
  "include": "#comments"
@@ -24,7 +24,7 @@
24
24
  "alias": {
25
25
  "patterns": [
26
26
  {
27
- "name": "meta.alias.code.mrc",
27
+ "name": "meta.alias.code.msl",
28
28
  "begin": "(?i)^(alias)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*",
29
29
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
30
30
  "patterns": [
@@ -34,13 +34,13 @@
34
34
  ],
35
35
  "beginCaptures": {
36
36
  "1": {
37
- "name": "storage.type.alias.mrc"
37
+ "name": "storage.type.alias.msl"
38
38
  },
39
39
  "2": {
40
- "name": "storage.modifier.alias.mrc"
40
+ "name": "storage.modifier.alias.msl"
41
41
  },
42
42
  "3": {
43
- "name": "entity.name.function.mrc"
43
+ "name": "entity.name.function.msl"
44
44
  }
45
45
  }
46
46
  }
@@ -49,14 +49,17 @@
49
49
  "calc_content": {
50
50
  "patterns": [
51
51
  {
52
- "name": "keyword.operator.arithmetic.mrc",
52
+ "name": "keyword.operator.arithmetic.msl",
53
53
  "match": "[+\\-*/%^]"
54
54
  },
55
55
  {
56
- "name": "meta.arithmetic.mrc",
57
- "begin": "(\u003c=\\()",
58
- "end": "(?\u003c=\\))",
56
+ "name": "meta.arithmetic.msl",
57
+ "begin": "\\(",
58
+ "end": "\\)",
59
59
  "patterns": [
60
+ {
61
+ "include": "#parameters"
62
+ },
60
63
  {
61
64
  "include": "#calc_content"
62
65
  }
@@ -67,7 +70,7 @@
67
70
  "code_block": {
68
71
  "patterns": [
69
72
  {
70
- "name": "meta.code.block.mrc",
73
+ "name": "meta.code.block.msl",
71
74
  "begin": "{",
72
75
  "end": "}",
73
76
  "patterns": [
@@ -115,22 +118,22 @@
115
118
  ],
116
119
  "beginCaptures": {
117
120
  "1": {
118
- "name": "keyword.other.command.symbol.mrc"
121
+ "name": "keyword.other.command.symbol.msl"
119
122
  },
120
123
  "2": {
121
- "name": "keyword.other.command.symbol.mrc"
124
+ "name": "keyword.other.command.symbol.msl"
122
125
  },
123
126
  "3": {
124
- "name": "keyword.control.command.mrc"
127
+ "name": "keyword.control.command.msl"
125
128
  },
126
129
  "4": {
127
- "name": "support.variable.name.mrc"
130
+ "name": "support.variable.name.msl"
128
131
  }
129
132
  }
130
133
  },
131
134
  {
132
- "name": "meta.cmd.mrc",
133
- "begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(?!\\|\\|\\x20)(\\/+)?([!|.]{1,2})?(?:(?![{};%\u0026$]|if|else(?:if)?|while)([^\\s]+))",
135
+ "name": "meta.cmd.msl",
136
+ "begin": "(?i)(?:\\x20+\\|\\x20+|(?\u003c=else\\x20)|^\\x20*|\\)|\\G)\\x20*(?!\\|\\|\\x20)(\\/+)?([!|.]{1,2})?(?:(?![{};%\u0026$:]|if|else(?:if)?|while)([^\\s]+))",
134
137
  "end": "(?=\\z|\\x20\\|\\x20[^\\x20]|\\x20}|$)",
135
138
  "patterns": [
136
139
  {
@@ -142,13 +145,13 @@
142
145
  ],
143
146
  "beginCaptures": {
144
147
  "1": {
145
- "name": "keyword.other.command.symbol.mrc"
148
+ "name": "keyword.other.command.symbol.msl"
146
149
  },
147
150
  "2": {
148
- "name": "keyword.other.command.symbol.mrc"
151
+ "name": "keyword.other.command.symbol.msl"
149
152
  },
150
153
  "3": {
151
- "name": "support.function.name.mrc"
154
+ "name": "support.function.name.msl"
152
155
  }
153
156
  }
154
157
  }
@@ -157,7 +160,7 @@
157
160
  "comment_block": {
158
161
  "patterns": [
159
162
  {
160
- "name": "comment.block.mrc",
163
+ "name": "comment.block.msl",
161
164
  "begin": "^(?:\\x20*)\\/\\*",
162
165
  "end": "^(?:\\x20*)\\*\\/$"
163
166
  }
@@ -166,7 +169,7 @@
166
169
  "comment_documentation": {
167
170
  "patterns": [
168
171
  {
169
- "name": "comment.block.documentation.mrc",
172
+ "name": "comment.block.documentation.msl",
170
173
  "begin": "^(?:\\x20*)(\\/\\*\\*)$",
171
174
  "end": "^(?:\\x20*)\\*\\/$",
172
175
  "patterns": [
@@ -180,8 +183,8 @@
180
183
  "comment_line": {
181
184
  "patterns": [
182
185
  {
183
- "name": "comment.line.semicolon.mrc",
184
- "begin": "(?\u003c=\\G|\\x20\\|\\x20|^)(?:\\x20*);",
186
+ "name": "comment.line.semicolon.msl",
187
+ "begin": "(?\u003c=^|\\x20\\|\\x20|\\G)(?:\\x20*);",
185
188
  "end": "(?=\\z|\\x20+\\|\\x20+[^\\s]|\\x20}|$)"
186
189
  }
187
190
  ]
@@ -202,7 +205,7 @@
202
205
  "conditionals": {
203
206
  "patterns": [
204
207
  {
205
- "name": "meta.conditional.mrc",
208
+ "name": "meta.conditional.msl",
206
209
  "begin": "(?i)(?:(?\u003c=\\x20\\|\\x20|^|\\G)\\x20*(if|elseif|while)|(?:(?\u003c=\\))\\x20+(\u0026\u0026|\\|\\|)))\\x20+(?=\\()",
207
210
  "end": "(?=\\)(?:\\x20|$))",
208
211
  "patterns": [
@@ -215,15 +218,15 @@
215
218
  ],
216
219
  "beginCaptures": {
217
220
  "1": {
218
- "name": "keyword.control.conditional.mrc"
221
+ "name": "keyword.control.conditional.msl"
219
222
  },
220
223
  "2": {
221
- "name": "keyword.control.conditional.mrc"
224
+ "name": "keyword.control.conditional.msl"
222
225
  }
223
226
  }
224
227
  },
225
228
  {
226
- "name": "keyword.control.conditional.mrc",
229
+ "name": "keyword.control.conditional.msl",
227
230
  "match": "(?i)(?\u003c=\\x20\\|\\x20|^)\\x20*(else)\\b"
228
231
  }
229
232
  ]
@@ -231,7 +234,7 @@
231
234
  "conditionals_content": {
232
235
  "patterns": [
233
236
  {
234
- "name": "keyword.operator.mrc",
237
+ "name": "keyword.operator.msl",
235
238
  "match": "(?i)((?\u003c=\\x20)!?(?:==?=?|(?:\u003c|\u003e)=?|\\/\\/|\\\\|\u0026|is(?:in(?:cs)?|wm(?:cs)?|(?:al)?num|letter|alpha|(?:low|upp)er|on|(?:a|h)?op|a?voice|reg|chan|ban|quiet|ignore|protected|notify|admin|owner|quiet|url))(?=\\x20|\\))|(?\u003c=\\()!(?=\\$|%|\u0026))"
236
239
  },
237
240
  {
@@ -242,7 +245,7 @@
242
245
  "constants": {
243
246
  "patterns": [
244
247
  {
245
- "name": "constant.numeric.mrc",
248
+ "name": "constant.numeric.msl",
246
249
  "match": "(?\u003c=\\x20|^|\\(|,)-?\\d+(\\.\\d+)?(?=\\x20|$|\\)|,)"
247
250
  }
248
251
  ]
@@ -250,7 +253,7 @@
250
253
  "dialog": {
251
254
  "patterns": [
252
255
  {
253
- "name": "meta.dialog.code.mrc",
256
+ "name": "meta.dialog.code.msl",
254
257
  "begin": "(?i)^(dialog)\\x20+(?:(-l)\\x20+)?(?!-l)([^\\s]+)\\s*(?={)",
255
258
  "end": "(?\u003c=}$)",
256
259
  "patterns": [
@@ -260,13 +263,13 @@
260
263
  ],
261
264
  "beginCaptures": {
262
265
  "1": {
263
- "name": "storage.type.dialog.mrc"
266
+ "name": "storage.type.dialog.msl"
264
267
  },
265
268
  "2": {
266
- "name": "storage.modifier.dialog.mrc"
269
+ "name": "storage.modifier.dialog.msl"
267
270
  },
268
271
  "3": {
269
- "name": "entity.name.section.mrc"
272
+ "name": "entity.name.section.msl"
270
273
  }
271
274
  }
272
275
  }
@@ -278,7 +281,7 @@
278
281
  "include": "#comments"
279
282
  },
280
283
  {
281
- "contentName": "string.quoted.double.control.mrc",
284
+ "contentName": "string.quoted.double.control.msl",
282
285
  "begin": "(?i)^\\x20*(title|icon|size|option|text|edit|button|check|radio|box|scroll|list|combo|icon|link|tab|menu|item)\\x20+",
283
286
  "end": "(?\u003c=$)",
284
287
  "patterns": [
@@ -288,7 +291,7 @@
288
291
  ],
289
292
  "beginCaptures": {
290
293
  "1": {
291
- "name": "keyword.control.dialog.control.mrc"
294
+ "name": "keyword.control.dialog.control.msl"
292
295
  }
293
296
  }
294
297
  }
@@ -300,7 +303,7 @@
300
303
  "match": "(?i)\\x20*\\*\\x20+(@(?:author|command|const(?:ant)?|copyright|deprecated|event|example|experimental|global|identifier|ignore|license|nobadges|param(?:eter)?|arg(?:ument)?|prop|returns?|see|switch|todo|version))\\b",
301
304
  "captures": {
302
305
  "1": {
303
- "name": "storage.type.class.mrc"
306
+ "name": "storage.type.class.msl"
304
307
  }
305
308
  }
306
309
  }
@@ -309,7 +312,7 @@
309
312
  "events": {
310
313
  "patterns": [
311
314
  {
312
- "name": "meta.event.code.mrc",
315
+ "name": "meta.event.code.msl",
313
316
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:action|notice|(?:client)?text):[^:]+:[^:]+:)\\s*",
314
317
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
315
318
  "patterns": [
@@ -319,12 +322,12 @@
319
322
  ],
320
323
  "beginCaptures": {
321
324
  "1": {
322
- "name": "entity.name.type.event.mrc"
325
+ "name": "entity.name.type.event.msl"
323
326
  }
324
327
  }
325
328
  },
326
329
  {
327
- "name": "meta.event.code.mrc",
330
+ "name": "meta.event.code.msl",
328
331
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:active|input|tabcomp|mscroll):(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
329
332
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
330
333
  "patterns": [
@@ -334,12 +337,12 @@
334
337
  ],
335
338
  "beginCaptures": {
336
339
  "1": {
337
- "name": "entity.name.type.event.mrc"
340
+ "name": "entity.name.type.event.msl"
338
341
  }
339
342
  }
340
343
  },
341
344
  {
342
- "name": "meta.event.code.mrc",
345
+ "name": "meta.event.code.msl",
343
346
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:agent|appactive|connect(?:fail)?|disconnect|dns|exit|(?:un)?load|(?:midi|mp3|play|song|wave)end|nick|nosound|u?notify|ping|pong|quit|start|usermode|options|resume|song|suspend):)\\s*",
344
347
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
345
348
  "patterns": [
@@ -349,12 +352,12 @@
349
352
  ],
350
353
  "beginCaptures": {
351
354
  "1": {
352
- "name": "entity.name.type.event.mrc"
355
+ "name": "entity.name.type.event.msl"
353
356
  }
354
357
  }
355
358
  },
356
359
  {
357
- "name": "meta.event.code.mrc",
360
+ "name": "meta.event.code.msl",
358
361
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:(?:un)?ban|(?:de)?help|(?:de|server)?op|(?:de)?owner|(?:de)?voice|invite|join|kick|(?:server|raw)?mode|part|topic|(?:de)?admin):(?:\\*|#[^:]*):)\\s*",
359
362
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
360
363
  "patterns": [
@@ -364,12 +367,12 @@
364
367
  ],
365
368
  "beginCaptures": {
366
369
  "1": {
367
- "name": "entity.name.type.event.mrc"
370
+ "name": "entity.name.type.event.msl"
368
371
  }
369
372
  }
370
373
  },
371
374
  {
372
- "name": "meta.event.code.mrc",
375
+ "name": "meta.event.code.msl",
373
376
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:chat|ctcpreply|error|file(?:rcvd|sent)|(?:get|send)fail|logon|serv|signal|snotice|sock(?:close|listen|open|read|write)|udp(?:read|write)|vcmd|wallops|download|(?:un)?zip):[^:]+:)\\s*",
374
377
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
375
378
  "patterns": [
@@ -379,12 +382,12 @@
379
382
  ],
380
383
  "beginCaptures": {
381
384
  "1": {
382
- "name": "entity.name.type.event.mrc"
385
+ "name": "entity.name.type.event.msl"
383
386
  }
384
387
  }
385
388
  },
386
389
  {
387
- "name": "meta.event.code.mrc",
390
+ "name": "meta.event.code.msl",
388
391
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:close|open):(?:\\*|\\?|=|!|@[^:]*):)\\s*",
389
392
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
390
393
  "patterns": [
@@ -394,12 +397,12 @@
394
397
  ],
395
398
  "beginCaptures": {
396
399
  "1": {
397
- "name": "entity.name.type.event.mrc"
400
+ "name": "entity.name.type.event.msl"
398
401
  }
399
402
  }
400
403
  },
401
404
  {
402
- "name": "meta.event.code.mrc",
405
+ "name": "meta.event.code.msl",
403
406
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dccserver:(?:chat|send|fserve):)\\s*",
404
407
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
405
408
  "patterns": [
@@ -409,12 +412,12 @@
409
412
  ],
410
413
  "beginCaptures": {
411
414
  "1": {
412
- "name": "entity.name.type.event.mrc"
415
+ "name": "entity.name.type.event.msl"
413
416
  }
414
417
  }
415
418
  },
416
419
  {
417
- "name": "meta.event.code.mrc",
420
+ "name": "meta.event.code.msl",
418
421
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:dialog:[^:]+:(?:init|close|edit|sclick|dclick|menu|scroll|mouse|rclick|drop|\\*):[\\d\\-,\\*]+:)\\s*",
419
422
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
420
423
  "patterns": [
@@ -424,12 +427,12 @@
424
427
  ],
425
428
  "beginCaptures": {
426
429
  "1": {
427
- "name": "entity.name.type.event.mrc"
430
+ "name": "entity.name.type.event.msl"
428
431
  }
429
432
  }
430
433
  },
431
434
  {
432
- "name": "meta.event.code.mrc",
435
+ "name": "meta.event.code.msl",
433
436
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:hotlink:[^:]+:(?:\\*|#[^:]*|\\?|=|!|@[^:]*):)\\s*",
434
437
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
435
438
  "patterns": [
@@ -439,13 +442,13 @@
439
442
  ],
440
443
  "beginCaptures": {
441
444
  "1": {
442
- "name": "entity.name.type.event.mrc"
445
+ "name": "entity.name.type.event.msl"
443
446
  }
444
447
  }
445
448
  },
446
449
  {
447
- "name": "meta.event.code.mrc",
448
- "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:key(?:down|up):(?:\\*|@[^:]*):(?:\\*|\\d+(?:,\\d+)*):)\\s*",
450
+ "name": "meta.event.code.msl",
451
+ "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:(?:key(?:down|up)|char):(?:\\*|@[^:]*):(?:\\*|\\d+(?:,\\d+)*):)\\s*",
449
452
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
450
453
  "patterns": [
451
454
  {
@@ -454,12 +457,12 @@
454
457
  ],
455
458
  "beginCaptures": {
456
459
  "1": {
457
- "name": "entity.name.type.event.mrc"
460
+ "name": "entity.name.type.event.msl"
458
461
  }
459
462
  }
460
463
  },
461
464
  {
462
- "name": "meta.event.code.mrc",
465
+ "name": "meta.event.code.msl",
463
466
  "begin": "^(?i)(on\\x20+(?:me:)?[^:\\s]+:parseline:(?:\\*|in|out):[^:]+:)\\s*",
464
467
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
465
468
  "patterns": [
@@ -469,12 +472,12 @@
469
472
  ],
470
473
  "beginCaptures": {
471
474
  "1": {
472
- "name": "entity.name.type.event.mrc"
475
+ "name": "entity.name.type.event.msl"
473
476
  }
474
477
  }
475
478
  },
476
479
  {
477
- "name": "meta.event.code.mrc",
480
+ "name": "meta.event.code.msl",
478
481
  "begin": "^(?i)(raw\\x20+[^:\\s]+:[^:]+:)\\s*",
479
482
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
480
483
  "patterns": [
@@ -484,12 +487,12 @@
484
487
  ],
485
488
  "beginCaptures": {
486
489
  "1": {
487
- "name": "entity.name.type.event.mrc"
490
+ "name": "entity.name.type.event.msl"
488
491
  }
489
492
  }
490
493
  },
491
494
  {
492
- "name": "meta.event.code.mrc",
495
+ "name": "meta.event.code.msl",
493
496
  "begin": "^(?i)(ctcp\\x20+[^:\\s]+:[^:]+:(?:\\*|#.*|\\?):)\\s*",
494
497
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|(?\u003c=}$)",
495
498
  "patterns": [
@@ -499,7 +502,7 @@
499
502
  ],
500
503
  "beginCaptures": {
501
504
  "1": {
502
- "name": "entity.name.type.event.mrc"
505
+ "name": "entity.name.type.event.msl"
503
506
  }
504
507
  }
505
508
  }
@@ -508,7 +511,7 @@
508
511
  "group": {
509
512
  "patterns": [
510
513
  {
511
- "name": "keyword.other.groupname.mrc",
514
+ "name": "keyword.other.groupname.msl",
512
515
  "match": "(?i)^#[^\\s]+ (on|off|end)(?:\\b)"
513
516
  }
514
517
  ]
@@ -526,37 +529,37 @@
526
529
  "identifiers_no_params": {
527
530
  "patterns": [
528
531
  {
529
- "name": "keyword.other.identifier.mrc",
532
+ "name": "keyword.other.identifier.msl",
530
533
  "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)\\$\\$?~?(0|\\!|\u0026(?=$)|\\*|\\+\\+?|[1-9]+(-?([0-9]+)|[^\\s|\\)|,]+)?|active((c|w)id)?|a?date|adiirc(dir([^\\s,)]+)?|exe|ini)|address|admnick|agent(name|stat|ver)|album|anick|aop|app(active|bits|state)|artist|asctime|audio|auto|avoice|away(msg|time)?|banmask|batteryp?|beta|bit(rate|s)|bname|bnick|boldify|builddate|bw(downb?|name|recb?|sentb?|speed|upb?)|cal(ias|ler)|cancel|cb|cd|chan(modes|types)?|cid|clevel|cmd(box|line)|com(char|err|ment|pact)|cpu(cache|count|ident|load|mhz|name|vendor)|cr(eq|lf)?|ctimer?|ctrlenter|day(light)?|dbu(h|w)|dccignore|dccport|ddename|debug|devent|did|disk(free|total)|dlevel|dname|dock(panels)?|dotnet|download(err)?|dqwindow|ebeeps|email(addr)?|error|event(id|parms)?|exiting|false|fe(of|rr)|filename|filtered|find(dirn|filen)|flinen|frequency|fromeditbox|full(address|date|name|screen|title)|genre|getdir|gfx(ram)?|globalidle|gmt|halted|highlight|hnick|host|hotline(pos)?|ia(ddress|l)|ident|idle|ifmatch2?|ignore|in(midi(.(pos|length|fname|pause))?|mode|mp3|paste|song(.(pos|length|fname|pause))?|wave(.(pos|length|fname|pause))?|who)|ip|is(admin|id|wine)|kblayout|key(char|rpt|val)|knick|lactive(cid|wid)?|lag|layer|leftwin(cid|wid)?|length|lf|locked|log(dir|stamp(fmt)?)|lquitmsg|ltimer|maddress|matchkey|max(lenl|lenm|lens)|me|mem(freep?|total)|menu(bar|context|type)?|mididir|mircdir([^\\s,)]+)?|mircexe|mircini|mnick|modefirst|modelast|modespl|motherboard|mouse(.(x|y||mx|my|dx|dy|cx|cy|win|lb|key))?|mp3dir|msg(stamp|tags|x)|muted|mversion|naddress|nick(column|mode)?|network|newnick|no(tify)?|null|numeric|ok|online(server|total)?|op?nick|os(bits|build|edition|idle|installdate|major|minor|name|servicepack|version)?|parms|parse(line|type|utf)|passivedcc|pcre|percent(l|p)|pi|play(count|er(handle)?)|pnick|port(able)?|position|prefix(ctcp|emote|sys|user)?|progress|prop|protect|quickconnect|quitmessage|raddress|randomcolors|rating|raw(bytes|msgx?)|readn|realname|regerrstr|remote|result|screen(b|hz?|w)?|script(dir([^\\s,)]+)?|line|s)?|server(ip|target)?|sfstate|show|signal|site|size|snicks|snotify|sock(err|br|name)|song(path)?|sreq|ssl(cert((remote)?sha(1|256)|valid)|(lib)?dll|ready|version)?|starting|status(bar)?|stripped|switchbar|target|tempfn|ticks|time(out|stamp(fmt)?|zone)|tips|title(bar)?|toolbar|topic|totaltracks|track|treebar|true|ulevel|up(days|dating|hours|mins)|url|user(mode|name)|v1|v2|vcmd(stat|ver)|version|volume(b|p)?|vnick|wavedir|wid|wildsite|window|year|yes|ziperr)(?=\\s|\\)|,)"
531
534
  },
532
535
  {
533
536
  "match": "(?\u003c=\\s|\\(|\\,|\\.|^)(\\$\\$?~?(?:\\?(?:[^\\s=]+)?|s?dir|hfile))(?:(=)(\"(?:[^\"])*\"))?(?=\\s|\\)|,)",
534
537
  "captures": {
535
538
  "1": {
536
- "name": "keyword.other.identifier.mrc"
539
+ "name": "keyword.other.identifier.msl"
537
540
  },
538
541
  "2": {
539
- "name": "keyword.operator.mrc"
542
+ "name": "keyword.operator.msl"
540
543
  },
541
544
  "3": {
542
- "name": "string.quoted.double.mrc"
545
+ "name": "string.quoted.double.msl"
543
546
  }
544
547
  }
545
548
  },
546
549
  {
547
- "name": "keyword.other.identifier.mrc",
550
+ "name": "keyword.other.identifier.msl",
548
551
  "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\=\\$\\$?~?nick)(?=\\b)"
549
552
  },
550
553
  {
551
- "name": "support.function.name.mrc",
552
- "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?[^\\s(),]+)(?=\\b)"
554
+ "name": "support.function.name.msl",
555
+ "match": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?(?!\\x21)[^\\s(),]+)(?=\\b)"
553
556
  }
554
557
  ]
555
558
  },
556
559
  "identifiers_params": {
557
560
  "patterns": [
558
561
  {
559
- "begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?(\\+|abook|a?cos|abs|date|add(ress|tok(cs)?)|adilang|admnick|agent|alias|and|ansi2mirc|aop|asc(time)?|a?sin|a?tan|avoice|banlist|base|bfind|bindip|bit(off|on)|boldify|bvar|bytes|calias|cb|ceil|chan(nel)?|chat|chr|click|cnick|colou?r|com(call|chan|press|val)?|cosh?|count(cs)?|cpuload|crc|ctime|date|dccignore|dde|decode|decompress|decrypt|deltok|dialog|did(reg|tok|wm)?|disk(menu)?|dll(call)?|dns|dockpanels|download|duration|editbox(history)?|emoticons|encode|encodingmenu|encrypt|envvar|eval(next)?|eventtarget|exec|exists|fgetc|file|find(dir|file|tok(cs)?)|fline|floor|font|fopen|fread|fserve?|get(dir|dot|tok)?|gfx(ram)?|gmt|group|hash|height|hexcolor|hfind|hget|highlight|hmac|hmatch|hnick|hotlink|hotp|hregex|hypot|ial(chan)?|ibl|iel|ignore|iil|inellipse|ini(ck|topic)?|inpoly|input|in(round)?rect|insert|instok|int(ersect)?|invitemenu|iptype|iql|ircv3caps|is(alias|bit|dde|dir|file|lower|tok(cs)?|upper|utf)|keylocked|left|len|level|line(height|s)?|link|lock|lo(f|g(10)?)|long(fn|ip)|loop|lower|maddress|mask|matchtok(cs)?|md5|menuicon|mid|mk(log|nick)?fn|mode|mp3|msfile|msgtags|nadmnick|(nh)?nick|no(file|p?nick|t(ags|ify)?|path|qt)?|numtok|nvnick|ocolor|onpoly|op?nick|ord?|pic|play|plugins|portfree|pos(cs)?|powmod|prefix(emote|user)|puttok|qt|query|r(ands?|ead(ini)?|eg(ex|ml(ex)?|sub(ex)?)|em(ove(cs)?|tok(cs)?)|eplace(cs|x(cs)?)?|eptok(cs)?|gb|ight|ound|nick)?|samepath|scid|scon|screen(b|hz?|shot|w)?|script|sdir|send|server(vars)?|sfile|sha(1|2|256|384|512)|shortfn|sinh|slapsmenu|sline|snick|sock|sorttok(cs)?|sound|speak|spellcheck|sqrt|statusbar|str(ip)?|style|submenu|sysdir|tanh|timer|tip|token|toolbar|topicbox|totp|trust|ulist|unsafe|upper|uptime|url(get)?|utf(de|en)code|var|vc(md)?|vol|width|wildtok(cs)?|window|wmiquery|wrap|xor|zip))\\(",
562
+ "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?(\\+|abook|a?cos|abs|date|add(ress|tok(cs)?)|adilang|admnick|agent|alias|and|ansi2mirc|aop|asc(time)?|a?sin|a?tan|avoice|banlist|base|bfind|bindip|bit(off|on)|boldify|bvar|bytes|calias|cb|ceil|chan(nel)?|chat|chr|click|cnick|colou?r|com(call|chan|press|val)?|cosh?|count(cs)?|cpuload|crc|ctime|date|dccignore|dde|decode|decompress|decrypt|deltok|dialog|did(reg|tok|wm)?|disk(menu)?|dll(call)?|dns|dockpanels|download|duration|editbox(history)?|emoticons|encode|encodingmenu|encrypt|envvar|eval(next)?|eventtarget|exec|exists|fgetc|file|find(dir|file|tok(cs)?)|fline|floor|font|fopen|fread|fserve?|get(dir|dot|tok)?|gfx(ram)?|gmt|group|hash|height|hexcolor|hfind|hget|highlight|hmac|hmatch|hnick|hotlink|hotp|hregex|hypot|ial(chan)?|ibl|iel|ignore|iil|inellipse|ini(ck|topic)?|inpoly|input|in(round)?rect|insert|instok|int(ersect)?|invitemenu|iptype|iql|ircv3caps|is(alias|bit|dde|dir|file|lower|tok(cs)?|upper|utf)|keylocked|left|len|level|line(height|s)?|link|lock|lo(f|g(10)?)|long(fn|ip)|loop|lower|maddress|mask|matchtok(cs)?|md5|menuicon|mid|mk(log|nick)?fn|mode|mp3|msfile|msgtags|nadmnick|(nh)?nick|no(file|p?nick|t(ags|ify)?|path|qt)?|numtok|nvnick|ocolor|onpoly|op?nick|ord?|pic|play|plugins|portfree|pos(cs)?|powmod|prefix(emote|user)|puttok|qt|query|r(ands?|ead(ini)?|egml(ex)?|em(ove(cs)?|tok(cs)?)|eplace(cs|x(cs)?)?|eptok(cs)?|gb|ight|ound|nick)?|samepath|scid|scon|screen(b|hz?|shot|w)?|script|sdir|send|server(vars)?|sfile|sha(1|2|256|384|512)|shortfn|sinh|slapsmenu|sline|snick|sock|sorttok(cs)?|sound|speak|spellcheck|sqrt|statusbar|str(ip)?|style|submenu|sysdir|tanh|timer|tip|token|toolbar|topicbox|totp|trust|ulist|unsafe|upper|uptime|url(get)?|utf(de|en)code|var|vc(md)?|vol|width|wildtok(cs)?|window|wmiquery|wrap|xor|zip))\\(",
560
563
  "end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
561
564
  "patterns": [
562
565
  {
@@ -565,18 +568,18 @@
565
568
  ],
566
569
  "beginCaptures": {
567
570
  "1": {
568
- "name": "keyword.other.identifier.mrc"
571
+ "name": "keyword.other.identifier.msl"
569
572
  }
570
573
  },
571
574
  "endCaptures": {
572
575
  "1": {
573
- "name": "keyword.other.identifier.property.mrc"
576
+ "name": "keyword.other.identifier.property.msl"
574
577
  }
575
578
  }
576
579
  },
577
580
  {
578
- "begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?calc)\\(",
579
- "end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
581
+ "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?calc)\\(",
582
+ "end": "\\)",
580
583
  "patterns": [
581
584
  {
582
585
  "include": "#parameters"
@@ -587,18 +590,13 @@
587
590
  ],
588
591
  "beginCaptures": {
589
592
  "1": {
590
- "name": "keyword.other.identifier.mrc"
591
- }
592
- },
593
- "endCaptures": {
594
- "1": {
595
- "name": "keyword.other.identifier.property.mrc"
593
+ "name": "keyword.other.identifier.msl"
596
594
  }
597
595
  }
598
596
  },
599
597
  {
600
- "begin": "(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?iif)\\(",
601
- "end": "(?i)\\)(?:\\.([^\\s|\\)|,]+))?",
598
+ "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?iif)\\(",
599
+ "end": "\\)",
602
600
  "patterns": [
603
601
  {
604
602
  "include": "#conditionals_content"
@@ -609,12 +607,29 @@
609
607
  ],
610
608
  "beginCaptures": {
611
609
  "1": {
612
- "name": "keyword.other.identifier.mrc"
610
+ "name": "keyword.other.identifier.msl"
613
611
  }
614
- },
615
- "endCaptures": {
612
+ }
613
+ },
614
+ {
615
+ "begin": "(?i)(?\u003c=\\s|\\(!|\\(|\\,|\\.|^)(\\$\\$?~?reg(?:ex|sub(?:ex)?))\\(",
616
+ "end": "\\)",
617
+ "patterns": [
618
+ {
619
+ "match": "(\\/(?:(?!\\/[gimsxAEDUuXSF]+?\\)).)*\\/([gimsxAEDUuXSF]+)?)",
620
+ "captures": {
621
+ "1": {
622
+ "name": "string.regexp.msl"
623
+ }
624
+ }
625
+ },
626
+ {
627
+ "include": "#parameters"
628
+ }
629
+ ],
630
+ "beginCaptures": {
616
631
  "1": {
617
- "name": "keyword.other.identifier.property.mrc"
632
+ "name": "keyword.other.identifier.msl"
618
633
  }
619
634
  }
620
635
  },
@@ -628,12 +643,12 @@
628
643
  ],
629
644
  "beginCaptures": {
630
645
  "1": {
631
- "name": "support.function.name.mrc"
646
+ "name": "support.function.name.msl"
632
647
  }
633
648
  },
634
649
  "endCaptures": {
635
650
  "1": {
636
- "name": "keyword.other.identifier.property.mrc"
651
+ "name": "keyword.other.identifier.property.msl"
637
652
  }
638
653
  }
639
654
  }
@@ -642,7 +657,7 @@
642
657
  "menu": {
643
658
  "patterns": [
644
659
  {
645
- "name": "meta.menu.code.mrc",
660
+ "name": "meta.menu.code.msl",
646
661
  "begin": "(?i)^(menu)\\x20+((?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+|\\*)(?:,(?:status|channel|query|nicklist|menubar|(?:channel)?link|@[^\\x20,]+))*|\\*)\\x20+{",
647
662
  "end": "(?i)(?=\\z|(?:^(?:on|raw|ctcp|dialog|\\#[^\\s]+|alias|menu)\\b))|}$",
648
663
  "patterns": [
@@ -652,10 +667,10 @@
652
667
  ],
653
668
  "beginCaptures": {
654
669
  "1": {
655
- "name": "storage.type.menu.mrc"
670
+ "name": "storage.type.menu.msl"
656
671
  },
657
672
  "2": {
658
- "name": "storage.modifier.function.mrc"
673
+ "name": "storage.modifier.function.msl"
659
674
  }
660
675
  }
661
676
  }
@@ -670,7 +685,7 @@
670
685
  "include": "#parameters"
671
686
  },
672
687
  {
673
- "begin": "(?:^\\x20*|\\G)\\x20*(?:\\.+)?((?:mouse|(?:s|d(?:r|m)?|u|r|lb|m)click)|leave|drop)(?:\\x20*:\\x20*)?",
688
+ "begin": "(?:^\\s*|\\G)\\x20*((?:mouse|(?:s|d(?:r|m)?|u|r|lb|m)click)|leave|drop)(?:\\x20*:\\x20*)?",
674
689
  "end": "(?=\\z|\\x20}|$)",
675
690
  "patterns": [
676
691
  {
@@ -679,12 +694,12 @@
679
694
  ],
680
695
  "beginCaptures": {
681
696
  "1": {
682
- "name": "keyword.other.menu.item.mrc"
697
+ "name": "keyword.other.menu.item.msl"
683
698
  }
684
699
  }
685
700
  },
686
701
  {
687
- "begin": "^\\x20*",
702
+ "begin": "^\\x20*(?!$)",
688
703
  "end": "(?=\\z|\\x20}|$)",
689
704
  "patterns": [
690
705
  {
@@ -719,7 +734,7 @@
719
734
  "switches": {
720
735
  "patterns": [
721
736
  {
722
- "name": "keyword.other.switch.mrc",
737
+ "name": "keyword.other.switch.msl",
723
738
  "match": "(?\u003c=\\x20)[-+][[:alnum:]]+(?=\\s)"
724
739
  }
725
740
  ]
@@ -727,11 +742,11 @@
727
742
  "variables": {
728
743
  "patterns": [
729
744
  {
730
- "name": "variable.other.normal.mrc",
745
+ "name": "variable.other.normal.msl",
731
746
  "match": "(?\u003c![^(,\\x20!])(%)[^\\x20),]+"
732
747
  },
733
748
  {
734
- "name": "variable.other.binary.mrc",
749
+ "name": "variable.other.binary.msl",
735
750
  "match": "(?\u003c![^(,\\x20!])(\u0026)[^\\x20),]+"
736
751
  }
737
752
  ]