diff --git a/package-lock.json b/package-lock.json index 8cc5d46..383ab18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pinescript-helper", - "version": "3.4.1", + "version": "3.4.2-beta-6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pinescript-helper", - "version": "3.4.1", + "version": "3.4.2-beta-6", "license": "MIT", "dependencies": { "find-up": "^6.3.0", @@ -25,7 +25,7 @@ "@typescript-eslint/eslint-plugin": "^5.1.0", "@typescript-eslint/parser": "^5.1.0", "@vscode/test-electron": "^1.6.2", - "eslint": "^8.1.0", + "eslint": "^8.57.0", "glob": "^7.1.7", "mocha": "^9.1.3", "ts-loader": "^9.2.5", @@ -46,54 +46,129 @@ "node": ">=10.0.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz", - "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { - "ajv": "^6.12.4", + "ajv": "^6.12.6", "debug": "^4.3.2", - "espree": "^9.0.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 4" + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz", - "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", @@ -426,6 +501,13 @@ "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@vscode/test-electron": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-1.6.2.tgz", @@ -636,10 +718,11 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -661,6 +744,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -886,6 +970,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1096,7 +1181,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/diff": { "version": "5.0.0", @@ -1165,18 +1251,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -1217,49 +1291,50 @@ } }, "node_modules/eslint": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz", - "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint/eslintrc": "^1.0.4", - "@humanwhocodes/config-array": "^0.6.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.1.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.2.0", - "semver": "^7.2.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -1312,25 +1387,33 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -1338,38 +1421,126 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">= 4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/espree": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz", - "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.6.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1382,6 +1553,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -1477,8 +1649,9 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" }, "node_modules/fastest-levenshtein": { "version": "1.0.12", @@ -1682,10 +1855,11 @@ "dev": true }, "node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1722,6 +1896,13 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -1789,10 +1970,11 @@ } }, "node_modules/ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -1802,6 +1984,7 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1987,6 +2170,16 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -2114,6 +2307,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -2476,17 +2670,18 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -2533,6 +2728,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2618,6 +2814,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -2628,15 +2825,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -2778,6 +2966,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -3166,6 +3355,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -3178,6 +3368,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3231,12 +3422,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -3397,10 +3582,11 @@ "dev": true }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3510,46 +3696,87 @@ "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", "dev": true }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz", - "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.0.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } } } }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz", - "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@jridgewell/gen-mapping": { @@ -3788,6 +4015,12 @@ "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "@vscode/test-electron": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-1.6.2.tgz", @@ -3982,9 +4215,9 @@ "dev": true }, "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, "acorn-import-assertions": { @@ -4380,15 +4613,6 @@ "tapable": "^2.2.0" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -4414,55 +4638,55 @@ "dev": true }, "eslint": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz", - "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.0.4", - "@humanwhocodes/config-array": "^0.6.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.1.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.2.0", - "semver": "^7.2.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -4475,10 +4699,56 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } @@ -4511,26 +4781,26 @@ } }, "eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz", - "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^8.6.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" } }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -4618,7 +4888,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastest-levenshtein": { @@ -4781,9 +5051,9 @@ "dev": true }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -4809,6 +5079,12 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -4858,9 +5134,9 @@ } }, "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, "import-fresh": { @@ -4998,6 +5274,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -5360,9 +5642,9 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -5370,7 +5652,7 @@ "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" } }, "p-limit": { @@ -5464,12 +5746,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -5882,12 +6158,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -5990,9 +6260,9 @@ "dev": true }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "workerpool": { diff --git a/package.json b/package.json index 99f2acd..1e84143 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "icon": "images/pineicon.png", "publisher": "salbert11", "license": "MIT", - "version": "3.4.1", + "version": "3.4.2-beta-6", "engines": { "vscode": "^1.62.0" }, @@ -213,7 +213,7 @@ "@typescript-eslint/eslint-plugin": "^5.1.0", "@typescript-eslint/parser": "^5.1.0", "@vscode/test-electron": "^1.6.2", - "eslint": "^8.1.0", + "eslint": "^8.57.0", "glob": "^7.1.7", "mocha": "^9.1.3", "ts-loader": "^9.2.5", diff --git a/snippets/built-in_constants.json b/snippets/built-in_constants.json index 6881798..245b5f9 100644 --- a/snippets/built-in_constants.json +++ b/snippets/built-in_constants.json @@ -1,1318 +1,1360 @@ { "adjustment.dividends ⇨ 𝑥": { - "prefix": "adjustment.dividends", - "body": [ - "adjustment.dividends$0" - ], - "description": "Constant for dividends adjustment type (dividends adjustment is applied). | TYPE const string" + "prefix": "adjustment.dividends", + "body": [ + "adjustment.dividends$0" + ], + "description": "Constant for dividends adjustment type (dividends adjustment is applied). | TYPE const string" }, "adjustment.none ⇨ 𝑥": { - "prefix": "adjustment.none", - "body": [ - "adjustment.none$0" - ], - "description": "Constant for none adjustment type (no adjustment is applied). | TYPE const string" + "prefix": "adjustment.none", + "body": [ + "adjustment.none$0" + ], + "description": "Constant for none adjustment type (no adjustment is applied). | TYPE const string" }, "adjustment.splits ⇨ 𝑥": { - "prefix": "adjustment.splits", - "body": [ - "adjustment.splits$0" - ], - "description": "Constant for splits adjustment type (splits adjustment is applied). | TYPE const string" + "prefix": "adjustment.splits", + "body": [ + "adjustment.splits$0" + ], + "description": "Constant for splits adjustment type (splits adjustment is applied). | TYPE const string" }, "alert.freq_all ⇨ 𝑥": { - "prefix": "alert.freq_all", - "body": [ - "alert.freq_all$0" - ], - "description": "A named constant for use with the `freq` parameter of the alert() function. All function calls trigger the alert. | TYPE const string" + "prefix": "alert.freq_all", + "body": [ + "alert.freq_all$0" + ], + "description": "A named constant for use with the `freq` parameter of the alert() function. All function calls trigger the alert. | TYPE const string" }, "alert.freq_once_per_bar ⇨ 𝑥": { - "prefix": "alert.freq_once_per_bar", - "body": [ - "alert.freq_once_per_bar$0" - ], - "description": "A named constant for use with the `freq` parameter of the alert() function. The first function call during the bar triggers the alert. | TYPE const string" + "prefix": "alert.freq_once_per_bar", + "body": [ + "alert.freq_once_per_bar$0" + ], + "description": "A named constant for use with the `freq` parameter of the alert() function. The first function call during the bar triggers the alert. | TYPE const string" }, "alert.freq_once_per_bar_close ⇨ 𝑥": { - "prefix": "alert.freq_once_per_bar_close", - "body": [ - "alert.freq_once_per_bar_close$0" - ], - "description": "A named constant for use with the `freq` parameter of the alert() function. The function call triggers the alert only when it occurs during the last script iteration of the real-time bar, when it closes. | TYPE const string" + "prefix": "alert.freq_once_per_bar_close", + "body": [ + "alert.freq_once_per_bar_close$0" + ], + "description": "A named constant for use with the `freq` parameter of the alert() function. The function call triggers the alert only when it occurs during the last script iteration of the real-time bar, when it closes. | TYPE const string" + }, + "backadjustment.inherit ⇨ 𝑥": { + "prefix": "backadjustment.inherit", + "body": [ + "backadjustment.inherit$0" + ], + "description": "A constant to specify the value of the backadjustment parameter in ticker.new and ticker.modify functions. | TYPE const backadjustment" + }, + "backadjustment.off ⇨ 𝑥": { + "prefix": "backadjustment.off", + "body": [ + "backadjustment.off$0" + ], + "description": "A constant to specify the value of the backadjustment parameter in ticker.new and ticker.modify functions. | TYPE const backadjustment" + }, + "backadjustment.on ⇨ 𝑥": { + "prefix": "backadjustment.on", + "body": [ + "backadjustment.on$0" + ], + "description": "A constant to specify the value of the backadjustment parameter in ticker.new and ticker.modify functions. | TYPE const backadjustment" }, "barmerge.gaps_off ⇨ 𝑥": { - "prefix": "barmerge.gaps_off", - "body": [ - "barmerge.gaps_off$0" - ], - "description": "Merge strategy for requested data. Data is merged continuously without gaps, all the gaps are filled with the previous nearest existing value. | TYPE barmerge_gaps" + "prefix": "barmerge.gaps_off", + "body": [ + "barmerge.gaps_off$0" + ], + "description": "Merge strategy for requested data. Data is merged continuously without gaps, all the gaps are filled with the previous nearest existing value. | TYPE barmerge_gaps" }, "barmerge.gaps_on ⇨ 𝑥": { - "prefix": "barmerge.gaps_on", - "body": [ - "barmerge.gaps_on$0" - ], - "description": "Merge strategy for requested data. Data is merged with possible gaps (na values). | TYPE barmerge_gaps" + "prefix": "barmerge.gaps_on", + "body": [ + "barmerge.gaps_on$0" + ], + "description": "Merge strategy for requested data. Data is merged with possible gaps (na values). | TYPE barmerge_gaps" }, "barmerge.lookahead_off ⇨ 𝑥": { - "prefix": "barmerge.lookahead_off", - "body": [ - "barmerge.lookahead_off$0" - ], - "description": "Merge strategy for the requested data position. Requested barset is merged with current barset in the order of sorting bars by their close time. This merge strategy disables effect of getting data from 'future' on calculation on history. | TYPE barmerge_lookahead" + "prefix": "barmerge.lookahead_off", + "body": [ + "barmerge.lookahead_off$0" + ], + "description": "Merge strategy for the requested data position. Requested barset is merged with current barset in the order of sorting bars by their close time. This merge strategy disables effect of getting data from 'future' on calculation on history. | TYPE barmerge_lookahead" }, "barmerge.lookahead_on ⇨ 𝑥": { - "prefix": "barmerge.lookahead_on", - "body": [ - "barmerge.lookahead_on$0" - ], - "description": "Merge strategy for the requested data position. Requested barset is merged with current barset in the order of sorting bars by their opening time. This merge strategy can lead to undesirable effect of getting data from 'future' on calculation on history. This is unacceptable in backtesting strategies, but can be useful in indicators. | TYPE barmerge_lookahead" + "prefix": "barmerge.lookahead_on", + "body": [ + "barmerge.lookahead_on$0" + ], + "description": "Merge strategy for the requested data position. Requested barset is merged with current barset in the order of sorting bars by their opening time. This merge strategy can lead to undesirable effect of getting data from 'future' on calculation on history. This is unacceptable in backtesting strategies, but can be useful in indicators. | TYPE barmerge_lookahead" }, "color.aqua ⇨ 𝑥": { - "prefix": "color.aqua", - "body": [ - "color.aqua$0" - ], - "description": "Is a named constant for #00BCD4 color. | TYPE const color" + "prefix": "color.aqua", + "body": [ + "color.aqua$0" + ], + "description": "Is a named constant for #00BCD4 color. | TYPE const color" }, "color.black ⇨ 𝑥": { - "prefix": "color.black", - "body": [ - "color.black$0" - ], - "description": "Is a named constant for #363A45 color. | TYPE const color" + "prefix": "color.black", + "body": [ + "color.black$0" + ], + "description": "Is a named constant for #363A45 color. | TYPE const color" }, "color.blue ⇨ 𝑥": { - "prefix": "color.blue", - "body": [ - "color.blue$0" - ], - "description": "Is a named constant for #2962ff color. | TYPE const color" + "prefix": "color.blue", + "body": [ + "color.blue$0" + ], + "description": "Is a named constant for #2962ff color. | TYPE const color" }, "color.fuchsia ⇨ 𝑥": { - "prefix": "color.fuchsia", - "body": [ - "color.fuchsia$0" - ], - "description": "Is a named constant for #E040FB color. | TYPE const color" + "prefix": "color.fuchsia", + "body": [ + "color.fuchsia$0" + ], + "description": "Is a named constant for #E040FB color. | TYPE const color" }, "color.gray ⇨ 𝑥": { - "prefix": "color.gray", - "body": [ - "color.gray$0" - ], - "description": "Is a named constant for #787B86 color. | TYPE const color" + "prefix": "color.gray", + "body": [ + "color.gray$0" + ], + "description": "Is a named constant for #787B86 color. | TYPE const color" }, "color.green ⇨ 𝑥": { - "prefix": "color.green", - "body": [ - "color.green$0" - ], - "description": "Is a named constant for #4CAF50 color. | TYPE const color" + "prefix": "color.green", + "body": [ + "color.green$0" + ], + "description": "Is a named constant for #4CAF50 color. | TYPE const color" }, "color.lime ⇨ 𝑥": { - "prefix": "color.lime", - "body": [ - "color.lime$0" - ], - "description": "Is a named constant for #00E676 color. | TYPE const color" + "prefix": "color.lime", + "body": [ + "color.lime$0" + ], + "description": "Is a named constant for #00E676 color. | TYPE const color" }, "color.maroon ⇨ 𝑥": { - "prefix": "color.maroon", - "body": [ - "color.maroon$0" - ], - "description": "Is a named constant for #880E4F color. | TYPE const color" + "prefix": "color.maroon", + "body": [ + "color.maroon$0" + ], + "description": "Is a named constant for #880E4F color. | TYPE const color" }, "color.navy ⇨ 𝑥": { - "prefix": "color.navy", - "body": [ - "color.navy$0" - ], - "description": "Is a named constant for #311B92 color. | TYPE const color" + "prefix": "color.navy", + "body": [ + "color.navy$0" + ], + "description": "Is a named constant for #311B92 color. | TYPE const color" }, "color.olive ⇨ 𝑥": { - "prefix": "color.olive", - "body": [ - "color.olive$0" - ], - "description": "Is a named constant for #808000 color. | TYPE const color" + "prefix": "color.olive", + "body": [ + "color.olive$0" + ], + "description": "Is a named constant for #808000 color. | TYPE const color" }, "color.orange ⇨ 𝑥": { - "prefix": "color.orange", - "body": [ - "color.orange$0" - ], - "description": "Is a named constant for #FF9800 color. | TYPE const color" + "prefix": "color.orange", + "body": [ + "color.orange$0" + ], + "description": "Is a named constant for #FF9800 color. | TYPE const color" }, "color.purple ⇨ 𝑥": { - "prefix": "color.purple", - "body": [ - "color.purple$0" - ], - "description": "Is a named constant for #9C27B0 color. | TYPE const color" + "prefix": "color.purple", + "body": [ + "color.purple$0" + ], + "description": "Is a named constant for #9C27B0 color. | TYPE const color" }, "color.red ⇨ 𝑥": { - "prefix": "color.red", - "body": [ - "color.red$0" - ], - "description": "Is a named constant for #FF5252 color. | TYPE const color" + "prefix": "color.red", + "body": [ + "color.red$0" + ], + "description": "Is a named constant for #FF5252 color. | TYPE const color" }, "color.silver ⇨ 𝑥": { - "prefix": "color.silver", - "body": [ - "color.silver$0" - ], - "description": "Is a named constant for #B2B5BE color. | TYPE const color" + "prefix": "color.silver", + "body": [ + "color.silver$0" + ], + "description": "Is a named constant for #B2B5BE color. | TYPE const color" }, "color.teal ⇨ 𝑥": { - "prefix": "color.teal", - "body": [ - "color.teal$0" - ], - "description": "Is a named constant for #00897B color. | TYPE const color" + "prefix": "color.teal", + "body": [ + "color.teal$0" + ], + "description": "Is a named constant for #00897B color. | TYPE const color" }, "color.white ⇨ 𝑥": { - "prefix": "color.white", - "body": [ - "color.white$0" - ], - "description": "Is a named constant for #FFFFFF color. | TYPE const color" + "prefix": "color.white", + "body": [ + "color.white$0" + ], + "description": "Is a named constant for #FFFFFF color. | TYPE const color" }, "color.yellow ⇨ 𝑥": { - "prefix": "color.yellow", - "body": [ - "color.yellow$0" - ], - "description": "Is a named constant for #FFEB3B color. | TYPE const color" + "prefix": "color.yellow", + "body": [ + "color.yellow$0" + ], + "description": "Is a named constant for #FFEB3B color. | TYPE const color" }, "currency.AUD ⇨ 𝑥": { - "prefix": "currency.AUD", - "body": [ - "currency.AUD$0" - ], - "description": "Australian dollar. | TYPE const string" + "prefix": "currency.AUD", + "body": [ + "currency.AUD$0" + ], + "description": "Australian dollar. | TYPE const string" }, "currency.BTC ⇨ 𝑥": { - "prefix": "currency.BTC", - "body": [ - "currency.BTC$0" - ], - "description": "Bitcoin. | TYPE const string" + "prefix": "currency.BTC", + "body": [ + "currency.BTC$0" + ], + "description": "Bitcoin. | TYPE const string" }, "currency.CAD ⇨ 𝑥": { - "prefix": "currency.CAD", - "body": [ - "currency.CAD$0" - ], - "description": "Canadian dollar. | TYPE const string" + "prefix": "currency.CAD", + "body": [ + "currency.CAD$0" + ], + "description": "Canadian dollar. | TYPE const string" }, "currency.CHF ⇨ 𝑥": { - "prefix": "currency.CHF", - "body": [ - "currency.CHF$0" - ], - "description": "Swiss franc. | TYPE const string" + "prefix": "currency.CHF", + "body": [ + "currency.CHF$0" + ], + "description": "Swiss franc. | TYPE const string" }, "currency.ETH ⇨ 𝑥": { - "prefix": "currency.ETH", - "body": [ - "currency.ETH$0" - ], - "description": "Ethereum. | TYPE const string" + "prefix": "currency.ETH", + "body": [ + "currency.ETH$0" + ], + "description": "Ethereum. | TYPE const string" }, "currency.EUR ⇨ 𝑥": { - "prefix": "currency.EUR", - "body": [ - "currency.EUR$0" - ], - "description": "Euro. | TYPE const string" + "prefix": "currency.EUR", + "body": [ + "currency.EUR$0" + ], + "description": "Euro. | TYPE const string" }, "currency.GBP ⇨ 𝑥": { - "prefix": "currency.GBP", - "body": [ - "currency.GBP$0" - ], - "description": "Pound sterling. | TYPE const string" + "prefix": "currency.GBP", + "body": [ + "currency.GBP$0" + ], + "description": "Pound sterling. | TYPE const string" }, "currency.HKD ⇨ 𝑥": { - "prefix": "currency.HKD", - "body": [ - "currency.HKD$0" - ], - "description": "Hong Kong dollar. | TYPE const string" + "prefix": "currency.HKD", + "body": [ + "currency.HKD$0" + ], + "description": "Hong Kong dollar. | TYPE const string" }, "currency.INR ⇨ 𝑥": { - "prefix": "currency.INR", - "body": [ - "currency.INR$0" - ], - "description": "Indian rupee. | TYPE const string" + "prefix": "currency.INR", + "body": [ + "currency.INR$0" + ], + "description": "Indian rupee. | TYPE const string" }, "currency.JPY ⇨ 𝑥": { - "prefix": "currency.JPY", - "body": [ - "currency.JPY$0" - ], - "description": "Japanese yen. | TYPE const string" + "prefix": "currency.JPY", + "body": [ + "currency.JPY$0" + ], + "description": "Japanese yen. | TYPE const string" }, "currency.KRW ⇨ 𝑥": { - "prefix": "currency.KRW", - "body": [ - "currency.KRW$0" - ], - "description": "South Korean won. | TYPE const string" + "prefix": "currency.KRW", + "body": [ + "currency.KRW$0" + ], + "description": "South Korean won. | TYPE const string" }, "currency.MYR ⇨ 𝑥": { - "prefix": "currency.MYR", - "body": [ - "currency.MYR$0" - ], - "description": "Malaysian ringgit. | TYPE const string" + "prefix": "currency.MYR", + "body": [ + "currency.MYR$0" + ], + "description": "Malaysian ringgit. | TYPE const string" }, "currency.NOK ⇨ 𝑥": { - "prefix": "currency.NOK", - "body": [ - "currency.NOK$0" - ], - "description": "Norwegian krone. | TYPE const string" + "prefix": "currency.NOK", + "body": [ + "currency.NOK$0" + ], + "description": "Norwegian krone. | TYPE const string" }, "currency.NONE ⇨ 𝑥": { - "prefix": "currency.NONE", - "body": [ - "currency.NONE$0" - ], - "description": "Unspecified currency. | TYPE const string" + "prefix": "currency.NONE", + "body": [ + "currency.NONE$0" + ], + "description": "Unspecified currency. | TYPE const string" }, "currency.NZD ⇨ 𝑥": { - "prefix": "currency.NZD", - "body": [ - "currency.NZD$0" - ], - "description": "New Zealand dollar. | TYPE const string" + "prefix": "currency.NZD", + "body": [ + "currency.NZD$0" + ], + "description": "New Zealand dollar. | TYPE const string" }, "currency.RUB ⇨ 𝑥": { - "prefix": "currency.RUB", - "body": [ - "currency.RUB$0" - ], - "description": "Russian ruble. | TYPE const string" + "prefix": "currency.RUB", + "body": [ + "currency.RUB$0" + ], + "description": "Russian ruble. | TYPE const string" }, "currency.SEK ⇨ 𝑥": { - "prefix": "currency.SEK", - "body": [ - "currency.SEK$0" - ], - "description": "Swedish krona. | TYPE const string" + "prefix": "currency.SEK", + "body": [ + "currency.SEK$0" + ], + "description": "Swedish krona. | TYPE const string" }, "currency.SGD ⇨ 𝑥": { - "prefix": "currency.SGD", - "body": [ - "currency.SGD$0" - ], - "description": "Singapore dollar. | TYPE const string" + "prefix": "currency.SGD", + "body": [ + "currency.SGD$0" + ], + "description": "Singapore dollar. | TYPE const string" }, "currency.TRY ⇨ 𝑥": { - "prefix": "currency.TRY", - "body": [ - "currency.TRY$0" - ], - "description": "Turkish lira. | TYPE const string" + "prefix": "currency.TRY", + "body": [ + "currency.TRY$0" + ], + "description": "Turkish lira. | TYPE const string" }, "currency.USD ⇨ 𝑥": { - "prefix": "currency.USD", - "body": [ - "currency.USD$0" - ], - "description": "United States dollar. | TYPE const string" + "prefix": "currency.USD", + "body": [ + "currency.USD$0" + ], + "description": "United States dollar. | TYPE const string" }, "currency.USDT ⇨ 𝑥": { - "prefix": "currency.USDT", - "body": [ - "currency.USDT$0" - ], - "description": "Tether. | TYPE const string" + "prefix": "currency.USDT", + "body": [ + "currency.USDT$0" + ], + "description": "Tether. | TYPE const string" }, "currency.ZAR ⇨ 𝑥": { - "prefix": "currency.ZAR", - "body": [ - "currency.ZAR$0" - ], - "description": "South African rand. | TYPE const string" + "prefix": "currency.ZAR", + "body": [ + "currency.ZAR$0" + ], + "description": "South African rand. | TYPE const string" }, "dayofweek.friday ⇨ 𝑥": { - "prefix": "dayofweek.friday", - "body": [ - "dayofweek.friday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.friday", + "body": [ + "dayofweek.friday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.monday ⇨ 𝑥": { - "prefix": "dayofweek.monday", - "body": [ - "dayofweek.monday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.monday", + "body": [ + "dayofweek.monday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.saturday ⇨ 𝑥": { - "prefix": "dayofweek.saturday", - "body": [ - "dayofweek.saturday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.saturday", + "body": [ + "dayofweek.saturday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.sunday ⇨ 𝑥": { - "prefix": "dayofweek.sunday", - "body": [ - "dayofweek.sunday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.sunday", + "body": [ + "dayofweek.sunday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.thursday ⇨ 𝑥": { - "prefix": "dayofweek.thursday", - "body": [ - "dayofweek.thursday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.thursday", + "body": [ + "dayofweek.thursday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.tuesday ⇨ 𝑥": { - "prefix": "dayofweek.tuesday", - "body": [ - "dayofweek.tuesday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.tuesday", + "body": [ + "dayofweek.tuesday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "dayofweek.wednesday ⇨ 𝑥": { - "prefix": "dayofweek.wednesday", - "body": [ - "dayofweek.wednesday$0" - ], - "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" + "prefix": "dayofweek.wednesday", + "body": [ + "dayofweek.wednesday$0" + ], + "description": "Is a named constant for return value of dayofweek function and value of dayofweek variable. | TYPE const int" }, "display.all ⇨ 𝑥": { - "prefix": "display.all", - "body": [ - "display.all$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in all possible locations. | TYPE plot_simple_display" + "prefix": "display.all", + "body": [ + "display.all$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in all possible locations. | TYPE plot_simple_display" }, "display.data_window ⇨ 𝑥": { - "prefix": "display.data_window", - "body": [ - "display.data_window$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in the Data Window, a menu accessible from the chart's right sidebar. | TYPE plot_display" + "prefix": "display.data_window", + "body": [ + "display.data_window$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in the Data Window, a menu accessible from the chart's right sidebar. | TYPE plot_display" }, "display.none ⇨ 𝑥": { - "prefix": "display.none", - "body": [ - "display.none$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. `plot*()` functions using this will not display their plotted values anywhere. However, alert template messages and fill functions can still use the values, and they will appear in exported chart data. `input*()` functions using this constant will only display their values within the script's settings. | TYPE plot_simple_display" + "prefix": "display.none", + "body": [ + "display.none$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. `plot*()` functions using this will not display their plotted values anywhere. However, alert template messages and fill functions can still use the values, and they will appear in exported chart data. `input*()` functions using this constant will only display their values within the script's settings. | TYPE plot_simple_display" }, "display.pane ⇨ 𝑥": { - "prefix": "display.pane", - "body": [ - "display.pane$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` functions. Displays plotted values in the chart pane used by the script. | TYPE plot_display" + "prefix": "display.pane", + "body": [ + "display.pane$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` functions. Displays plotted values in the chart pane used by the script. | TYPE plot_display" }, "display.price_scale ⇨ 𝑥": { - "prefix": "display.price_scale", - "body": [ - "display.price_scale$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` functions. Displays the plot’s label and value on the price scale if the chart's settings allow it. | TYPE plot_display" + "prefix": "display.price_scale", + "body": [ + "display.price_scale$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` functions. Displays the plot’s label and value on the price scale if the chart's settings allow it. | TYPE plot_display" }, "display.status_line ⇨ 𝑥": { - "prefix": "display.status_line", - "body": [ - "display.status_line$0" - ], - "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in the status line next to the script's name on the chart if the chart's settings allow it. | TYPE plot_display" + "prefix": "display.status_line", + "body": [ + "display.status_line$0" + ], + "description": "A named constant for use with the `display` parameter of `plot*()` and `input*()` functions. Displays plotted or input values in the status line next to the script's name on the chart if the chart's settings allow it. | TYPE plot_display" }, "dividends.gross ⇨ 𝑥": { - "prefix": "dividends.gross", - "body": [ - "dividends.gross$0" - ], - "description": "A named constant for the request.dividends function. Is used to request the dividends return on a stock before deductions. | TYPE const string" + "prefix": "dividends.gross", + "body": [ + "dividends.gross$0" + ], + "description": "A named constant for the request.dividends function. Is used to request the dividends return on a stock before deductions. | TYPE const string" }, "dividends.net ⇨ 𝑥": { - "prefix": "dividends.net", - "body": [ - "dividends.net$0" - ], - "description": "A named constant for the request.dividends function. Is used to request the dividends return on a stock after deductions. | TYPE const string" + "prefix": "dividends.net", + "body": [ + "dividends.net$0" + ], + "description": "A named constant for the request.dividends function. Is used to request the dividends return on a stock after deductions. | TYPE const string" }, "earnings.actual ⇨ 𝑥": { - "prefix": "earnings.actual", - "body": [ - "earnings.actual$0" - ], - "description": "A named constant for the request.earnings function. Is used to request the earnings value as it was reported. | TYPE const string" + "prefix": "earnings.actual", + "body": [ + "earnings.actual$0" + ], + "description": "A named constant for the request.earnings function. Is used to request the earnings value as it was reported. | TYPE const string" }, "earnings.estimate ⇨ 𝑥": { - "prefix": "earnings.estimate", - "body": [ - "earnings.estimate$0" - ], - "description": "A named constant for the request.earnings function. Is used to request the estimated earnings value. | TYPE const string" + "prefix": "earnings.estimate", + "body": [ + "earnings.estimate$0" + ], + "description": "A named constant for the request.earnings function. Is used to request the estimated earnings value. | TYPE const string" }, "earnings.standardized ⇨ 𝑥": { - "prefix": "earnings.standardized", - "body": [ - "earnings.standardized$0" - ], - "description": "A named constant for the request.earnings function. Is used to request the standardized earnings value. | TYPE const string" + "prefix": "earnings.standardized", + "body": [ + "earnings.standardized$0" + ], + "description": "A named constant for the request.earnings function. Is used to request the standardized earnings value. | TYPE const string" }, "extend.both ⇨ 𝑥": { - "prefix": "extend.both", - "body": [ - "extend.both$0" - ], - "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" + "prefix": "extend.both", + "body": [ + "extend.both$0" + ], + "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" }, "extend.left ⇨ 𝑥": { - "prefix": "extend.left", - "body": [ - "extend.left$0" - ], - "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" + "prefix": "extend.left", + "body": [ + "extend.left$0" + ], + "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" }, "extend.none ⇨ 𝑥": { - "prefix": "extend.none", - "body": [ - "extend.none$0" - ], - "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" + "prefix": "extend.none", + "body": [ + "extend.none$0" + ], + "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" }, "extend.right ⇨ 𝑥": { - "prefix": "extend.right", - "body": [ - "extend.right$0" - ], - "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" + "prefix": "extend.right", + "body": [ + "extend.right$0" + ], + "description": "A named constant for line.new and line.set_extend functions. | TYPE const string" }, "font.family_default ⇨ 𝑥": { - "prefix": "font.family_default", - "body": [ - "font.family_default$0" - ], - "description": "Default text font for box.new, box.set_text_font_family, label.new, label.set_text_font_family, table.cell and table.cell_set_text_font_family functions. | TYPE const string" + "prefix": "font.family_default", + "body": [ + "font.family_default$0" + ], + "description": "Default text font for box.new, box.set_text_font_family, label.new, label.set_text_font_family, table.cell and table.cell_set_text_font_family functions. | TYPE const string" }, "font.family_monospace ⇨ 𝑥": { - "prefix": "font.family_monospace", - "body": [ - "font.family_monospace$0" - ], - "description": "Monospace text font for box.new, box.set_text_font_family, label.new, label.set_text_font_family, table.cell and table.cell_set_text_font_family functions. | TYPE const string" + "prefix": "font.family_monospace", + "body": [ + "font.family_monospace$0" + ], + "description": "Monospace text font for box.new, box.set_text_font_family, label.new, label.set_text_font_family, table.cell and table.cell_set_text_font_family functions. | TYPE const string" }, "format.inherit ⇨ 𝑥": { - "prefix": "format.inherit", - "body": [ - "format.inherit$0" - ], - "description": "Is a named constant for selecting the formatting of the script output values from the parent series in the indicator function. | TYPE const string" + "prefix": "format.inherit", + "body": [ + "format.inherit$0" + ], + "description": "Is a named constant for selecting the formatting of the script output values from the parent series in the indicator function. | TYPE const string" }, "format.mintick ⇨ 𝑥": { - "prefix": "format.mintick", - "body": [ - "format.mintick$0" - ], - "description": "Is a named constant to use with the str.tostring function. Passing a number to str.tostring with this argument rounds the number to the nearest value that can be divided by syminfo.mintick, without the remainder, with ties rounding up, and returns the string version of said value with trailing zeroes. | TYPE const string" + "prefix": "format.mintick", + "body": [ + "format.mintick$0" + ], + "description": "Is a named constant to use with the str.tostring function. Passing a number to str.tostring with this argument rounds the number to the nearest value that can be divided by syminfo.mintick, without the remainder, with ties rounding up, and returns the string version of said value with trailing zeroes. | TYPE const string" }, "format.percent ⇨ 𝑥": { - "prefix": "format.percent", - "body": [ - "format.percent$0" - ], - "description": "Is a named constant for selecting the formatting of the script output values as a percentage in the indicator function. It adds a percent sign after values. | TYPE const string" + "prefix": "format.percent", + "body": [ + "format.percent$0" + ], + "description": "Is a named constant for selecting the formatting of the script output values as a percentage in the indicator function. It adds a percent sign after values. | TYPE const string" }, "format.price ⇨ 𝑥": { - "prefix": "format.price", - "body": [ - "format.price$0" - ], - "description": "Is a named constant for selecting the formatting of the script output values as prices in the indicator function. | TYPE const string" + "prefix": "format.price", + "body": [ + "format.price$0" + ], + "description": "Is a named constant for selecting the formatting of the script output values as prices in the indicator function. | TYPE const string" }, "format.volume ⇨ 𝑥": { - "prefix": "format.volume", - "body": [ - "format.volume$0" - ], - "description": "Is a named constant for selecting the formatting of the script output values as volume in the indicator function, e.g. '5183' will be formatted as '5.183K'. | TYPE const string" + "prefix": "format.volume", + "body": [ + "format.volume$0" + ], + "description": "Is a named constant for selecting the formatting of the script output values as volume in the indicator function, e.g. '5183' will be formatted as '5.183K'. | TYPE const string" }, "hline.style_dashed ⇨ 𝑥": { - "prefix": "hline.style_dashed", - "body": [ - "hline.style_dashed$0" - ], - "description": "Is a named constant for dashed linestyle of hline function. | TYPE hline_style" + "prefix": "hline.style_dashed", + "body": [ + "hline.style_dashed$0" + ], + "description": "Is a named constant for dashed linestyle of hline function. | TYPE hline_style" }, "hline.style_dotted ⇨ 𝑥": { - "prefix": "hline.style_dotted", - "body": [ - "hline.style_dotted$0" - ], - "description": "Is a named constant for dotted linestyle of hline function. | TYPE hline_style" + "prefix": "hline.style_dotted", + "body": [ + "hline.style_dotted$0" + ], + "description": "Is a named constant for dotted linestyle of hline function. | TYPE hline_style" }, "hline.style_solid ⇨ 𝑥": { - "prefix": "hline.style_solid", - "body": [ - "hline.style_solid$0" - ], - "description": "Is a named constant for solid linestyle of hline function. | TYPE hline_style" + "prefix": "hline.style_solid", + "body": [ + "hline.style_solid$0" + ], + "description": "Is a named constant for solid linestyle of hline function. | TYPE hline_style" }, "label.style_arrowdown ⇨ 𝑥": { - "prefix": "label.style_arrowdown", - "body": [ - "label.style_arrowdown$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_arrowdown", + "body": [ + "label.style_arrowdown$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_arrowup ⇨ 𝑥": { - "prefix": "label.style_arrowup", - "body": [ - "label.style_arrowup$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_arrowup", + "body": [ + "label.style_arrowup$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_circle ⇨ 𝑥": { - "prefix": "label.style_circle", - "body": [ - "label.style_circle$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_circle", + "body": [ + "label.style_circle$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_cross ⇨ 𝑥": { - "prefix": "label.style_cross", - "body": [ - "label.style_cross$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_cross", + "body": [ + "label.style_cross$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_diamond ⇨ 𝑥": { - "prefix": "label.style_diamond", - "body": [ - "label.style_diamond$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_diamond", + "body": [ + "label.style_diamond$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_flag ⇨ 𝑥": { - "prefix": "label.style_flag", - "body": [ - "label.style_flag$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_flag", + "body": [ + "label.style_flag$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_center ⇨ 𝑥": { - "prefix": "label.style_label_center", - "body": [ - "label.style_label_center$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_center", + "body": [ + "label.style_label_center$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_down ⇨ 𝑥": { - "prefix": "label.style_label_down", - "body": [ - "label.style_label_down$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_down", + "body": [ + "label.style_label_down$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_left ⇨ 𝑥": { - "prefix": "label.style_label_left", - "body": [ - "label.style_label_left$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_left", + "body": [ + "label.style_label_left$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_lower_left ⇨ 𝑥": { - "prefix": "label.style_label_lower_left", - "body": [ - "label.style_label_lower_left$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_lower_left", + "body": [ + "label.style_label_lower_left$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_lower_right ⇨ 𝑥": { - "prefix": "label.style_label_lower_right", - "body": [ - "label.style_label_lower_right$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_lower_right", + "body": [ + "label.style_label_lower_right$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_right ⇨ 𝑥": { - "prefix": "label.style_label_right", - "body": [ - "label.style_label_right$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_right", + "body": [ + "label.style_label_right$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_up ⇨ 𝑥": { - "prefix": "label.style_label_up", - "body": [ - "label.style_label_up$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_up", + "body": [ + "label.style_label_up$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_upper_left ⇨ 𝑥": { - "prefix": "label.style_label_upper_left", - "body": [ - "label.style_label_upper_left$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_upper_left", + "body": [ + "label.style_label_upper_left$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_label_upper_right ⇨ 𝑥": { - "prefix": "label.style_label_upper_right", - "body": [ - "label.style_label_upper_right$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_label_upper_right", + "body": [ + "label.style_label_upper_right$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_none ⇨ 𝑥": { - "prefix": "label.style_none", - "body": [ - "label.style_none$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_none", + "body": [ + "label.style_none$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_square ⇨ 𝑥": { - "prefix": "label.style_square", - "body": [ - "label.style_square$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_square", + "body": [ + "label.style_square$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_text_outline ⇨ 𝑥": { - "prefix": "label.style_text_outline", - "body": [ - "label.style_text_outline$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_text_outline", + "body": [ + "label.style_text_outline$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_triangledown ⇨ 𝑥": { - "prefix": "label.style_triangledown", - "body": [ - "label.style_triangledown$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_triangledown", + "body": [ + "label.style_triangledown$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_triangleup ⇨ 𝑥": { - "prefix": "label.style_triangleup", - "body": [ - "label.style_triangleup$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_triangleup", + "body": [ + "label.style_triangleup$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "label.style_xcross ⇨ 𝑥": { - "prefix": "label.style_xcross", - "body": [ - "label.style_xcross$0" - ], - "description": "Label style for label.new and label.set_style functions. | TYPE const string" + "prefix": "label.style_xcross", + "body": [ + "label.style_xcross$0" + ], + "description": "Label style for label.new and label.set_style functions. | TYPE const string" }, "line.style_arrow_both ⇨ 𝑥": { - "prefix": "line.style_arrow_both", - "body": [ - "line.style_arrow_both$0" - ], - "description": "Line style for line.new and line.set_style functions. Solid line with arrows on both points. | TYPE const string" + "prefix": "line.style_arrow_both", + "body": [ + "line.style_arrow_both$0" + ], + "description": "Line style for line.new and line.set_style functions. Solid line with arrows on both points. | TYPE const string" }, "line.style_arrow_left ⇨ 𝑥": { - "prefix": "line.style_arrow_left", - "body": [ - "line.style_arrow_left$0" - ], - "description": "Line style for line.new and line.set_style functions. Solid line with arrow on the first point. | TYPE const string" + "prefix": "line.style_arrow_left", + "body": [ + "line.style_arrow_left$0" + ], + "description": "Line style for line.new and line.set_style functions. Solid line with arrow on the first point. | TYPE const string" }, "line.style_arrow_right ⇨ 𝑥": { - "prefix": "line.style_arrow_right", - "body": [ - "line.style_arrow_right$0" - ], - "description": "Line style for line.new and line.set_style functions. Solid line with arrow on the second point. | TYPE const string" + "prefix": "line.style_arrow_right", + "body": [ + "line.style_arrow_right$0" + ], + "description": "Line style for line.new and line.set_style functions. Solid line with arrow on the second point. | TYPE const string" }, "line.style_dashed ⇨ 𝑥": { - "prefix": "line.style_dashed", - "body": [ - "line.style_dashed$0" - ], - "description": "Line style for line.new and line.set_style functions. | TYPE const string" + "prefix": "line.style_dashed", + "body": [ + "line.style_dashed$0" + ], + "description": "Line style for line.new and line.set_style functions. | TYPE const string" }, "line.style_dotted ⇨ 𝑥": { - "prefix": "line.style_dotted", - "body": [ - "line.style_dotted$0" - ], - "description": "Line style for line.new and line.set_style functions. | TYPE const string" + "prefix": "line.style_dotted", + "body": [ + "line.style_dotted$0" + ], + "description": "Line style for line.new and line.set_style functions. | TYPE const string" }, "line.style_solid ⇨ 𝑥": { - "prefix": "line.style_solid", - "body": [ - "line.style_solid$0" - ], - "description": "Line style for line.new and line.set_style functions. | TYPE const string" + "prefix": "line.style_solid", + "body": [ + "line.style_solid$0" + ], + "description": "Line style for line.new and line.set_style functions. | TYPE const string" }, "location.abovebar ⇨ 𝑥": { - "prefix": "location.abovebar", - "body": [ - "location.abovebar$0" - ], - "description": "Location value for plotshape, plotchar functions. Shape is plotted above main series bars. | TYPE const string" + "prefix": "location.abovebar", + "body": [ + "location.abovebar$0" + ], + "description": "Location value for plotshape, plotchar functions. Shape is plotted above main series bars. | TYPE const string" }, "location.absolute ⇨ 𝑥": { - "prefix": "location.absolute", - "body": [ - "location.absolute$0" - ], - "description": "Location value for plotshape, plotchar functions. Shape is plotted on chart using indicator value as a price coordinate. | TYPE const string" + "prefix": "location.absolute", + "body": [ + "location.absolute$0" + ], + "description": "Location value for plotshape, plotchar functions. Shape is plotted on chart using indicator value as a price coordinate. | TYPE const string" }, "location.belowbar ⇨ 𝑥": { - "prefix": "location.belowbar", - "body": [ - "location.belowbar$0" - ], - "description": "Location value for plotshape, plotchar functions. Shape is plotted below main series bars. | TYPE const string" + "prefix": "location.belowbar", + "body": [ + "location.belowbar$0" + ], + "description": "Location value for plotshape, plotchar functions. Shape is plotted below main series bars. | TYPE const string" }, "location.bottom ⇨ 𝑥": { - "prefix": "location.bottom", - "body": [ - "location.bottom$0" - ], - "description": "Location value for plotshape, plotchar functions. Shape is plotted near the bottom chart border. | TYPE const string" + "prefix": "location.bottom", + "body": [ + "location.bottom$0" + ], + "description": "Location value for plotshape, plotchar functions. Shape is plotted near the bottom chart border. | TYPE const string" }, "location.top ⇨ 𝑥": { - "prefix": "location.top", - "body": [ - "location.top$0" - ], - "description": "Location value for plotshape, plotchar functions. Shape is plotted near the top chart border. | TYPE const string" + "prefix": "location.top", + "body": [ + "location.top$0" + ], + "description": "Location value for plotshape, plotchar functions. Shape is plotted near the top chart border. | TYPE const string" }, "math.e ⇨ 𝑥": { - "prefix": "math.e", - "body": [ - "math.e$0" - ], - "description": "Is a named constant for Euler's number. It is equal to 2.7182818284590452. | TYPE const float" + "prefix": "math.e", + "body": [ + "math.e$0" + ], + "description": "Is a named constant for Euler's number. It is equal to 2.7182818284590452. | TYPE const float" }, "math.phi ⇨ 𝑥": { - "prefix": "math.phi", - "body": [ - "math.phi$0" - ], - "description": "Is a named constant for the golden ratio. It is equal to 1.6180339887498948. | TYPE const float" + "prefix": "math.phi", + "body": [ + "math.phi$0" + ], + "description": "Is a named constant for the golden ratio. It is equal to 1.6180339887498948. | TYPE const float" }, "math.pi ⇨ 𝑥": { - "prefix": "math.pi", - "body": [ - "math.pi$0" - ], - "description": "Is a named constant for Archimedes' constant. It is equal to 3.1415926535897932. | TYPE const float" + "prefix": "math.pi", + "body": [ + "math.pi$0" + ], + "description": "Is a named constant for Archimedes' constant. It is equal to 3.1415926535897932. | TYPE const float" }, "math.rphi ⇨ 𝑥": { - "prefix": "math.rphi", - "body": [ - "math.rphi$0" - ], - "description": "Is a named constant for the golden ratio conjugate. It is equal to 0.6180339887498948. | TYPE const float" + "prefix": "math.rphi", + "body": [ + "math.rphi$0" + ], + "description": "Is a named constant for the golden ratio conjugate. It is equal to 0.6180339887498948. | TYPE const float" }, "order.ascending ⇨ 𝑥": { - "prefix": "order.ascending", - "body": [ - "order.ascending$0" - ], - "description": "Determines the sort order of the array from the smallest to the largest value. | TYPE sort_order" + "prefix": "order.ascending", + "body": [ + "order.ascending$0" + ], + "description": "Determines the sort order of the array from the smallest to the largest value. | TYPE sort_order" }, "order.descending ⇨ 𝑥": { - "prefix": "order.descending", - "body": [ - "order.descending$0" - ], - "description": "Determines the sort order of the array from the largest to the smallest value. | TYPE sort_order" + "prefix": "order.descending", + "body": [ + "order.descending$0" + ], + "description": "Determines the sort order of the array from the largest to the smallest value. | TYPE sort_order" }, "plot.style_area ⇨ 𝑥": { - "prefix": "plot.style_area", - "body": [ - "plot.style_area$0" - ], - "description": "A named constant for the 'Area' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_area", + "body": [ + "plot.style_area$0" + ], + "description": "A named constant for the 'Area' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_areabr ⇨ 𝑥": { - "prefix": "plot.style_areabr", - "body": [ - "plot.style_areabr$0" - ], - "description": "A named constant for the 'Area With Breaks' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_area, except the gaps in the data are not filled. | TYPE plot_style" + "prefix": "plot.style_areabr", + "body": [ + "plot.style_areabr$0" + ], + "description": "A named constant for the 'Area With Breaks' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_area, except the gaps in the data are not filled. | TYPE plot_style" }, "plot.style_circles ⇨ 𝑥": { - "prefix": "plot.style_circles", - "body": [ - "plot.style_circles$0" - ], - "description": "A named constant for the 'Circles' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_circles", + "body": [ + "plot.style_circles$0" + ], + "description": "A named constant for the 'Circles' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_columns ⇨ 𝑥": { - "prefix": "plot.style_columns", - "body": [ - "plot.style_columns$0" - ], - "description": "A named constant for the 'Columns' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_columns", + "body": [ + "plot.style_columns$0" + ], + "description": "A named constant for the 'Columns' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_cross ⇨ 𝑥": { - "prefix": "plot.style_cross", - "body": [ - "plot.style_cross$0" - ], - "description": "A named constant for the 'Cross' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_cross", + "body": [ + "plot.style_cross$0" + ], + "description": "A named constant for the 'Cross' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_histogram ⇨ 𝑥": { - "prefix": "plot.style_histogram", - "body": [ - "plot.style_histogram$0" - ], - "description": "A named constant for the 'Histogram' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_histogram", + "body": [ + "plot.style_histogram$0" + ], + "description": "A named constant for the 'Histogram' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_line ⇨ 𝑥": { - "prefix": "plot.style_line", - "body": [ - "plot.style_line$0" - ], - "description": "A named constant for the 'Line' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_line", + "body": [ + "plot.style_line$0" + ], + "description": "A named constant for the 'Line' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_linebr ⇨ 𝑥": { - "prefix": "plot.style_linebr", - "body": [ - "plot.style_linebr$0" - ], - "description": "A named constant for the 'Line With Breaks' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_line, except the gaps in the data are not filled. | TYPE plot_style" + "prefix": "plot.style_linebr", + "body": [ + "plot.style_linebr$0" + ], + "description": "A named constant for the 'Line With Breaks' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_line, except the gaps in the data are not filled. | TYPE plot_style" }, "plot.style_stepline ⇨ 𝑥": { - "prefix": "plot.style_stepline", - "body": [ - "plot.style_stepline$0" - ], - "description": "A named constant for the 'Step Line' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_stepline", + "body": [ + "plot.style_stepline$0" + ], + "description": "A named constant for the 'Step Line' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "plot.style_stepline_diamond ⇨ 𝑥": { - "prefix": "plot.style_stepline_diamond", - "body": [ - "plot.style_stepline_diamond$0" - ], - "description": "A named constant for the 'Step Line With Diamonds' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_stepline, except the data changes are also marked with the Diamond shapes. | TYPE plot_style" + "prefix": "plot.style_stepline_diamond", + "body": [ + "plot.style_stepline_diamond$0" + ], + "description": "A named constant for the 'Step Line With Diamonds' style, to be used as an argument for the `style` parameter in the plot function. Similar to plot.style_stepline, except the data changes are also marked with the Diamond shapes. | TYPE plot_style" }, "plot.style_steplinebr ⇨ 𝑥": { - "prefix": "plot.style_steplinebr", - "body": [ - "plot.style_steplinebr$0" - ], - "description": "A named constant for the 'Step line with Breaks' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" + "prefix": "plot.style_steplinebr", + "body": [ + "plot.style_steplinebr$0" + ], + "description": "A named constant for the 'Step line with Breaks' style, to be used as an argument for the `style` parameter in the plot function. | TYPE plot_style" }, "position.bottom_center ⇨ 𝑥": { - "prefix": "position.bottom_center", - "body": [ - "position.bottom_center$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom edge in the center. | TYPE const string" + "prefix": "position.bottom_center", + "body": [ + "position.bottom_center$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom edge in the center. | TYPE const string" }, "position.bottom_left ⇨ 𝑥": { - "prefix": "position.bottom_left", - "body": [ - "position.bottom_left$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom left of the screen. | TYPE const string" + "prefix": "position.bottom_left", + "body": [ + "position.bottom_left$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom left of the screen. | TYPE const string" }, "position.bottom_right ⇨ 𝑥": { - "prefix": "position.bottom_right", - "body": [ - "position.bottom_right$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom right of the screen. | TYPE const string" + "prefix": "position.bottom_right", + "body": [ + "position.bottom_right$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the bottom right of the screen. | TYPE const string" }, "position.middle_center ⇨ 𝑥": { - "prefix": "position.middle_center", - "body": [ - "position.middle_center$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the center of the screen. | TYPE const string" + "prefix": "position.middle_center", + "body": [ + "position.middle_center$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the center of the screen. | TYPE const string" }, "position.middle_left ⇨ 𝑥": { - "prefix": "position.middle_left", - "body": [ - "position.middle_left$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the left side of the screen. | TYPE const string" + "prefix": "position.middle_left", + "body": [ + "position.middle_left$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the left side of the screen. | TYPE const string" }, "position.middle_right ⇨ 𝑥": { - "prefix": "position.middle_right", - "body": [ - "position.middle_right$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the right side of the screen. | TYPE const string" + "prefix": "position.middle_right", + "body": [ + "position.middle_right$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the right side of the screen. | TYPE const string" }, "position.top_center ⇨ 𝑥": { - "prefix": "position.top_center", - "body": [ - "position.top_center$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the top edge in the center. | TYPE const string" + "prefix": "position.top_center", + "body": [ + "position.top_center$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the top edge in the center. | TYPE const string" }, "position.top_left ⇨ 𝑥": { - "prefix": "position.top_left", - "body": [ - "position.top_left$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the upper-left edge. | TYPE const string" + "prefix": "position.top_left", + "body": [ + "position.top_left$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the upper-left edge. | TYPE const string" }, "position.top_right ⇨ 𝑥": { - "prefix": "position.top_right", - "body": [ - "position.top_right$0" - ], - "description": "Table position is used in table.new, table.cell functions. Binds the table to the upper-right edge. | TYPE const string" + "prefix": "position.top_right", + "body": [ + "position.top_right$0" + ], + "description": "Table position is used in table.new, table.cell functions. Binds the table to the upper-right edge. | TYPE const string" }, "scale.left ⇨ 𝑥": { - "prefix": "scale.left", - "body": [ - "scale.left$0" - ], - "description": "Scale value for indicator function. Indicator is added to the left price scale. | TYPE scale_type" + "prefix": "scale.left", + "body": [ + "scale.left$0" + ], + "description": "Scale value for indicator function. Indicator is added to the left price scale. | TYPE scale_type" }, "scale.none ⇨ 𝑥": { - "prefix": "scale.none", - "body": [ - "scale.none$0" - ], - "description": "Scale value for indicator function. Indicator is added in 'No Scale' mode. Can be used only with 'overlay=true'. | TYPE scale_type" + "prefix": "scale.none", + "body": [ + "scale.none$0" + ], + "description": "Scale value for indicator function. Indicator is added in 'No Scale' mode. Can be used only with 'overlay=true'. | TYPE scale_type" }, "scale.right ⇨ 𝑥": { - "prefix": "scale.right", - "body": [ - "scale.right$0" - ], - "description": "Scale value for indicator function. Indicator is added to the right price scale. | TYPE scale_type" + "prefix": "scale.right", + "body": [ + "scale.right$0" + ], + "description": "Scale value for indicator function. Indicator is added to the right price scale. | TYPE scale_type" }, "session.extended ⇨ 𝑥": { - "prefix": "session.extended", - "body": [ - "session.extended$0" - ], - "description": "Constant for extended session type (with extended hours data). | TYPE const string" + "prefix": "session.extended", + "body": [ + "session.extended$0" + ], + "description": "Constant for extended session type (with extended hours data). | TYPE const string" }, "session.regular ⇨ 𝑥": { - "prefix": "session.regular", - "body": [ - "session.regular$0" - ], - "description": "Constant for regular session type (no extended hours data). | TYPE const string" + "prefix": "session.regular", + "body": [ + "session.regular$0" + ], + "description": "Constant for regular session type (no extended hours data). | TYPE const string" + }, + "settlement_as_close.inherit ⇨ 𝑥": { + "prefix": "settlement_as_close.inherit", + "body": [ + "settlement_as_close.inherit$0" + ], + "description": "A constant to specify the value of the settlement_as_close parameter in ticker.new and ticker.modify functions. | TYPE const settlement" + }, + "settlement_as_close.off ⇨ 𝑥": { + "prefix": "settlement_as_close.off", + "body": [ + "settlement_as_close.off$0" + ], + "description": "A constant to specify the value of the settlement_as_close parameter in ticker.new and ticker.modify functions. | TYPE const settlement" + }, + "settlement_as_close.on ⇨ 𝑥": { + "prefix": "settlement_as_close.on", + "body": [ + "settlement_as_close.on$0" + ], + "description": "A constant to specify the value of the settlement_as_close parameter in ticker.new and ticker.modify functions. | TYPE const settlement" }, "shape.arrowdown ⇨ 𝑥": { - "prefix": "shape.arrowdown", - "body": [ - "shape.arrowdown$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.arrowdown", + "body": [ + "shape.arrowdown$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.arrowup ⇨ 𝑥": { - "prefix": "shape.arrowup", - "body": [ - "shape.arrowup$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.arrowup", + "body": [ + "shape.arrowup$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.circle ⇨ 𝑥": { - "prefix": "shape.circle", - "body": [ - "shape.circle$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.circle", + "body": [ + "shape.circle$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.cross ⇨ 𝑥": { - "prefix": "shape.cross", - "body": [ - "shape.cross$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.cross", + "body": [ + "shape.cross$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.diamond ⇨ 𝑥": { - "prefix": "shape.diamond", - "body": [ - "shape.diamond$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.diamond", + "body": [ + "shape.diamond$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.flag ⇨ 𝑥": { - "prefix": "shape.flag", - "body": [ - "shape.flag$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.flag", + "body": [ + "shape.flag$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.labeldown ⇨ 𝑥": { - "prefix": "shape.labeldown", - "body": [ - "shape.labeldown$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.labeldown", + "body": [ + "shape.labeldown$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.labelup ⇨ 𝑥": { - "prefix": "shape.labelup", - "body": [ - "shape.labelup$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.labelup", + "body": [ + "shape.labelup$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.square ⇨ 𝑥": { - "prefix": "shape.square", - "body": [ - "shape.square$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.square", + "body": [ + "shape.square$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.triangledown ⇨ 𝑥": { - "prefix": "shape.triangledown", - "body": [ - "shape.triangledown$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.triangledown", + "body": [ + "shape.triangledown$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.triangleup ⇨ 𝑥": { - "prefix": "shape.triangleup", - "body": [ - "shape.triangleup$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.triangleup", + "body": [ + "shape.triangleup$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "shape.xcross ⇨ 𝑥": { - "prefix": "shape.xcross", - "body": [ - "shape.xcross$0" - ], - "description": "Shape style for plotshape function. | TYPE const string" + "prefix": "shape.xcross", + "body": [ + "shape.xcross$0" + ], + "description": "Shape style for plotshape function. | TYPE const string" }, "size.auto ⇨ 𝑥": { - "prefix": "size.auto", - "body": [ - "size.auto$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape automatically adapts to the size of the bars. | TYPE const string" + "prefix": "size.auto", + "body": [ + "size.auto$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape automatically adapts to the size of the bars. | TYPE const string" }, "size.huge ⇨ 𝑥": { - "prefix": "size.huge", - "body": [ - "size.huge$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape constantly huge. | TYPE const string" + "prefix": "size.huge", + "body": [ + "size.huge$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape constantly huge. | TYPE const string" }, "size.large ⇨ 𝑥": { - "prefix": "size.large", - "body": [ - "size.large$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape constantly large. | TYPE const string" + "prefix": "size.large", + "body": [ + "size.large$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape constantly large. | TYPE const string" }, "size.normal ⇨ 𝑥": { - "prefix": "size.normal", - "body": [ - "size.normal$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape constantly normal. | TYPE const string" + "prefix": "size.normal", + "body": [ + "size.normal$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape constantly normal. | TYPE const string" }, "size.small ⇨ 𝑥": { - "prefix": "size.small", - "body": [ - "size.small$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape constantly small. | TYPE const string" + "prefix": "size.small", + "body": [ + "size.small$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape constantly small. | TYPE const string" }, "size.tiny ⇨ 𝑥": { - "prefix": "size.tiny", - "body": [ - "size.tiny$0" - ], - "description": "Size value for plotshape, plotchar functions. The size of the shape constantly tiny. | TYPE const string" + "prefix": "size.tiny", + "body": [ + "size.tiny$0" + ], + "description": "Size value for plotshape, plotchar functions. The size of the shape constantly tiny. | TYPE const string" }, "splits.denominator ⇨ 𝑥": { - "prefix": "splits.denominator", - "body": [ - "splits.denominator$0" - ], - "description": "A named constant for the request.splits function. Is used to request the denominator (the number below the line in a fraction) of a splits. | TYPE const string" + "prefix": "splits.denominator", + "body": [ + "splits.denominator$0" + ], + "description": "A named constant for the request.splits function. Is used to request the denominator (the number below the line in a fraction) of a splits. | TYPE const string" }, "splits.numerator ⇨ 𝑥": { - "prefix": "splits.numerator", - "body": [ - "splits.numerator$0" - ], - "description": "A named constant for the request.splits function. Is used to request the numerator (the number above the line in a fraction) of a splits. | TYPE const string" + "prefix": "splits.numerator", + "body": [ + "splits.numerator$0" + ], + "description": "A named constant for the request.splits function. Is used to request the numerator (the number above the line in a fraction) of a splits. | TYPE const string" }, "strategy.cash ⇨ 𝑥": { - "prefix": "strategy.cash", - "body": [ - "strategy.cash$0" - ], - "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that an amount of cash in the `strategy.account_currency` will be used to enter trades. | TYPE const string" + "prefix": "strategy.cash", + "body": [ + "strategy.cash$0" + ], + "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that an amount of cash in the `strategy.account_currency` will be used to enter trades. | TYPE const string" }, "strategy.commission.cash_per_contract ⇨ 𝑥": { - "prefix": "strategy.commission.cash_per_contract", - "body": [ - "strategy.commission.cash_per_contract$0" - ], - "description": "Commission type for an order. Money displayed in the account currency per contract. | TYPE const string" + "prefix": "strategy.commission.cash_per_contract", + "body": [ + "strategy.commission.cash_per_contract$0" + ], + "description": "Commission type for an order. Money displayed in the account currency per contract. | TYPE const string" }, "strategy.commission.cash_per_order ⇨ 𝑥": { - "prefix": "strategy.commission.cash_per_order", - "body": [ - "strategy.commission.cash_per_order$0" - ], - "description": "Commission type for an order. Money displayed in the account currency per order. | TYPE const string" + "prefix": "strategy.commission.cash_per_order", + "body": [ + "strategy.commission.cash_per_order$0" + ], + "description": "Commission type for an order. Money displayed in the account currency per order. | TYPE const string" }, "strategy.commission.percent ⇨ 𝑥": { - "prefix": "strategy.commission.percent", - "body": [ - "strategy.commission.percent$0" - ], - "description": "Commission type for an order. A percentage of the cash volume of order. | TYPE const string" + "prefix": "strategy.commission.percent", + "body": [ + "strategy.commission.percent$0" + ], + "description": "Commission type for an order. A percentage of the cash volume of order. | TYPE const string" }, "strategy.direction.all ⇨ 𝑥": { - "prefix": "strategy.direction.all", - "body": [ - "strategy.direction.all$0" - ], - "description": "It allows strategy to open both long and short positions. | TYPE const string" + "prefix": "strategy.direction.all", + "body": [ + "strategy.direction.all$0" + ], + "description": "It allows strategy to open both long and short positions. | TYPE const string" }, "strategy.direction.long ⇨ 𝑥": { - "prefix": "strategy.direction.long", - "body": [ - "strategy.direction.long$0" - ], - "description": "It allows strategy to open only long positions. | TYPE const string" + "prefix": "strategy.direction.long", + "body": [ + "strategy.direction.long$0" + ], + "description": "It allows strategy to open only long positions. | TYPE const string" }, "strategy.direction.short ⇨ 𝑥": { - "prefix": "strategy.direction.short", - "body": [ - "strategy.direction.short$0" - ], - "description": "It allows strategy to open only short positions. | TYPE const string" + "prefix": "strategy.direction.short", + "body": [ + "strategy.direction.short$0" + ], + "description": "It allows strategy to open only short positions. | TYPE const string" }, "strategy.fixed ⇨ 𝑥": { - "prefix": "strategy.fixed", - "body": [ - "strategy.fixed$0" - ], - "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that a number of contracts/shares/lots will be used to enter trades. | TYPE const string" + "prefix": "strategy.fixed", + "body": [ + "strategy.fixed$0" + ], + "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that a number of contracts/shares/lots will be used to enter trades. | TYPE const string" }, "strategy.oca.cancel ⇨ 𝑥": { - "prefix": "strategy.oca.cancel", - "body": [ - "strategy.oca.cancel$0" - ], - "description": "OCA type value for strategy's functions. The parameter determines that an order should belong to an OCO group, where as soon as an order is filled, all other orders of the same group are cancelled. Note: if more than 1 guaranteed-to-be-executed orders of the same OCA group are placed at once, all those orders are filled. | TYPE const string" + "prefix": "strategy.oca.cancel", + "body": [ + "strategy.oca.cancel$0" + ], + "description": "OCA type value for strategy's functions. The parameter determines that an order should belong to an OCO group, where as soon as an order is filled, all other orders of the same group are cancelled. Note: if more than 1 guaranteed-to-be-executed orders of the same OCA group are placed at once, all those orders are filled. | TYPE const string" }, "strategy.oca.none ⇨ 𝑥": { - "prefix": "strategy.oca.none", - "body": [ - "strategy.oca.none$0" - ], - "description": "OCA type value for strategy's functions. The parameter determines that an order should not belong to any particular OCO group. | TYPE const string" + "prefix": "strategy.oca.none", + "body": [ + "strategy.oca.none$0" + ], + "description": "OCA type value for strategy's functions. The parameter determines that an order should not belong to any particular OCO group. | TYPE const string" }, "strategy.oca.reduce ⇨ 𝑥": { - "prefix": "strategy.oca.reduce", - "body": [ - "strategy.oca.reduce$0" - ], - "description": "OCA type value for strategy's functions. The parameter determines that an order should belong to an OCO group, where if X number of contracts of an order is filled, number of contracts for each other order of the same OCO group is decreased by X. Note: if more than 1 guaranteed-to-be-executed orders of the same OCA group are placed at once, all those orders are filled. | TYPE const string" + "prefix": "strategy.oca.reduce", + "body": [ + "strategy.oca.reduce$0" + ], + "description": "OCA type value for strategy's functions. The parameter determines that an order should belong to an OCO group, where if X number of contracts of an order is filled, number of contracts for each other order of the same OCO group is decreased by X. Note: if more than 1 guaranteed-to-be-executed orders of the same OCA group are placed at once, all those orders are filled. | TYPE const string" }, "strategy.percent_of_equity ⇨ 𝑥": { - "prefix": "strategy.percent_of_equity", - "body": [ - "strategy.percent_of_equity$0" - ], - "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that a percentage (0-100) of equity will be used to enter trades. | TYPE const string" + "prefix": "strategy.percent_of_equity", + "body": [ + "strategy.percent_of_equity$0" + ], + "description": "This is one of the arguments that can be supplied to the `default_qty_type` parameter in the strategy declaration statement. It is only relevant when no value is used for the ‘qty’ parameter in strategy.entry or strategy.order function calls. It specifies that a percentage (0-100) of equity will be used to enter trades. | TYPE const string" }, "text.align_bottom ⇨ 𝑥": { - "prefix": "text.align_bottom", - "body": [ - "text.align_bottom$0" - ], - "description": "Vertical text alignment for box.new, box.set_text_valign, table.cell and table.cell_set_text_valign functions. | TYPE const string" + "prefix": "text.align_bottom", + "body": [ + "text.align_bottom$0" + ], + "description": "Vertical text alignment for box.new, box.set_text_valign, table.cell and table.cell_set_text_valign functions. | TYPE const string" }, "text.align_center ⇨ 𝑥": { - "prefix": "text.align_center", - "body": [ - "text.align_center$0" - ], - "description": "Text alignment for box.new, box.set_text_halign, box.set_text_valign, label.new and label.set_textalign functions. | TYPE const string" + "prefix": "text.align_center", + "body": [ + "text.align_center$0" + ], + "description": "Text alignment for box.new, box.set_text_halign, box.set_text_valign, label.new and label.set_textalign functions. | TYPE const string" }, "text.align_left ⇨ 𝑥": { - "prefix": "text.align_left", - "body": [ - "text.align_left$0" - ], - "description": "Horizontal text alignment for box.new, box.set_text_halign, label.new and label.set_textalign functions. | TYPE const string" + "prefix": "text.align_left", + "body": [ + "text.align_left$0" + ], + "description": "Horizontal text alignment for box.new, box.set_text_halign, label.new and label.set_textalign functions. | TYPE const string" }, "text.align_right ⇨ 𝑥": { - "prefix": "text.align_right", - "body": [ - "text.align_right$0" - ], - "description": "Horizontal text alignment for box.new, box.set_text_halign, label.new and label.set_textalign functions. | TYPE const string" + "prefix": "text.align_right", + "body": [ + "text.align_right$0" + ], + "description": "Horizontal text alignment for box.new, box.set_text_halign, label.new and label.set_textalign functions. | TYPE const string" }, "text.align_top ⇨ 𝑥": { - "prefix": "text.align_top", - "body": [ - "text.align_top$0" - ], - "description": "Vertical text alignment for box.new, box.set_text_valign, table.cell and table.cell_set_text_valign functions. | TYPE const string" + "prefix": "text.align_top", + "body": [ + "text.align_top$0" + ], + "description": "Vertical text alignment for box.new, box.set_text_valign, table.cell and table.cell_set_text_valign functions. | TYPE const string" }, "text.wrap_auto ⇨ 𝑥": { - "prefix": "text.wrap_auto", - "body": [ - "text.wrap_auto$0" - ], - "description": "Automatic wrapping mode for box.new and box.set_text_wrap functions. | TYPE const string" + "prefix": "text.wrap_auto", + "body": [ + "text.wrap_auto$0" + ], + "description": "Automatic wrapping mode for box.new and box.set_text_wrap functions. | TYPE const string" }, "text.wrap_none ⇨ 𝑥": { - "prefix": "text.wrap_none", - "body": [ - "text.wrap_none$0" - ], - "description": "Disabled wrapping mode for box.new and box.set_text_wrap functions. | TYPE const string" + "prefix": "text.wrap_none", + "body": [ + "text.wrap_none$0" + ], + "description": "Disabled wrapping mode for box.new and box.set_text_wrap functions. | TYPE const string" }, "xloc.bar_index ⇨ 𝑥": { - "prefix": "xloc.bar_index", - "body": [ - "xloc.bar_index$0" - ], - "description": "A named constant that specifies the algorithm of interpretation of x-value in functions line.new and label.new. If xloc = xloc.bar_index, value of x is a bar index. | TYPE const string" + "prefix": "xloc.bar_index", + "body": [ + "xloc.bar_index$0" + ], + "description": "A named constant that specifies the algorithm of interpretation of x-value in functions line.new and label.new. If xloc = xloc.bar_index, value of x is a bar index. | TYPE const string" }, "xloc.bar_time ⇨ 𝑥": { - "prefix": "xloc.bar_time", - "body": [ - "xloc.bar_time$0" - ], - "description": "A named constant that specifies the algorithm of interpretation of x-value in functions line.new and label.new. If xloc = xloc.bar_time, value of x is a bar UNIX time. | TYPE const string" + "prefix": "xloc.bar_time", + "body": [ + "xloc.bar_time$0" + ], + "description": "A named constant that specifies the algorithm of interpretation of x-value in functions line.new and label.new. If xloc = xloc.bar_time, value of x is a bar UNIX time. | TYPE const string" }, "yloc.abovebar ⇨ 𝑥": { - "prefix": "yloc.abovebar", - "body": [ - "yloc.abovebar$0" - ], - "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" + "prefix": "yloc.abovebar", + "body": [ + "yloc.abovebar$0" + ], + "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" }, "yloc.belowbar ⇨ 𝑥": { - "prefix": "yloc.belowbar", - "body": [ - "yloc.belowbar$0" - ], - "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" + "prefix": "yloc.belowbar", + "body": [ + "yloc.belowbar$0" + ], + "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" }, "yloc.price ⇨ 𝑥": { - "prefix": "yloc.price", - "body": [ - "yloc.price$0" - ], - "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" + "prefix": "yloc.price", + "body": [ + "yloc.price$0" + ], + "description": "A named constant that specifies the algorithm of interpretation of y-value in function label.new. | TYPE const string" } -} \ No newline at end of file + } \ No newline at end of file diff --git a/snippets/built-in_functions.json b/snippets/built-in_functions.json index df285ad..096267e 100644 --- a/snippets/built-in_functions.json +++ b/snippets/built-in_functions.json @@ -1173,9 +1173,9 @@ "library ⇨ 𝑓": { "prefix": "library", "body": [ - "library(title = \"${1}\", overlay = ${2| ,true,false|})${0}" + "library(title = \"${1}\", overlay = ${2| ,true,false|}${3:, dynamic_requests = ${4| ,false,true|}})${0}" ], - "description": "Declaration statement identifying a script as a library ⇨ 𝑓 | library(title = string, overlay = bool) → void" + "description": "Declaration statement identifying a script as a library ⇨ 𝑓 | library(title = string, overlay = bool, dynamic_requests = bool) → void" }, "line.copy ⇨ 𝑓": { "prefix": "line.copy", @@ -1410,21 +1410,21 @@ "log.error ⇨ 𝑓": { "prefix": "log.error", "body": [ - "log.error(${1:message = ${2:\"${3}\"}})${0}" + "log.error(${1:\"${2}\"})${0}" ], "description": "Sends result to 'Pine Logs' menu tagged with 'error' debug level. ⇨ 𝑓 | log.error(message = string) → void" }, "log.info ⇨ 𝑓": { "prefix": "log.info", "body": [ - "log.info(${1:message = ${2:\"${3}\"}})${0}" + "log.info(${1:\"${2}\"})${0}" ], "description": "Sends result to 'Pine Logs' menu tagged with 'info' debug level. ⇨ 𝑓 | log.info(message = string) → void" }, "log.warning ⇨ 𝑓": { "prefix": "log.warning", "body": [ - "log.warning(${1:message = ${2:\"${3}\"}})${0}" + "log.warning(${1:\"${2}\"})${0}" ], "description": "Sends result to 'Pine Logs' menu tagged with 'warning' debug level. ⇨ 𝑓 | log.warning(message = string) → void" }, @@ -3528,16 +3528,16 @@ "ticker.modify ⇨ 𝑓": { "prefix": "ticker.modify", "body": [ - "ticker.modify(${1:tickerid = ${2| ,syminfo.tickerid|}${3:${4:, session = ${5| ,syminfo.session,session.regular,session.extended|}}${6:, adjustment = ${7| ,adjustment.none,adjustment.splits,adjustment.dividends|}}}})${0}" + "ticker.modify(${1:tickerid = ${2| ,syminfo.tickerid|}${3:${4:, session = ${5| ,syminfo.session,session.regular,session.extended|}}${6:, adjustment = ${7| ,adjustment.none,adjustment.splits,adjustment.dividends|}}${8:, backadjustment = ${9| ,backadjustment.inherit,backadjustment.on,backadjustment.off|}}${10:, settlement_as_close = ${11| ,settlement_as_close.inherit,settlement_as_close.on,settlement_as_close.off|}}}})${0}" ], - "description": "Modify called ticker ⇨ 𝑓 | ticker.modify(tickerid = string, session = string, adjustment = string) → simple string" + "description": "Modify called ticker ⇨ 𝑓 | ticker.modify(tickerid = string, session = string, adjustment = string, backadjustment = backadjustment, settlement_as_close = settlement) → simple string" }, "ticker.new ⇨ 𝑓": { "prefix": "ticker.new", "body": [ - "ticker.new(${1:prefix = ${2| ,syminfo.prefix|}, ticker = ${3| ,syminfo.ticker|}${4:${5:, session = ${6| ,syminfo.session,session.regular,session.extended|}}${7:, adjustment = ${8| ,adjustment.none,adjustment.splits,adjustment.dividends|}}}})${0}" + "ticker.new(${1:prefix = ${2| ,syminfo.prefix|}, ticker = ${3| ,syminfo.ticker|}${4:${5:, session = ${6| ,syminfo.session,session.regular,session.extended|}}${7:, adjustment = ${8| ,adjustment.none,adjustment.splits,adjustment.dividends|}}${9:, backadjustment = ${10| ,backadjustment.inherit,backadjustment.on,backadjustment.off|}}${11:, settlement_as_close = ${12| ,settlement_as_close.inherit,settlement_as_close.on,settlement_as_close.off|}}}})${0}" ], - "description": "Creates a ticker identifier ⇨ 𝑓 | ticker.new(prefix = string, ticker = string, session = string, adjustment = string) → simple string" + "description": "Creates a ticker identifier ⇨ 𝑓 | ticker.new(prefix = string, ticker = string, session = string, adjustment = string, backadjustment = backadjustment, settlement_as_close = settlement) → simple string" }, "ticker.pointfigure ⇨ 𝑓": { "prefix": "ticker.pointfigure", diff --git a/snippets/built-in_variables_dictionnary.json b/snippets/built-in_variables_dictionnary.json index e527833..29d32be 100644 --- a/snippets/built-in_variables_dictionnary.json +++ b/snippets/built-in_variables_dictionnary.json @@ -1028,6 +1028,13 @@ ], "description": "Returns true if current resolution is a seconds resolution, false otherwise. | TYPE simple bool" }, + "timeframe.isticks ⇨ 𝑥": { + "prefix": "timeframe.isticks", + "body": [ + "timeframe.isticks$0" + ], + "description": "Returns true if current resolution is a ticks resolution, false otherwise. | TYPE simple bool" + }, "timeframe.isweekly ⇨ 𝑥": { "prefix": "timeframe.isweekly", "body": [ diff --git a/snippets/principals.json b/snippets/principals.json index 7daf620..f5a1404 100644 --- a/snippets/principals.json +++ b/snippets/principals.json @@ -21,7 +21,8 @@ " max_labels_count = ${23| ,5,10,50,100,200,300,500|}}${24:,", " max_boxes_count = ${25| ,5,10,50,100,200,300,500|}}${26:,", " calc_bars_count = ${27| ,0,5,10,50,100,200,300,500|}}${28:,", - " max_polylines_count = ${29| ,5,10,50,100|}}", + " max_polylines_count = ${29| ,5,10,50,100|}}${30:,", + " dynamic_requests = ${31| ,false,true|}}", " )", "// # ========================================================================= #", "// # | $1 Indicator |", @@ -29,7 +30,7 @@ "", "$0" ], - "description": "indicator(title, shorttitle, overlay, format, precision, scale, max_bars_back, timeframe, timeframe_gaps, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, max_polylines_count) → void" + "description": "indicator(title, shorttitle, overlay, format, precision, scale, max_bars_back, timeframe, timeframe_gaps, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, max_polylines_count, dynamic_requests) → void" }, "Indicator ⇨ 𝑓": { @@ -74,7 +75,8 @@ " max_labels_count = ${24| ,5,10,50,100,200,300,500|}}${25:,", " max_boxes_count = ${26| ,5,10,50,100,200,300,500|}}${27:,", " calc_bars_count = ${28| ,0,5,10,50,100,200,300,500|}}${29:,", - " max_polylines_count = ${30| ,5,10,50,100|}}", + " max_polylines_count = ${30| ,5,10,50,100|}}${31:,", + " dynamic_requests = ${32| ,false,true|}}", " )", "// # ========================================================================= #", "// # | $2 Indicator |", @@ -82,7 +84,7 @@ "", "$0" ], - "description": "indicator(title, shorttitle, overlay, format, precision, scale, max_bars_back, timeframe, timeframe_gaps, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, max_polylines_count) → void" + "description": "indicator(title, shorttitle, overlay, format, precision, scale, max_bars_back, timeframe, timeframe_gaps, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, max_polylines_count, dynamic_requests) → void" }, "New Library ⇨ 𝑓": { @@ -92,28 +94,21 @@ "", "// @description ${1:}", "", - "library(title = \"${2/ /_/g}\", overlay = ${3| ,true,false|})", + "library(title = \"${2/ /_/g}\", overlay = ${3| ,true,false|}${4:, dynamic_requests = ${5| ,false,true|}})", "", "", - "export ${4:function_name}(${5:} = ${6:[]}${7:${8:[...]}}) =>", - " ${9:}", - "", "// ===========================================================================*", - "// * >* The $4 Function *<", - "// *==========================================================================*", - "// @function ${10:}", - "// @param ${11: }", - "// @returns ${12:}${13:", - "// *==========================================================================*", - "// * > 1. ${14:+info}${15:", - "// * > 2. ${16:+info}}${17:", - "// * > 3. ${18:+info}}${19:", - "// * > 4. ${20:+info}}${21:", - "// * > 5. ${22:+info}}}", + "// * >* The $6 Function *<", "// *==========================================================================*", + "// @function ${7:}", + "// @param ${8: }", + "// @returns ${9:}", + "export ${6:function_name}(${10:} = ${11:[]}${12:${13:[...]}}) =>", + " ${14:}", + "", "$0" ], - "description": "library(title = string, overlay = bool) → void" + "description": "library(title = string, overlay = bool, dynamic_requests = bool) → void" }, "{b} Strategy ⇨ 𝑓": { @@ -153,7 +148,8 @@ " risk_free_rate = ${55| ,0,1,1.5,2,2.5,3,3.5,4,4.5,5|}}${56:,", " use_bar_magnifier = ${57| ,false,true|}}${58:,", " fill_orders_on_standard_ohlc = ${59| ,false,true|}}${60:,", - " max_polylines_count = ${61| ,5,10,50,100|}}", + " max_polylines_count = ${61| ,5,10,50,100|}}${62:,", + " dynamic_requests = ${63| ,false,true|}}", " )", "// # ========================================================================= #", "// # | $1 STRATEGY |", @@ -161,7 +157,7 @@ "", "$0" ], - "description": "strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, risk_free_rate, use_bar_magnifier, fill_orders_on_standard_ohlc, max_polylines_count) → void" + "description": "strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, calc_bars_count, risk_free_rate, use_bar_magnifier, fill_orders_on_standard_ohlc, max_polylines_count, dynamic_requests) → void" }, "Strategy ⇨ 𝑓": { diff --git a/src/hover_built-in_constants.json b/src/hover_built-in_constants.json index 4a1cc32..38b7996 100644 --- a/src/hover_built-in_constants.json +++ b/src/hover_built-in_constants.json @@ -40,6 +40,39 @@ "markdown": "A named constant for use with the `freq` parameter of the alert() function. The function call triggers the alert only when it occurs during the last script iteration of the real-time bar, when it closes.", "type": "const string", "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_alert.freq_once_per_bar_close" + }, + { + "pattern": "(?Note that bar indexing starts from 0 on the first historical bar.

Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_bar_index" - }, - { - "pattern": "(?It is NOT recommended to use [barstate.isconfirmed]{0} in [request.security]{1} expression. Its value requested from [request.security]{2} is unpredictable.

Please note that using this variable/function can cause [indicator repainting]{3}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isconfirmed", - "https://www.tradingview.com/pine-script-reference/v5/#fun_request.security", - "https://www.tradingview.com/pine-script-reference/v5/#fun_request.security", - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isconfirmed" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isfirst" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.ishistory" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.islast" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.islastconfirmedhistory" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isnew" - }, - { - "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isrealtime" - }, - { - "pattern": "(?Alerts created on a script that includes this variable will only use the value assigned to the variable at the moment of the alert's creation, regardless of whether the value changes afterward, which may lead to repainting." - ], - "type": "input int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_chart.left_visible_bar_time" - }, - { - "pattern": "(?Alerts created on a script that includes this variable will only use the value assigned to the variable at the moment of the alert's creation, regardless of whether the value changes afterward, which may lead to repainting." - ], - "type": "input int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_chart.right_visible_bar_time" - }, - { - "pattern": "(?You can use [dayofweek.sunday]{0}, [dayofweek.monday]{1}, [dayofweek.tuesday]{2}, [dayofweek.wednesday]{3}, [dayofweek.thursday]{4}, [dayofweek.friday]{5} and [dayofweek.saturday]{6} variables for comparisons." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.sunday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.monday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.tuesday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.wednesday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.thursday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.friday", - "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.saturday" - ], - "type": "series int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_dayofweek" - }, - { - "pattern": "(?Note that this variable returns the timestamp based on the time of the bar's open." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" - ], - "type": "series int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_last_bar_time" - }, - { - "pattern": "(?This variable is not guaranteed to work as expected on non-standard chart types, e.g., Renko." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-reference/v5/#const_true" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_session.islastbar" - }, - { - "pattern": "(?This variable is not guaranteed to work as expected on non-standard chart types, e.g., Renko." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-reference/v5/#const_true" - ], - "type": "series bool", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_session.islastbar_regular" - }, - { - "pattern": "(? 0, the market position is long. If the value is < 0, the market position is short. The absolute value is the number of contracts/shares/lots/units in trade (position size).", - "type": "series float", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_strategy.position_size" - }, - { - "pattern": "(?When used on timeframes higher than 1D, `time_tradingday` returns the trading day of the last day inside the bar (e.g. on 1W, it will return the last trading day of the week)." - ], - "remarkLink": [ - "https://www.tradingview.com/pine-script-reference/v5/#var_time" - ], - "type": "series int", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_time_tradingday" - }, - { - "pattern": "(?][]\", where and are in some cases absent. is the number of units, but it is absent if that number is 1. is \"S\" for seconds, \"D\" for days, \"W\" for weeks, \"M\" for months, but it is absent for minutes. No exists for hours.

The variable will return: \"10S\" for 10 seconds, \"60\" for 60 minutes, \"D\" for one day, \"2W\" for two weeks, \"3M\" for one quarter.

Can be used as an argument with any function containing a `timeframe` parameter.", - "type": "simple string", - "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_timeframe.period" - }, - { - "pattern": "(?Note that bar indexing starts from 0 on the first historical bar.

Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_bar_index" + }, + { + "pattern": "(?It is NOT recommended to use [barstate.isconfirmed]{0} in [request.security]{1} expression. Its value requested from [request.security]{2} is unpredictable.

Please note that using this variable/function can cause [indicator repainting]{3}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isconfirmed", + "https://www.tradingview.com/pine-script-reference/v5/#fun_request.security", + "https://www.tradingview.com/pine-script-reference/v5/#fun_request.security", + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isconfirmed" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isfirst" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.ishistory" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.islast" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.islastconfirmedhistory" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isnew" + }, + { + "pattern": "(?Please note that using this variable/function can cause [indicator repainting]{0}." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_barstate.isrealtime" + }, + { + "pattern": "(?Alerts created on a script that includes this variable will only use the value assigned to the variable at the moment of the alert's creation, regardless of whether the value changes afterward, which may lead to repainting." + ], + "type": "input int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_chart.left_visible_bar_time" + }, + { + "pattern": "(?Alerts created on a script that includes this variable will only use the value assigned to the variable at the moment of the alert's creation, regardless of whether the value changes afterward, which may lead to repainting." + ], + "type": "input int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_chart.right_visible_bar_time" + }, + { + "pattern": "(?You can use [dayofweek.sunday]{0}, [dayofweek.monday]{1}, [dayofweek.tuesday]{2}, [dayofweek.wednesday]{3}, [dayofweek.thursday]{4}, [dayofweek.friday]{5} and [dayofweek.saturday]{6} variables for comparisons." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.sunday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.monday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.tuesday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.wednesday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.thursday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.friday", + "https://www.tradingview.com/pine-script-reference/v5/#const_dayofweek.saturday" + ], + "type": "series int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_dayofweek" + }, + { + "pattern": "(?Note that this variable returns the timestamp based on the time of the bar's open." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html" + ], + "type": "series int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_last_bar_time" + }, + { + "pattern": "(?This variable is not guaranteed to work as expected on non-standard chart types, e.g., Renko." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-reference/v5/#const_true" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_session.islastbar" + }, + { + "pattern": "(?This variable is not guaranteed to work as expected on non-standard chart types, e.g., Renko." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-reference/v5/#const_true" + ], + "type": "series bool", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_session.islastbar_regular" + }, + { + "pattern": "(? 0, the market position is long. If the value is < 0, the market position is short. The absolute value is the number of contracts/shares/lots/units in trade (position size).", + "type": "series float", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_strategy.position_size" + }, + { + "pattern": "(?When used on timeframes higher than 1D, `time_tradingday` returns the trading day of the last day inside the bar (e.g. on 1W, it will return the last trading day of the week)." + ], + "remarkLink": [ + "https://www.tradingview.com/pine-script-reference/v5/#var_time" + ], + "type": "series int", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_time_tradingday" + }, + { + "pattern": "(?][]\", where and are in some cases absent. is the number of units, but it is absent if that number is 1. is \"S\" for seconds, \"D\" for days, \"W\" for weeks, \"M\" for months, but it is absent for minutes. No exists for hours.

The variable will return: \"10S\" for 10 seconds, \"60\" for 60 minutes, \"D\" for one day, \"2W\" for two weeks, \"3M\" for one quarter.

Can be used as an argument with any function containing a `timeframe` parameter.", + "type": "simple string", + "manual": "https://www.tradingview.com/pine-script-reference/v5/#var_timeframe.period" + }, + { + "pattern": "(?