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 @@
Coverage
Coverage
- 100%
- 100%
+ 98.22%
+ 98.22%
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"