From 3db25c207d3099f4e54f692f77d5efdcb23ecf7f Mon Sep 17 00:00:00 2001 From: "Piotr Semenov [bot]" Date: Sun, 19 May 2024 18:55:03 +0000 Subject: [PATCH] auto-commit of artifacts --- images/coverage-badge.svg | 6 +- syntaxes/parigp.JSON-tmLanguage | 441 ++++++++++--------- syntaxes/parigp.YAML-tmLanguage | 233 ++++++----- syntaxes/parigp.tmLanguage | 722 ++++++++++++++++---------------- syntaxes/parigp.tmLanguage.json | 441 ++++++++++--------- 5 files changed, 923 insertions(+), 920 deletions(-) diff --git a/images/coverage-badge.svg b/images/coverage-badge.svg index 3d7ef0f..6d52699 100644 --- a/images/coverage-badge.svg +++ b/images/coverage-badge.svg @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ diff --git a/syntaxes/parigp.JSON-tmLanguage b/syntaxes/parigp.JSON-tmLanguage index a52a6f6..8e7a194 100644 --- a/syntaxes/parigp.JSON-tmLanguage +++ b/syntaxes/parigp.JSON-tmLanguage @@ -3,7 +3,7 @@ "comments": { "patterns": [ { - "include": "#inline" + "include": "#_inline" }, { "begin": "/\\*", @@ -25,24 +25,22 @@ } ] } - ], - "repository": { - "inline": { - "patterns": [ - { - "match": "(\\\\\\\\).*$\\n?", - "captures": { - "0": { - "name": "punctuation.definition.comment.parigp" - }, - "1": { - "name": "comment.line.double-slash.parigp" - } - } + ] + }, + "_inline": { + "patterns": [ + { + "match": "(\\\\\\\\).*$\\n?", + "captures": { + "0": { + "name": "punctuation.definition.comment.parigp" + }, + "1": { + "name": "comment.line.double-slash.parigp" } - ] + } } - } + ] }, "parens": { "patterns": [ @@ -71,196 +69,203 @@ "functions": { "patterns": [ { - "include": "#builtins" + "include": "#_builtins" }, { - "include": "#user-defined" + "include": "#_user-defined" } - ], - "repository": { - "builtins": { - "patterns": [ - { - "match": "\\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\\b(\\s*)(?={|\\()", - "captures": { - "1": { - "name": "entity.name.function.builtins.parigp" - }, - "2": { - "name": "constant.character.whitespace.parigp" - } - } + ] + }, + "_builtins": { + "patterns": [ + { + "match": "\\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\\b(\\s*)(?={|\\()", + "captures": { + "1": { + "name": "entity.name.function.builtins.parigp" }, - { - "match": "\\b(Catalan|Euler|I|Pi|oo)", - "captures": { - "1": { - "name": "constant.language.parigp" - } - } + "2": { + "name": "constant.character.whitespace.parigp" + } + } + }, + { + "match": "\\b(Catalan|Euler|I|Pi|oo)", + "captures": { + "1": { + "name": "constant.language.parigp" + } + } + }, + { + "match": "\\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\\b", + "captures": { + "1": { + "name": "keyword.control.parigp" + } + } + }, + { + "match": "(\\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\\b", + "captures": { + "1": { + "name": "markup.punctuation.member.parigp" }, + "2": { + "name": "entity.name.function.member.builtins.parigp" + } + } + } + ] + }, + "_user-defined": { + "patterns": [ + { + "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=(\\s*\\(|\\(\\s*\\{|\\{\\s*\\()[^=]*=)", + "end": "(?<=\\=)", + "beginCaptures": { + "1": { + "name": "entity.name.function.user.parigp" + } + }, + "name": "meta.function.parigp", + "patterns": [ { - "match": "\\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\\b", - "captures": { - "1": { - "name": "keyword.control.parigp" - } - } + "include": "#_function-vars" + } + ] + }, + { + "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=\\s*=\\s*(\\(([^()]|(\\g<2>))*\\)|[[:alpha:]][[:alnum:]_]*)\\s*\\-\\s*>)", + "end": "\\-(\\s*)>", + "beginCaptures": { + "1": { + "name": "entity.name.function.user.lambda.parigp" + } + }, + "endCaptures": { + "0": { + "name": "keyword.operator.lambda" }, + "1": { + "name": "constant.character.whitespace.parigp" + } + }, + "name": "meta.function.lambda.parigp", + "patterns": [ { - "match": "(\\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\\b", - "captures": { - "1": { - "name": "markup.punctuation.member.parigp" - }, - "2": { - "name": "entity.name.function.member.builtins.parigp" - } - } + "include": "#_function-vars" } ] }, - "user-defined": { + { + "begin": "(?=(?:\\(([^()]|(\\g<0>))*\\)|[[:alpha:]][[:alnum:]_]*|\\{.+\\})\\s*\\-\\s*>)", + "end": "\\-(\\s*)>", + "contentName": "entity.name.function.user.lambda.anonymous.parigp", + "endCaptures": { + "0": { + "name": "keyword.operator.lambda" + }, + "1": { + "name": "constant.character.whitespace.parigp" + } + }, + "name": "meta.function.lambda.anonymous.parigp", "patterns": [ { - "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=(\\s*\\(|\\(\\s*\\{|\\{\\s*\\()[^=]*=)", - "end": "(?<=\\s*\\=)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.parigp" - } - }, - "name": "meta.function.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] + "include": "#_function-vars" + } + ] + }, + { + "begin": "(\\.)([[:alpha:]][[:alnum:]_]*)\\b(?=[^=]*=)", + "end": "(?<=\\=)", + "beginCaptures": { + "1": { + "name": "markup.punctuation.member.parigp" }, + "2": { + "name": "entity.name.function.user.member.parigp" + } + }, + "name": "meta.function.member.parigp", + "patterns": [ { - "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=\\s*=\\s*(\\(([^()]|(\\g<2>))*\\)|[[:alpha:]][[:alnum:]_]*)\\s*\\-\\s*>)", - "end": "(?<=\\s*\\-\\s*>)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.lambda.parigp" - } - }, - "name": "meta.function.lambda.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] + "include": "#general" }, { - "begin": "(\\(([^()]|(\\g<0>))*\\)|[[:alpha:]][[:alnum:]_]*|\\{.+\\})(?=\\s*\\-\\s*>)", - "end": "(?<=\\s*\\-\\s*>)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.lambda.anonymous.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] - } - }, - "name": "meta.function.lambda.anonymous.parigp", - "patterns": [ - { - "include": "#general" - }, - { - "include": "#operators" - } - ] - }, + "include": "#operators" + } + ] + } + ] + }, + "_function-vars": { + "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.parigp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.parigp" + } + }, + "name": "meta.parens.parigp", + "patterns": [ { - "begin": "(\\.)([[:alpha:]][[:alnum:]_]*)\\b(?=[^=]*=)", - "end": "(?<=\\s*\\=)", - "beginCaptures": { - "1": { - "name": "markup.punctuation.member.parigp" - }, - "2": { - "name": "entity.name.function.user.member.parigp" - } - }, - "name": "meta.function.member.parigp", - "patterns": [ - { - "include": "#general" - }, - { - "include": "#operators" - } - ] - } - ], - "repository": { - "function-vars": { - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.parigp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.parigp" - } - }, - "name": "meta.parens.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] - }, - { - "include": "#general" - }, - { - "include": "#literals" - }, - { - "include": "#operators" - }, - { - "include": "#type-hints" - }, - { - "match": "(?=|<|(?|!=|==)", "name": "keyword.operator.comparison.parigp" }, - { - "match": "(\\->)", - "name": "keyword.operator.lambda" - }, { "match": "(=)", "name": "keyword.operator.assignment.parigp" diff --git a/syntaxes/parigp.YAML-tmLanguage b/syntaxes/parigp.YAML-tmLanguage index 6a81e0d..4c638ef 100644 --- a/syntaxes/parigp.YAML-tmLanguage +++ b/syntaxes/parigp.YAML-tmLanguage @@ -3,7 +3,7 @@ repository: comments: patterns: - - include: '#inline' + - include: '#_inline' - begin: '/\*' beginCaptures: 0: @@ -15,15 +15,14 @@ repository: name: comment.block.parigp patterns: - include: '#comments' - repository: - inline: - patterns: - - match: '(\\\\).*$\n?' - captures: - 0: - name: punctuation.definition.comment.parigp - 1: - name: comment.line.double-slash.parigp + _inline: + patterns: + - match: '(\\\\).*$\n?' + captures: + 0: + name: punctuation.definition.comment.parigp + 1: + name: comment.line.double-slash.parigp parens: patterns: - &parens_rules @@ -40,94 +39,101 @@ repository: - include: '#parens' functions: patterns: - - include: '#builtins' - - include: '#user-defined' - repository: - builtins: + - include: '#_builtins' + - include: '#_user-defined' + _builtins: + patterns: + - match: '\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\b(\s*)(?={|\()' + captures: + 1: + name: entity.name.function.builtins.parigp + 2: + name: constant.character.whitespace.parigp + - match: '\b(Catalan|Euler|I|Pi|oo)' + captures: + 1: + name: constant.language.parigp + - match: '\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\b' + captures: + 1: + name: keyword.control.parigp + - match: '(\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\b' + captures: + 1: + name: markup.punctuation.member.parigp + 2: + name: entity.name.function.member.builtins.parigp + _user-defined: + patterns: + - begin: '([[:alpha:]][[:alnum:]_]*)\b(?=(\s*\(|\(\s*\{|\{\s*\()[^=]*=)' + end: '(?<=\=)' + beginCaptures: + 1: + name: entity.name.function.user.parigp + name: meta.function.parigp patterns: - - match: '\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\b(\s*)(?={|\()' - captures: - 1: - name: entity.name.function.builtins.parigp - 2: - name: constant.character.whitespace.parigp - - match: '\b(Catalan|Euler|I|Pi|oo)' - captures: - 1: - name: constant.language.parigp - - match: '\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\b' - captures: - 1: - name: keyword.control.parigp - - match: '(\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\b' - captures: - 1: - name: markup.punctuation.member.parigp - 2: - name: entity.name.function.member.builtins.parigp - user-defined: + - include: '#_function-vars' + - begin: '([[:alpha:]][[:alnum:]_]*)\b(?=\s*=\s*(\(([^()]|(\g<2>))*\)|[[:alpha:]][[:alnum:]_]*)\s*\-\s*>)' + end: '\-(\s*)>' + beginCaptures: + 1: + name: entity.name.function.user.lambda.parigp + endCaptures: + 0: + name: keyword.operator.lambda + 1: + name: constant.character.whitespace.parigp + name: meta.function.lambda.parigp patterns: - - begin: '([[:alpha:]][[:alnum:]_]*)\b(?=(\s*\(|\(\s*\{|\{\s*\()[^=]*=)' - end: '(?<=\s*\=)' - beginCaptures: - 1: - name: entity.name.function.user.parigp - name: meta.function.parigp - patterns: - - include: '#function-vars' - - begin: '([[:alpha:]][[:alnum:]_]*)\b(?=\s*=\s*(\(([^()]|(\g<2>))*\)|[[:alpha:]][[:alnum:]_]*)\s*\-\s*>)' - end: '(?<=\s*\-\s*>)' - beginCaptures: - 1: - name: entity.name.function.user.lambda.parigp - name: meta.function.lambda.parigp - patterns: - - include: '#function-vars' - - begin: '(\(([^()]|(\g<0>))*\)|[[:alpha:]][[:alnum:]_]*|\{.+\})(?=\s*\-\s*>)' - end: '(?<=\s*\-\s*>)' - beginCaptures: - 1: - name: entity.name.function.user.lambda.anonymous.parigp - patterns: - - include: '#function-vars' - name: meta.function.lambda.anonymous.parigp - patterns: - - include: '#general' - - include: '#operators' - - begin: '(\.)([[:alpha:]][[:alnum:]_]*)\b(?=[^=]*=)' - end: '(?<=\s*\=)' - beginCaptures: - 1: - name: markup.punctuation.member.parigp - 2: - name: entity.name.function.user.member.parigp - name: meta.function.member.parigp - patterns: - - include: '#general' - - include: '#operators' - repository: - function-vars: - patterns: - - !!merge <<: *parens_rules - patterns: - - include: '#function-vars' - - include: '#general' - - include: '#literals' - - include: '#operators' - - include: '#type-hints' - - match: '(?))*\)|[[:alpha:]][[:alnum:]_]*|\{.+\})\s*\-\s*>)' + end: '\-(\s*)>' + contentName: entity.name.function.user.lambda.anonymous.parigp + endCaptures: + 0: + name: keyword.operator.lambda + 1: + name: constant.character.whitespace.parigp + name: meta.function.lambda.anonymous.parigp + patterns: + - include: '#_function-vars' + - begin: '(\.)([[:alpha:]][[:alnum:]_]*)\b(?=[^=]*=)' + end: '(?<=\=)' + beginCaptures: + 1: + name: markup.punctuation.member.parigp + 2: + name: entity.name.function.user.member.parigp + name: meta.function.member.parigp + patterns: + - include: '#general' + - include: '#operators' + _function-vars: + patterns: + - !!merge <<: *parens_rules + patterns: + - include: '#_function-vars' + - include: '#general' + - include: '#literals' + - include: '#operators' + - include: '#type-hints' + - match: '(?=|<|(?|!=|==)' name: keyword.operator.comparison.parigp - - match: '(\->)' - name: keyword.operator.lambda - match: '(=)' name: keyword.operator.assignment.parigp - match: '(\-\-|\+\+)' diff --git a/syntaxes/parigp.tmLanguage b/syntaxes/parigp.tmLanguage index 9095c67..f6904db 100644 --- a/syntaxes/parigp.tmLanguage +++ b/syntaxes/parigp.tmLanguage @@ -22,6 +22,363 @@ repository + _builtins + + patterns + + + captures + + 1 + + name + entity.name.function.builtins.parigp + + 2 + + name + constant.character.whitespace.parigp + + + match + \b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\b(\s*)(?={|\() + + + captures + + 1 + + name + constant.language.parigp + + + match + \b(Catalan|Euler|I|Pi|oo) + + + captures + + 1 + + name + keyword.control.parigp + + + match + \b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\b + + + captures + + 1 + + name + markup.punctuation.member.parigp + + 2 + + name + entity.name.function.member.builtins.parigp + + + match + (\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\b + + + + _function-vars + + patterns + + + begin + \( + beginCaptures + + 0 + + name + punctuation.section.parens.begin.parigp + + + end + \) + endCaptures + + 0 + + name + punctuation.section.parens.end.parigp + + + name + meta.parens.parigp + patterns + + + include + #_function-vars + + + + + include + #general + + + include + #literals + + + include + #operators + + + include + #type-hints + + + captures + + 1 + + name + constant.character.whitespace.parigp + + 2 + + name + variable.parameter.function.parigp + + + match + (?<!:)(\s*)([[:alpha:]][[:alnum:]_]*) + + + begin + (\{) + beginCaptures + + 1 + + name + meta.function.parameter.optional.begin.parigp + + + end + (\}) + endCaptures + + 1 + + name + meta.function.parameter.optional.end.parigp + + + name + meta.function.parameter.optional.parigp + patterns + + + include + #_function-vars + + + + + + _inline + + patterns + + + captures + + 0 + + name + punctuation.definition.comment.parigp + + 1 + + name + comment.line.double-slash.parigp + + + match + (\\\\).*$\n? + + + + _numeric + + patterns + + + match + \b(0(x|X)[0-9A-Fa-f]*)\b + name + constant.numeric.hex.parigp + + + match + \b(0(b|B)[0-1]*)\b + name + constant.numeric.bin.parigp + + + match + (([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)\s*([eE][+-]?[0-9]+)\b|[0-9]+\.(?!\.)[0-9]*|(?<!\.)\.[0-9]+\b) + name + constant.numeric.float.parigp + + + match + \b([0-9]+)\b + name + constant.numeric.int.parigp + + + + _string + + patterns + + + match + "(.*)" + name + constant.character.escape.parigp + + + + _user-defined + + patterns + + + begin + ([[:alpha:]][[:alnum:]_]*)\b(?=(\s*\(|\(\s*\{|\{\s*\()[^=]*=) + beginCaptures + + 1 + + name + entity.name.function.user.parigp + + + end + (?<=\=) + name + meta.function.parigp + patterns + + + include + #_function-vars + + + + + begin + ([[:alpha:]][[:alnum:]_]*)\b(?=\s*=\s*(\(([^()]|(\g<2>))*\)|[[:alpha:]][[:alnum:]_]*)\s*\-\s*>) + beginCaptures + + 1 + + name + entity.name.function.user.lambda.parigp + + + end + \-(\s*)> + endCaptures + + 0 + + name + keyword.operator.lambda + + 1 + + name + constant.character.whitespace.parigp + + + name + meta.function.lambda.parigp + patterns + + + include + #_function-vars + + + + + begin + (?=(?:\(([^()]|(\g<0>))*\)|[[:alpha:]][[:alnum:]_]*|\{.+\})\s*\-\s*>) + contentName + entity.name.function.user.lambda.anonymous.parigp + end + \-(\s*)> + endCaptures + + 0 + + name + keyword.operator.lambda + + 1 + + name + constant.character.whitespace.parigp + + + name + meta.function.lambda.anonymous.parigp + patterns + + + include + #_function-vars + + + + + begin + (\.)([[:alpha:]][[:alnum:]_]*)\b(?=[^=]*=) + beginCaptures + + 1 + + name + markup.punctuation.member.parigp + + 2 + + name + entity.name.function.user.member.parigp + + + end + (?<=\=) + name + meta.function.member.parigp + patterns + + + include + #general + + + include + #operators + + + + + braces patterns @@ -187,7 +544,7 @@ include - #inline + #_inline begin @@ -221,32 +578,6 @@ - repository - - inline - - patterns - - - captures - - 0 - - name - punctuation.definition.comment.parigp - - 1 - - name - comment.line.double-slash.parigp - - - match - (\\\\).*$\n? - - - - functions @@ -254,291 +585,13 @@ include - #builtins + #_builtins include - #user-defined + #_user-defined - repository - - builtins - - patterns - - - captures - - 1 - - name - entity.name.function.builtins.parigp - - 2 - - name - constant.character.whitespace.parigp - - - match - \b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\b(\s*)(?={|\() - - - captures - - 1 - - name - constant.language.parigp - - - match - \b(Catalan|Euler|I|Pi|oo) - - - captures - - 1 - - name - keyword.control.parigp - - - match - \b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\b - - - captures - - 1 - - name - markup.punctuation.member.parigp - - 2 - - name - entity.name.function.member.builtins.parigp - - - match - (\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\b - - - - user-defined - - patterns - - - begin - ([[:alpha:]][[:alnum:]_]*)\b(?=(\s*\(|\(\s*\{|\{\s*\()[^=]*=) - beginCaptures - - 1 - - name - entity.name.function.user.parigp - - - end - (?<=\s*\=) - name - meta.function.parigp - patterns - - - include - #function-vars - - - - - begin - ([[:alpha:]][[:alnum:]_]*)\b(?=\s*=\s*(\(([^()]|(\g<2>))*\)|[[:alpha:]][[:alnum:]_]*)\s*\-\s*>) - beginCaptures - - 1 - - name - entity.name.function.user.lambda.parigp - - - end - (?<=\s*\-\s*>) - name - meta.function.lambda.parigp - patterns - - - include - #function-vars - - - - - begin - (\(([^()]|(\g<0>))*\)|[[:alpha:]][[:alnum:]_]*|\{.+\})(?=\s*\-\s*>) - beginCaptures - - 1 - - name - entity.name.function.user.lambda.anonymous.parigp - patterns - - - include - #function-vars - - - - - end - (?<=\s*\-\s*>) - name - meta.function.lambda.anonymous.parigp - patterns - - - include - #general - - - include - #operators - - - - - begin - (\.)([[:alpha:]][[:alnum:]_]*)\b(?=[^=]*=) - beginCaptures - - 1 - - name - markup.punctuation.member.parigp - - 2 - - name - entity.name.function.user.member.parigp - - - end - (?<=\s*\=) - name - meta.function.member.parigp - patterns - - - include - #general - - - include - #operators - - - - - repository - - function-vars - - patterns - - - begin - \( - beginCaptures - - 0 - - name - punctuation.section.parens.begin.parigp - - - end - \) - endCaptures - - 0 - - name - punctuation.section.parens.end.parigp - - - name - meta.parens.parigp - patterns - - - include - #function-vars - - - - - include - #general - - - include - #literals - - - include - #operators - - - include - #type-hints - - - match - (?<!:\s*)([[:alpha:]][[:alnum:]_]*)\s* - name - variable.parameter.function.parigp - - - begin - (\{) - beginCaptures - - 1 - - name - meta.function.parameter.optional.begin.parigp - - - end - (\}) - endCaptures - - 1 - - name - meta.function.parameter.optional.end.parigp - - - name - meta.function.parameter.optional.parigp - patterns - - - include - #function-vars - - - - - - - - general @@ -576,58 +629,13 @@ include - #numeric + #_numeric include - #string + #_string - repository - - numeric - - patterns - - - match - \b(0(x|X)[0-9A-Fa-f]*)\b - name - constant.numeric.hex.parigp - - - match - \b(0(b|B)[0-1]*)\b - name - constant.numeric.bin.parigp - - - match - (([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)\s*([eE][+-]?[0-9]+)\b|[0-9]+\.(?!\.)[0-9]*|(?<!\.)\.[0-9]+\b) - name - constant.numeric.float.parigp - - - match - \b([0-9]+)\b - name - constant.numeric.int.parigp - - - - string - - patterns - - - match - "(.*)" - name - constant.character.escape.parigp - - - - meta-commands @@ -692,12 +700,6 @@ name keyword.operator.comparison.parigp - - match - (\->) - name - keyword.operator.lambda - match (=) diff --git a/syntaxes/parigp.tmLanguage.json b/syntaxes/parigp.tmLanguage.json index a52a6f6..8e7a194 100644 --- a/syntaxes/parigp.tmLanguage.json +++ b/syntaxes/parigp.tmLanguage.json @@ -3,7 +3,7 @@ "comments": { "patterns": [ { - "include": "#inline" + "include": "#_inline" }, { "begin": "/\\*", @@ -25,24 +25,22 @@ } ] } - ], - "repository": { - "inline": { - "patterns": [ - { - "match": "(\\\\\\\\).*$\\n?", - "captures": { - "0": { - "name": "punctuation.definition.comment.parigp" - }, - "1": { - "name": "comment.line.double-slash.parigp" - } - } + ] + }, + "_inline": { + "patterns": [ + { + "match": "(\\\\\\\\).*$\\n?", + "captures": { + "0": { + "name": "punctuation.definition.comment.parigp" + }, + "1": { + "name": "comment.line.double-slash.parigp" } - ] + } } - } + ] }, "parens": { "patterns": [ @@ -71,196 +69,203 @@ "functions": { "patterns": [ { - "include": "#builtins" + "include": "#_builtins" }, { - "include": "#user-defined" + "include": "#_user-defined" } - ], - "repository": { - "builtins": { - "patterns": [ - { - "match": "\\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\\b(\\s*)(?={|\\()", - "captures": { - "1": { - "name": "entity.name.function.builtins.parigp" - }, - "2": { - "name": "constant.character.whitespace.parigp" - } - } + ] + }, + "_builtins": { + "patterns": [ + { + "match": "\\b(Col|Colrev|List|Map|Mat|Mod|O|Pol|Polrev|Qfb|Ser|Set|Str|Strchr|Strexpand|Strprintf|Strtex|Vec|Vecrev|Vecsmall|abs|acos|acosh|addhelp|addprimes|agm|airy|alarm|algadd|algalgtobasis|algaut|algb|algbasis|algbasistoalg|algcenter|algcentralproj|algchar|algcharpoly|algdegree|algdep|algdim|algdisc|algdivl|algdivr|alggroup|alggroupcenter|alghasse|alghassef|alghassei|algindex|alginit|alginv|alginvbasis|algisassociative|algiscommutative|algisdivision|algisdivl|algisinv|algisramified|algissemisimple|algissimple|algissplit|alglatadd|alglatcontains|alglatelement|alglathnf|alglatindex|alglatinter|alglatlefttransporter|alglatmul|alglatrighttransporter|alglatsubset|algmakeintegral|algmul|algmultable|algneg|algnorm|algpoleval|algpow|algprimesubalg|algquotient|algradical|algramifiedplaces|algrandom|algrelmultable|algsimpledec|algsplit|algsplittingdata|algsplittingfield|algsqr|algsub|algsubalg|algtableinit|algtensor|algtomatrix|algtrace|algtype|alias|apply|arg|arity|asin|asinh|asympnum|asympnumraw|atan|atanh|bernfrac|bernpol|bernreal|bernvec|besselh1|besselh2|besseli|besselj|besseljh|besseljzero|besselk|besseln|bessely|besselyzero|bestappr|bestapprPade|bestapprnf|bezout|bezoutres|bigomega|binary|binomial|bitand|bitneg|bitnegimply|bitor|bitprecision|bittest|bitxor|bnfcertify|bnfdecodemodule|bnfinit|bnfisintnorm|bnfisnorm|bnfisprincipal|bnfissunit|bnfisunit|bnflog|bnflogdegree|bnflogef|bnfnarrow|bnfsignunit|bnfsunit|bnfunits|bnrL1|bnrchar|bnrclassfield|bnrclassno|bnrclassnolist|bnrcompositum|bnrconductor|bnrconductorofchar|bnrdisc|bnrdisclist|bnrgaloisapply|bnrgaloismatrix|bnrinit|bnrisconductor|bnrisgalois|bnrisprincipal|bnrmap|bnrrootnumber|bnrstark|call|ceil|centerlift|characteristic|charconj|chardiv|chareval|chargalois|charker|charmul|charorder|charpoly|charpow|chinese|cmp|component|concat|conj|conjvec|content|contfrac|contfraceval|contfracinit|contfracpnqn|core|coredisc|cos|cosh|cotan|cotanh|dbg_err|dbg_x|denominator|deriv|derivn|diffop|digits|dilog|dirdiv|dirmul|dirpowers|dirpowerssum|dirzetak|divisors|divisorslenstra|divrem|eint1|ell2cover|ellE|ellK|ellL1|elladd|ellak|ellan|ellanalyticrank|ellap|ellbil|ellbsd|ellcard|ellchangecurve|ellchangepoint|ellchangepointinv|ellconvertname|elldivpol|elleisnum|elleta|ellformaldifferential|ellformalexp|ellformallog|ellformalpoint|ellformalw|ellfromeqn|ellfromj|ellgenerators|ellglobalred|ellgroup|ellheegner|ellheight|ellheightmatrix|ellidentify|ellinit|ellintegralmodel|ellisdivisible|ellisogeny|ellisogenyapply|ellisomat|ellisoncurve|ellisotree|ellissupersingular|ellj|elllocalred|elllog|elllseries|ellminimaldisc|ellminimalmodel|ellminimaltwist|ellmoddegree|ellmodulareqn|ellmul|ellneg|ellnonsingularmultiple|ellorder|ellordinate|ellpadicL|ellpadicbsd|ellpadicfrobenius|ellpadicheight|ellpadicheightmatrix|ellpadiclambdamu|ellpadiclog|ellpadicregulator|ellpadics2|ellperiods|ellpointtoz|ellpow|ellrank|ellrankinit|ellratpoints|ellrootno|ellsaturation|ellsea|ellsearch|ellsigma|ellsub|elltamagawa|elltaniyama|elltatepairing|elltors|elltrace|elltwist|ellweilcurve|ellweilpairing|ellwp|ellxn|ellzeta|ellztopoint|erfc|errname|eta|eulerfrac|eulerianpol|eulerphi|eulerpol|eulerreal|eulervec|eval|exp|expm1|exponent|exportall|extern|externstr|factor|factorback|factorcantor|factorff|factorial|factorint|factormod|factormodDDF|factormodSQF|factormodcyclo|factornf|factorpadic|ffcompomap|ffembed|ffextend|fffrobenius|ffgen|ffinit|ffinvmap|fflog|ffmap|ffmaprel|ffnbirred|fforder|ffprimroot|fft|fftinv|fibonacci|fileclose|fileextern|fileflush|fileopen|fileread|filereadstr|filewrite|filewrite1|floor|fold|frac|fromdigits|galoischardet|galoischarpoly|galoischartable|galoisconjclasses|galoisexport|galoisfixedfield|galoisgetgroup|galoisgetname|galoisgetpol|galoisidentify|galoisinit|galoisisabelian|galoisisnormal|galoispermtopol|galoissplittinginit|galoissubcyclo|galoissubfields|galoissubgroups|gamma|gammah|gammamellininv|gammamellininvasymp|gammamellininvinit|gcd|gcdext|gcharalgebraic|gcharconductor|gcharduallog|gchareval|gcharidentify|gcharinit|gcharisalgebraic|gcharlog|gcharnewprec|genus2red|getabstime|getcache|getenv|getheap|getlocalbitprec|getlocalprec|getrand|getstack|gettime|getwalltime|halfgcd|hammingweight|harmonic|hgmalpha|hgmbydegree|hgmcoef|hgmcoefs|hgmcyclo|hgmeulerfactor|hgmgamma|hgminit|hgmissymmetrical|hgmparams|hgmtwist|hilbert|hyperellchangecurve|hyperellcharpoly|hyperelldisc|hyperellisoncurve|hyperellminimaldisc|hyperellminimalmodel|hyperellpadicfrobenius|hyperellratpoints|hyperellred|hypergeom|hyperu|idealadd|idealaddtoone|idealappr|idealchinese|idealcoprime|idealdiv|idealdown|idealfactor|idealfactorback|idealfrobenius|idealhnf|idealintersect|idealinv|idealismaximal|idealispower|ideallist|ideallistarch|ideallog|idealmin|idealmul|idealnorm|idealnumden|idealpow|idealprimedec|idealprincipalunits|idealramgroups|idealred|idealredmodpower|idealstar|idealtwoelt|idealval|if|imag|incgam|incgamc|install|intformal|intnumgaussinit|intnuminit|isfundamental|ispolygonal|ispower|ispowerful|isprime|isprimepower|ispseudoprime|ispseudoprimepower|issquare|issquarefree|istotient|kill|kronecker|lambertw|laurentseries|lcm|length|lerchphi|lerchzeta|lex|lfun|lfunabelianrelinit|lfunan|lfunartin|lfuncheckfeq|lfunconductor|lfuncost|lfuncreate|lfundiv|lfundual|lfunetaquo|lfuneuler|lfungenus2|lfunhardy|lfunhgm|lfuninit|lfunlambda|lfunmf|lfunmfspec|lfunmul|lfunorderzero|lfunparams|lfunqf|lfunrootres|lfunshift|lfunsympow|lfuntheta|lfunthetacost|lfunthetainit|lfuntwist|lfunzeros|lift|liftall|liftint|liftpol|limitnum|lindep|listcreate|listinsert|listkill|listpop|listput|listsort|lngamma|localbitprec|localprec|log|log1p|logint|mapdelete|mapget|mapisdefined|mapput|matadjoint|matalgtobasis|matbasistoalg|matcompanion|matconcat|matdet|matdetint|matdetmod|matdiagonal|mateigen|matfrobenius|mathess|mathilbert|mathnf|mathnfmod|mathnfmodid|mathouseholder|matid|matimage|matimagecompl|matimagemod|matindexrank|matintersect|matinverseimage|matinvmod|matisdiagonal|matker|matkerint|matkermod|matmuldiagonal|matmultodiagonal|matpascal|matpermanent|matqr|matrank|matreduce|matrix|matrixqz|matsize|matsnf|matsolve|matsolvemod|matsupplement|mattranspose|max|mfDelta|mfEH|mfEk|mfTheta|mfatkin|mfatkineigenvalues|mfatkininit|mfbasis|mfbd|mfbracket|mfcoef|mfcoefs|mfconductor|mfcosets|mfcuspisregular|mfcusps|mfcuspval|mfcuspwidth|mfderiv|mfderivE2|mfdescribe|mfdim|mfdiv|mfeigenbasis|mfeigensearch|mfeisenstein|mfembed|mfeval|mffields|mffromell|mffrometaquo|mffromlfun|mffromqf|mfgaloisprojrep|mfgaloistype|mfhecke|mfheckemat|mfinit|mfisCM|mfisequal|mfisetaquo|mfkohnenbasis|mfkohnenbijection|mfkohneneigenbasis|mflinear|mfmanin|mfmul|mfnumcusps|mfparams|mfperiodpol|mfperiodpolbasis|mfpetersson|mfpow|mfsearch|mfshift|mfshimura|mfslashexpansion|mfspace|mfsplit|mfsturm|mfsymbol|mfsymboleval|mftaylor|mftobasis|mftocoset|mftonew|mftraceform|mftwist|min|minpoly|modreverse|moebius|msatkinlehner|mscosets|mscuspidal|msdim|mseisenstein|mseval|msfarey|msfromcusp|msfromell|msfromhecke|msgetlevel|msgetsign|msgetweight|mshecke|msinit|msissymbol|mslattice|msnew|msomseval|mspadicL|mspadicinit|mspadicmoments|mspadicseries|mspathgens|mspathlog|mspetersson|mspolygon|msqexpansion|mssplit|msstar|mstooms|newtonpoly|nextprime|nfalgtobasis|nfbasis|nfbasistoalg|nfcertify|nfcompositum|nfdetint|nfdisc|nfdiscfactors|nfeltadd|nfeltdiv|nfeltdiveuc|nfeltdivmodpr|nfeltdivrem|nfeltembed|nfeltispower|nfeltissquare|nfeltmod|nfeltmul|nfeltmulmodpr|nfeltnorm|nfeltpow|nfeltpowmodpr|nfeltreduce|nfeltreducemodpr|nfeltsign|nfelttrace|nfeltval|nffactor|nffactorback|nffactormod|nfgaloisapply|nfgaloisconj|nfgrunwaldwang|nfhilbert|nfhnf|nfhnfmod|nfinit|nfisideal|nfisincl|nfisisom|nfislocalpower|nfkermodpr|nflist|nfmodpr|nfmodprinit|nfmodprlift|nfnewprec|nfpolsturm|nfresolvent|nfroots|nfrootsof1|nfsnf|nfsolvemodpr|nfsplitting|nfsubfields|nfsubfieldscm|nfsubfieldsmax|norm|norml2|normlp|numbpart|numdiv|numerator|numtoperm|omega|padicappr|padicfields|padicprec|parapply|pareval|parselect|partitions|permcycles|permorder|permsign|permtonum|plotbox|plotclip|plotcolor|plotcopy|plotcursor|plotdraw|plotexport|plothraw|plothrawexport|plothsizes|plotinit|plotkill|plotlines|plotlinetype|plotmove|plotpoints|plotpointsize|plotpointtype|plotrbox|plotrecthraw|plotrline|plotrmove|plotrpoint|plotscale|plotstring|polchebyshev|polclass|polcoef|polcoeff|polcompositum|polcyclo|polcyclofactors|poldegree|poldisc|poldiscfactors|poldiscreduced|polgalois|polgraeffe|polhensellift|polhermite|polinterpolate|poliscyclo|poliscycloprod|polisirreducible|pollaguerre|pollead|pollegendre|polmodular|polrecip|polred|polredabs|polredbest|polredord|polresultant|polresultantext|polroots|polrootsbound|polrootsff|polrootsmod|polrootspadic|polrootsreal|polsturm|polsubcyclo|polsubcyclofast|polsylvestermatrix|polsym|poltchebi|polteichmuller|poltomonic|poltschirnhaus|polylog|polylogmult|polzagier|powers|precision|precprime|prime|primecert|primecertexport|primecertisvalid|primepi|primes|print|print1|printf|printp|printsep|printsep1|printtex|prodeulerrat|prodnumrat|psdraw|psi|psplothraw|qfauto|qfautoexport|qfbclassno|qfbcomp|qfbcompraw|qfbcornacchia|qfbhclassno|qfbil|qfbnucomp|qfbnupow|qfbpow|qfbpowraw|qfbprimeform|qfbred|qfbredsl2|qfbsolve|qfeval|qfgaussred|qfisom|qfisominit|qfjacobi|qflll|qflllgram|qfminim|qfminimize|qfnorm|qforbits|qfparam|qfperfection|qfrep|qfsign|qfsolve|quadclassunit|quaddisc|quadgen|quadhilbert|quadpoly|quadray|quadregulator|quadunit|quadunitindex|quadunitnorm|ramanujantau|random|randomprime|read|readstr|readvec|real|removeprimes|rnfalgtobasis|rnfbasis|rnfbasistoalg|rnfcharpoly|rnfconductor|rnfdedekind|rnfdet|rnfdisc|rnfeltabstorel|rnfeltdown|rnfeltnorm|rnfeltreltoabs|rnfelttrace|rnfeltup|rnfequation|rnfhnfbasis|rnfidealabstorel|rnfidealdown|rnfidealfactor|rnfidealhnf|rnfidealmul|rnfidealnormabs|rnfidealnormrel|rnfidealprimedec|rnfidealreltoabs|rnfidealtwoelt|rnfidealup|rnfinit|rnfisabelian|rnfisfree|rnfislocalcyclo|rnfisnorm|rnfisnorminit|rnfkummer|rnflllgram|rnfnormgroup|rnfpolred|rnfpolredabs|rnfpolredbest|rnfpseudobasis|rnfsteinitz|rootsof1|round|select|self|seralgdep|serchop|serconvol|serdiffdep|serlaplace|serprec|serreverse|setbinop|setdebug|setdelta|setintersect|setisset|setminus|setrand|setsearch|setunion|shift|shiftmul|sigma|sign|simplify|sin|sinc|sinh|sizebyte|sizedigit|snfrank|sqr|sqrt|sqrtint|sqrtn|sqrtnint|stirling|strchr|strexpand|strjoin|strprintf|strsplit|strtex|strtime|subcyclohminus|subcycloiwasawa|subcyclopclgp|subgrouplist|subst|substpol|substvec|sumdedekind|sumdigits|sumeulerrat|sumformal|sumnumapinit|sumnuminit|sumnumlagrangeinit|sumnummonieninit|sumnumrat|system|tan|tanh|taylor|teichmuller|theta|thetanullk|thue|thueinit|trace|trap|truncate|type|unexportall|valuation|varhigher|variable|variables|varlower|vecextract|vecmax|vecmin|vecprod|vecsearch|vecsort|vecsum|vector|vectorsmall|vectorv|version|warning|weber|whatnow|write|write1|writebin|writetex|zeta|zetahurwitz|zetamult|zetamultall|zetamultconvert|zetamultdual|znchar|zncharconductor|znchardecompose|znchargauss|zncharinduce|zncharisodd|znchartokronecker|znchartoprimitive|znconreychar|znconreyconductor|znconreyexp|znconreylog|zncoppersmith|znlog|znorder|znprimroot|znstar|znsubgroupgenerators)\\b(\\s*)(?={|\\()", + "captures": { + "1": { + "name": "entity.name.function.builtins.parigp" }, - { - "match": "\\b(Catalan|Euler|I|Pi|oo)", - "captures": { - "1": { - "name": "constant.language.parigp" - } - } + "2": { + "name": "constant.character.whitespace.parigp" + } + } + }, + { + "match": "\\b(Catalan|Euler|I|Pi|oo)", + "captures": { + "1": { + "name": "constant.language.parigp" + } + } + }, + { + "match": "\\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\\b", + "captures": { + "1": { + "name": "keyword.control.parigp" + } + } + }, + { + "match": "(\\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\\b", + "captures": { + "1": { + "name": "markup.punctuation.member.parigp" }, + "2": { + "name": "entity.name.function.member.builtins.parigp" + } + } + } + ] + }, + "_user-defined": { + "patterns": [ + { + "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=(\\s*\\(|\\(\\s*\\{|\\{\\s*\\()[^=]*=)", + "end": "(?<=\\=)", + "beginCaptures": { + "1": { + "name": "entity.name.function.user.parigp" + } + }, + "name": "meta.function.parigp", + "patterns": [ { - "match": "\\b(allocatemem|break|breakpoint|dbg_down|dbg_up|default|derivnum|direuler|error|export|for|forcomposite|fordiv|fordivfactored|foreach|forell|forfactored|forpart|forperm|forprime|forprimestep|forqfvec|forsquarefree|forstep|forsubgroup|forsubset|forvec|gcharlocal|global|iferr|inline|input|intcirc|intfuncinit|intnum|intnumgauss|intnumosc|intnumromb|local|my|next|parfor|parforeach|parforprime|parforprimestep|parforvec|parploth|parplothexport|parsum|parvector|plot|ploth|plothexport|plotrecth|prod|prodeuler|prodinf|psploth|quit|return|solve|solvestep|sum|sumalt|sumdiv|sumdivmult|suminf|sumnum|sumnumap|sumnumlagrange|sumnummonien|sumnumsidi|sumpos|unexport|uninline|until|while)\\b", - "captures": { - "1": { - "name": "keyword.control.parigp" - } - } + "include": "#_function-vars" + } + ] + }, + { + "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=\\s*=\\s*(\\(([^()]|(\\g<2>))*\\)|[[:alpha:]][[:alnum:]_]*)\\s*\\-\\s*>)", + "end": "\\-(\\s*)>", + "beginCaptures": { + "1": { + "name": "entity.name.function.user.lambda.parigp" + } + }, + "endCaptures": { + "0": { + "name": "keyword.operator.lambda" }, + "1": { + "name": "constant.character.whitespace.parigp" + } + }, + "name": "meta.function.lambda.parigp", + "patterns": [ { - "match": "(\\.)(b2|b3|b4|b5|b6|b7|b8|codiff|c4|c5|c6|eta|f|area|a1|a2|a3|a4|a5|a6|bid|bnf|clgp|cyc|diff|disc|e|fu|gen|group|index|j|mod|nf|no|omega|orders|p|pol|polabs|r1|r2|reg|roots|sign|t2|tate|tu|zk|zkst)\\b", - "captures": { - "1": { - "name": "markup.punctuation.member.parigp" - }, - "2": { - "name": "entity.name.function.member.builtins.parigp" - } - } + "include": "#_function-vars" } ] }, - "user-defined": { + { + "begin": "(?=(?:\\(([^()]|(\\g<0>))*\\)|[[:alpha:]][[:alnum:]_]*|\\{.+\\})\\s*\\-\\s*>)", + "end": "\\-(\\s*)>", + "contentName": "entity.name.function.user.lambda.anonymous.parigp", + "endCaptures": { + "0": { + "name": "keyword.operator.lambda" + }, + "1": { + "name": "constant.character.whitespace.parigp" + } + }, + "name": "meta.function.lambda.anonymous.parigp", "patterns": [ { - "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=(\\s*\\(|\\(\\s*\\{|\\{\\s*\\()[^=]*=)", - "end": "(?<=\\s*\\=)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.parigp" - } - }, - "name": "meta.function.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] + "include": "#_function-vars" + } + ] + }, + { + "begin": "(\\.)([[:alpha:]][[:alnum:]_]*)\\b(?=[^=]*=)", + "end": "(?<=\\=)", + "beginCaptures": { + "1": { + "name": "markup.punctuation.member.parigp" }, + "2": { + "name": "entity.name.function.user.member.parigp" + } + }, + "name": "meta.function.member.parigp", + "patterns": [ { - "begin": "([[:alpha:]][[:alnum:]_]*)\\b(?=\\s*=\\s*(\\(([^()]|(\\g<2>))*\\)|[[:alpha:]][[:alnum:]_]*)\\s*\\-\\s*>)", - "end": "(?<=\\s*\\-\\s*>)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.lambda.parigp" - } - }, - "name": "meta.function.lambda.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] + "include": "#general" }, { - "begin": "(\\(([^()]|(\\g<0>))*\\)|[[:alpha:]][[:alnum:]_]*|\\{.+\\})(?=\\s*\\-\\s*>)", - "end": "(?<=\\s*\\-\\s*>)", - "beginCaptures": { - "1": { - "name": "entity.name.function.user.lambda.anonymous.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] - } - }, - "name": "meta.function.lambda.anonymous.parigp", - "patterns": [ - { - "include": "#general" - }, - { - "include": "#operators" - } - ] - }, + "include": "#operators" + } + ] + } + ] + }, + "_function-vars": { + "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.parigp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.parigp" + } + }, + "name": "meta.parens.parigp", + "patterns": [ { - "begin": "(\\.)([[:alpha:]][[:alnum:]_]*)\\b(?=[^=]*=)", - "end": "(?<=\\s*\\=)", - "beginCaptures": { - "1": { - "name": "markup.punctuation.member.parigp" - }, - "2": { - "name": "entity.name.function.user.member.parigp" - } - }, - "name": "meta.function.member.parigp", - "patterns": [ - { - "include": "#general" - }, - { - "include": "#operators" - } - ] - } - ], - "repository": { - "function-vars": { - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.parigp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.parigp" - } - }, - "name": "meta.parens.parigp", - "patterns": [ - { - "include": "#function-vars" - } - ] - }, - { - "include": "#general" - }, - { - "include": "#literals" - }, - { - "include": "#operators" - }, - { - "include": "#type-hints" - }, - { - "match": "(?=|<|(?|!=|==)", "name": "keyword.operator.comparison.parigp" }, - { - "match": "(\\->)", - "name": "keyword.operator.lambda" - }, { "match": "(=)", "name": "keyword.operator.assignment.parigp"