mirror of
https://github.com/danbulant/monaco-yaml
synced 2026-07-06 11:30:46 +00:00
Merge pull request #48 from remcohaszing/monaco-imports
Replace monaco namespace with monaco-editor imports
This commit is contained in:
commit
c12db2ef5b
14 changed files with 249 additions and 376 deletions
|
|
@ -17,7 +17,7 @@
|
||||||
"css-loader": "^3.4.2",
|
"css-loader": "^3.4.2",
|
||||||
"file-loader": "^5.1.0",
|
"file-loader": "^5.1.0",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
"monaco-editor": "^0.20.0",
|
"monaco-editor": "^0.21.3",
|
||||||
"monaco-yaml": "file:../..",
|
"monaco-yaml": "file:../..",
|
||||||
"react": "^16.12.0",
|
"react": "^16.12.0",
|
||||||
"react-dom": "^16.12.0",
|
"react-dom": "^16.12.0",
|
||||||
|
|
|
||||||
|
|
@ -1037,6 +1037,13 @@ aproba@^1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
|
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
|
||||||
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
|
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
|
||||||
|
|
||||||
|
argparse@^1.0.7:
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||||
|
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
|
||||||
|
dependencies:
|
||||||
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
arr-diff@^4.0.0:
|
arr-diff@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
||||||
|
|
@ -2114,6 +2121,11 @@ eslint-scope@^4.0.3:
|
||||||
esrecurse "^4.1.0"
|
esrecurse "^4.1.0"
|
||||||
estraverse "^4.1.1"
|
estraverse "^4.1.1"
|
||||||
|
|
||||||
|
esprima@^4.0.0:
|
||||||
|
version "4.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||||
|
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
||||||
|
|
||||||
esrecurse@^4.1.0:
|
esrecurse@^4.1.0:
|
||||||
version "4.2.1"
|
version "4.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
|
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
|
||||||
|
|
@ -3066,6 +3078,14 @@ isobject@^3.0.0, isobject@^3.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||||
|
|
||||||
|
js-yaml@^3.14.1:
|
||||||
|
version "3.14.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
||||||
|
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
||||||
|
dependencies:
|
||||||
|
argparse "^1.0.7"
|
||||||
|
esprima "^4.0.0"
|
||||||
|
|
||||||
jsesc@^2.5.1:
|
jsesc@^2.5.1:
|
||||||
version "2.5.2"
|
version "2.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
||||||
|
|
@ -3421,17 +3441,16 @@ mkdirp@^0.5.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "0.0.8"
|
minimist "0.0.8"
|
||||||
|
|
||||||
monaco-editor@^0.20.0:
|
monaco-editor@^0.21.3:
|
||||||
version "0.20.0"
|
version "0.21.3"
|
||||||
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz#5d5009343a550124426cb4d965a4d27a348b4dea"
|
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d"
|
||||||
integrity sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ==
|
integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g==
|
||||||
|
|
||||||
monaco-yaml@^2.4.0:
|
"monaco-yaml@file:../..":
|
||||||
version "2.4.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/monaco-yaml/-/monaco-yaml-2.4.0.tgz#027307a231d809c416babf1cf89b4c1bb940e55d"
|
dependencies:
|
||||||
integrity sha512-ElUS6uBqEjA2/o2gLuNdnqWSAAQXh8ISr1kwlFErm3t5IXO74TNfS3gnjO6Kv9TXS7LImjGfgPAZei7o8zNTHw==
|
js-yaml "^3.14.1"
|
||||||
optionalDependencies:
|
yaml-ast-parser-custom-tags "^0.0.43"
|
||||||
prettier "^1.19.1"
|
|
||||||
|
|
||||||
move-concurrently@^1.0.1:
|
move-concurrently@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
|
|
@ -3946,11 +3965,6 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.5, postcss@^7.0.
|
||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
supports-color "^6.1.0"
|
supports-color "^6.1.0"
|
||||||
|
|
||||||
prettier@^1.19.1:
|
|
||||||
version "1.19.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
|
|
||||||
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
|
|
||||||
|
|
||||||
pretty-error@^2.0.2:
|
pretty-error@^2.0.2:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
|
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
|
||||||
|
|
@ -4643,6 +4657,11 @@ split-string@^3.0.1, split-string@^3.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
extend-shallow "^3.0.0"
|
extend-shallow "^3.0.0"
|
||||||
|
|
||||||
|
sprintf-js@~1.0.2:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
ssri@^6.0.1:
|
ssri@^6.0.1:
|
||||||
version "6.0.1"
|
version "6.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
|
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
|
||||||
|
|
@ -5302,6 +5321,11 @@ yallist@^3.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||||
|
|
||||||
|
yaml-ast-parser-custom-tags@^0.0.43:
|
||||||
|
version "0.0.43"
|
||||||
|
resolved "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz#46968145ce4e24cb03c3312057f0f141b93a7d02"
|
||||||
|
integrity sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ==
|
||||||
|
|
||||||
yargs-parser@^11.1.1:
|
yargs-parser@^11.1.1:
|
||||||
version "11.1.1"
|
version "11.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
"css-loader": "^3.4.2",
|
"css-loader": "^3.4.2",
|
||||||
"file-loader": "^5.1.0",
|
"file-loader": "^5.1.0",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
"monaco-editor": "^0.20.0",
|
"monaco-editor": "^0.21.3",
|
||||||
"monaco-yaml": "file:../..",
|
"monaco-yaml": "file:../..",
|
||||||
"react": "^16.12.0",
|
"react": "^16.12.0",
|
||||||
"react-dom": "^16.12.0",
|
"react-dom": "^16.12.0",
|
||||||
|
|
|
||||||
|
|
@ -972,13 +972,6 @@ acorn@^6.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
|
||||||
integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==
|
integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==
|
||||||
|
|
||||||
agent-base@4, agent-base@^4.3.0:
|
|
||||||
version "4.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
|
|
||||||
integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
|
|
||||||
dependencies:
|
|
||||||
es6-promisify "^5.0.0"
|
|
||||||
|
|
||||||
ajv-errors@^1.0.0:
|
ajv-errors@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
|
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
|
||||||
|
|
@ -1793,14 +1786,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "2.0.0"
|
ms "2.0.0"
|
||||||
|
|
||||||
debug@3.1.0:
|
debug@^3.0.0, debug@^3.1.1, debug@^3.2.5:
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
|
||||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
|
||||||
dependencies:
|
|
||||||
ms "2.0.0"
|
|
||||||
|
|
||||||
debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5:
|
|
||||||
version "3.2.6"
|
version "3.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
||||||
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
|
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
|
||||||
|
|
@ -2117,18 +2103,6 @@ es-to-primitive@^1.2.1:
|
||||||
is-date-object "^1.0.1"
|
is-date-object "^1.0.1"
|
||||||
is-symbol "^1.0.2"
|
is-symbol "^1.0.2"
|
||||||
|
|
||||||
es6-promise@^4.0.3:
|
|
||||||
version "4.2.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
|
|
||||||
integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
|
|
||||||
|
|
||||||
es6-promisify@^5.0.0:
|
|
||||||
version "5.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
|
|
||||||
integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
|
|
||||||
dependencies:
|
|
||||||
es6-promise "^4.0.3"
|
|
||||||
|
|
||||||
escape-html@~1.0.3:
|
escape-html@~1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
||||||
|
|
@ -2750,14 +2724,6 @@ http-errors@~1.7.2:
|
||||||
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
|
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
|
||||||
integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
|
integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
|
||||||
|
|
||||||
http-proxy-agent@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
|
|
||||||
integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
|
|
||||||
dependencies:
|
|
||||||
agent-base "4"
|
|
||||||
debug "3.1.0"
|
|
||||||
|
|
||||||
http-proxy-middleware@0.19.1:
|
http-proxy-middleware@0.19.1:
|
||||||
version "0.19.1"
|
version "0.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
|
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
|
||||||
|
|
@ -2782,14 +2748,6 @@ https-browserify@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
|
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
|
||||||
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
|
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
|
||||||
|
|
||||||
https-proxy-agent@^2.2.3:
|
|
||||||
version "2.2.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
|
|
||||||
integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
|
|
||||||
dependencies:
|
|
||||||
agent-base "^4.3.0"
|
|
||||||
debug "^3.1.0"
|
|
||||||
|
|
||||||
iconv-lite@0.4.24:
|
iconv-lite@0.4.24:
|
||||||
version "0.4.24"
|
version "0.4.24"
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||||
|
|
@ -3120,10 +3078,10 @@ isobject@^3.0.0, isobject@^3.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||||
|
|
||||||
js-yaml@^3.13.1:
|
js-yaml@^3.14.1:
|
||||||
version "3.14.0"
|
version "3.14.1"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
||||||
integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
|
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse "^1.0.7"
|
argparse "^1.0.7"
|
||||||
esprima "^4.0.0"
|
esprima "^4.0.0"
|
||||||
|
|
@ -3172,11 +3130,6 @@ json5@^2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
|
|
||||||
jsonc-parser@^2.2.1:
|
|
||||||
version "2.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.0.tgz#7c7fc988ee1486d35734faaaa866fadb00fa91ee"
|
|
||||||
integrity sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==
|
|
||||||
|
|
||||||
killable@^1.0.1:
|
killable@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
||||||
|
|
@ -3488,17 +3441,16 @@ mkdirp@^0.5.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "0.0.8"
|
minimist "0.0.8"
|
||||||
|
|
||||||
monaco-editor@^0.20.0:
|
monaco-editor@^0.21.3:
|
||||||
version "0.20.0"
|
version "0.21.3"
|
||||||
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.20.0.tgz#5d5009343a550124426cb4d965a4d27a348b4dea"
|
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d"
|
||||||
integrity sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ==
|
integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g==
|
||||||
|
|
||||||
"monaco-yaml@file:../..":
|
"monaco-yaml@file:../..":
|
||||||
version "2.4.1"
|
version "2.5.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
yaml-language-server "^0.9.0"
|
js-yaml "^3.14.1"
|
||||||
optionalDependencies:
|
yaml-ast-parser-custom-tags "^0.0.43"
|
||||||
prettier "^1.19.1"
|
|
||||||
|
|
||||||
move-concurrently@^1.0.1:
|
move-concurrently@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
|
|
@ -4013,11 +3965,6 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.5, postcss@^7.0.
|
||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
supports-color "^6.1.0"
|
supports-color "^6.1.0"
|
||||||
|
|
||||||
prettier@^1.18.2, prettier@^1.19.1:
|
|
||||||
version "1.19.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
|
|
||||||
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
|
|
||||||
|
|
||||||
pretty-error@^2.0.2:
|
pretty-error@^2.0.2:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
|
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
|
||||||
|
|
@ -4323,15 +4270,6 @@ repeat-string@^1.6.1:
|
||||||
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
||||||
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
||||||
|
|
||||||
request-light@^0.2.4:
|
|
||||||
version "0.2.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.2.5.tgz#38a3da7b2e56f7af8cbba57e8a94930ee2380746"
|
|
||||||
integrity sha512-eBEh+GzJAftUnex6tcL6eV2JCifY0+sZMIUpUPOVXbs2nV5hla4ZMmO3icYKGuGVuQ2zHE9evh4OrRcH4iyYYw==
|
|
||||||
dependencies:
|
|
||||||
http-proxy-agent "^2.1.0"
|
|
||||||
https-proxy-agent "^2.2.3"
|
|
||||||
vscode-nls "^4.1.1"
|
|
||||||
|
|
||||||
require-directory@^2.1.1:
|
require-directory@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||||
|
|
@ -5162,68 +5100,6 @@ vm-browserify@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||||
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
||||||
|
|
||||||
vscode-json-languageservice@^3.6.0:
|
|
||||||
version "3.7.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.7.0.tgz#0174417f139cf41dd60c84538fd052385bfb46f6"
|
|
||||||
integrity sha512-nGLqcBhTjdfkl8Dz9sYGK/ZCTjscYFoIjYw+qqkWB+vyNfM0k/AyIoT73DQvB/PArteCKjEVfQUF72GRZEDSbQ==
|
|
||||||
dependencies:
|
|
||||||
jsonc-parser "^2.2.1"
|
|
||||||
vscode-languageserver-textdocument "^1.0.1"
|
|
||||||
vscode-languageserver-types "^3.15.1"
|
|
||||||
vscode-nls "^4.1.2"
|
|
||||||
vscode-uri "^2.1.2"
|
|
||||||
|
|
||||||
vscode-jsonrpc@^4.0.0:
|
|
||||||
version "4.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz#a7bf74ef3254d0a0c272fab15c82128e378b3be9"
|
|
||||||
integrity sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==
|
|
||||||
|
|
||||||
vscode-languageserver-protocol@3.14.1:
|
|
||||||
version "3.14.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz#b8aab6afae2849c84a8983d39a1cf742417afe2f"
|
|
||||||
integrity sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==
|
|
||||||
dependencies:
|
|
||||||
vscode-jsonrpc "^4.0.0"
|
|
||||||
vscode-languageserver-types "3.14.0"
|
|
||||||
|
|
||||||
vscode-languageserver-textdocument@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f"
|
|
||||||
integrity sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==
|
|
||||||
|
|
||||||
vscode-languageserver-types@3.14.0:
|
|
||||||
version "3.14.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz#d3b5952246d30e5241592b6dde8280e03942e743"
|
|
||||||
integrity sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==
|
|
||||||
|
|
||||||
vscode-languageserver-types@^3.15.1:
|
|
||||||
version "3.15.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz#17be71d78d2f6236d414f0001ce1ef4d23e6b6de"
|
|
||||||
integrity sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==
|
|
||||||
|
|
||||||
vscode-languageserver@^5.2.1:
|
|
||||||
version "5.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz#0d2feddd33f92aadf5da32450df498d52f6f14eb"
|
|
||||||
integrity sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A==
|
|
||||||
dependencies:
|
|
||||||
vscode-languageserver-protocol "3.14.1"
|
|
||||||
vscode-uri "^1.0.6"
|
|
||||||
|
|
||||||
vscode-nls@^4.1.1, vscode-nls@^4.1.2:
|
|
||||||
version "4.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167"
|
|
||||||
integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==
|
|
||||||
|
|
||||||
vscode-uri@^1.0.6:
|
|
||||||
version "1.0.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.8.tgz#9769aaececae4026fb6e22359cb38946580ded59"
|
|
||||||
integrity sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==
|
|
||||||
|
|
||||||
vscode-uri@^2.1.1, vscode-uri@^2.1.2:
|
|
||||||
version "2.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c"
|
|
||||||
integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==
|
|
||||||
|
|
||||||
watchpack@^1.6.0:
|
watchpack@^1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
|
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
|
||||||
|
|
@ -5429,28 +5305,11 @@ yallist@^3.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||||
|
|
||||||
yaml-ast-parser-custom-tags@0.0.43:
|
yaml-ast-parser-custom-tags@^0.0.43:
|
||||||
version "0.0.43"
|
version "0.0.43"
|
||||||
resolved "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz#46968145ce4e24cb03c3312057f0f141b93a7d02"
|
resolved "https://registry.yarnpkg.com/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz#46968145ce4e24cb03c3312057f0f141b93a7d02"
|
||||||
integrity sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ==
|
integrity sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ==
|
||||||
|
|
||||||
yaml-language-server@^0.9.0:
|
|
||||||
version "0.9.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/yaml-language-server/-/yaml-language-server-0.9.0.tgz#6f7b0068dfd182589320da7d36f7ade897f6c4a0"
|
|
||||||
integrity sha512-nRExM5NfJXzxTKlFmHKr/ZtoxZCddH1kuuWNfHRvTLCEHzexIn/YvI/DBZHxKLh/ym9f4Q4j4zW76vB6J18lUQ==
|
|
||||||
dependencies:
|
|
||||||
js-yaml "^3.13.1"
|
|
||||||
jsonc-parser "^2.2.1"
|
|
||||||
request-light "^0.2.4"
|
|
||||||
vscode-json-languageservice "^3.6.0"
|
|
||||||
vscode-languageserver "^5.2.1"
|
|
||||||
vscode-languageserver-types "^3.15.1"
|
|
||||||
vscode-nls "^4.1.2"
|
|
||||||
vscode-uri "^2.1.1"
|
|
||||||
yaml-ast-parser-custom-tags "0.0.43"
|
|
||||||
optionalDependencies:
|
|
||||||
prettier "^1.18.2"
|
|
||||||
|
|
||||||
yargs-parser@^11.1.1:
|
yargs-parser@^11.1.1:
|
||||||
version "11.1.1"
|
version "11.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
||||||
|
|
|
||||||
|
|
@ -40,8 +40,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"husky": "^5.2.0",
|
"husky": "^5.2.0",
|
||||||
"lint-staged": "^10.5.4",
|
"lint-staged": "^10.5.4",
|
||||||
"monaco-editor": "^0.21.2",
|
"monaco-editor": "^0.21.3",
|
||||||
"monaco-editor-core": "^0.21.2",
|
|
||||||
"monaco-languages": "^2.1.1",
|
"monaco-languages": "^2.1.1",
|
||||||
"monaco-plugin-helpers": "^1.0.3",
|
"monaco-plugin-helpers": "^1.0.3",
|
||||||
"prettier": "2.0.5",
|
"prettier": "2.0.5",
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@ function bundleOne(moduleId, exclude) {
|
||||||
exclude: exclude,
|
exclude: exclude,
|
||||||
paths: {
|
paths: {
|
||||||
'vs/language/yaml': REPO_ROOT + '/out/amd',
|
'vs/language/yaml': REPO_ROOT + '/out/amd',
|
||||||
|
'monaco-editor/esm/vs/editor/editor.api':
|
||||||
|
REPO_ROOT + '/out/amd/fillers/monaco-editor-amd',
|
||||||
},
|
},
|
||||||
optimize: 'none',
|
optimize: 'none',
|
||||||
packages: [
|
packages: [
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,21 @@ import { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
||||||
import { YAMLWorker } from './yamlWorker';
|
import { YAMLWorker } from './yamlWorker';
|
||||||
|
|
||||||
import * as ls from 'vscode-languageserver-types';
|
import * as ls from 'vscode-languageserver-types';
|
||||||
|
import {
|
||||||
import Uri = monaco.Uri;
|
editor,
|
||||||
import Position = monaco.Position;
|
languages,
|
||||||
import Range = monaco.Range;
|
CancellationToken,
|
||||||
import IRange = monaco.IRange;
|
IDisposable,
|
||||||
import Thenable = monaco.Thenable;
|
IMarkdownString,
|
||||||
import CancellationToken = monaco.CancellationToken;
|
IRange,
|
||||||
import IDisposable = monaco.IDisposable;
|
MarkerSeverity,
|
||||||
|
Position,
|
||||||
|
Range,
|
||||||
|
Uri,
|
||||||
|
} from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
import { CustomFormatterOptions } from 'yaml-language-server';
|
import { CustomFormatterOptions } from 'yaml-language-server';
|
||||||
|
|
||||||
export type WorkerAccessor = (...more: Uri[]) => Thenable<YAMLWorker>;
|
export type WorkerAccessor = (...more: Uri[]) => PromiseLike<YAMLWorker>;
|
||||||
|
|
||||||
// --- diagnostics --- ---
|
// --- diagnostics --- ---
|
||||||
|
|
||||||
|
|
@ -31,7 +35,7 @@ export class DiagnosticsAdapter {
|
||||||
private _worker: WorkerAccessor,
|
private _worker: WorkerAccessor,
|
||||||
defaults: LanguageServiceDefaultsImpl
|
defaults: LanguageServiceDefaultsImpl
|
||||||
) {
|
) {
|
||||||
const onModelAdd = (model: monaco.editor.IModel): void => {
|
const onModelAdd = (model: editor.IModel): void => {
|
||||||
const modeId = model.getModeId();
|
const modeId = model.getModeId();
|
||||||
if (modeId !== this._languageId) {
|
if (modeId !== this._languageId) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -46,8 +50,8 @@ export class DiagnosticsAdapter {
|
||||||
this._doValidate(model.uri, modeId);
|
this._doValidate(model.uri, modeId);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onModelRemoved = (model: monaco.editor.IModel): void => {
|
const onModelRemoved = (model: editor.IModel): void => {
|
||||||
monaco.editor.setModelMarkers(model, this._languageId, []);
|
editor.setModelMarkers(model, this._languageId, []);
|
||||||
const uriStr = model.uri.toString();
|
const uriStr = model.uri.toString();
|
||||||
const listener = this._listener[uriStr];
|
const listener = this._listener[uriStr];
|
||||||
if (listener) {
|
if (listener) {
|
||||||
|
|
@ -56,15 +60,15 @@ export class DiagnosticsAdapter {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd));
|
this._disposables.push(editor.onDidCreateModel(onModelAdd));
|
||||||
this._disposables.push(
|
this._disposables.push(
|
||||||
monaco.editor.onWillDisposeModel((model) => {
|
editor.onWillDisposeModel((model) => {
|
||||||
onModelRemoved(model);
|
onModelRemoved(model);
|
||||||
this._resetSchema(model.uri);
|
this._resetSchema(model.uri);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
this._disposables.push(
|
this._disposables.push(
|
||||||
monaco.editor.onDidChangeModelLanguage((event) => {
|
editor.onDidChangeModelLanguage((event) => {
|
||||||
onModelRemoved(event.model);
|
onModelRemoved(event.model);
|
||||||
onModelAdd(event.model);
|
onModelAdd(event.model);
|
||||||
this._resetSchema(event.model.uri);
|
this._resetSchema(event.model.uri);
|
||||||
|
|
@ -73,7 +77,7 @@ export class DiagnosticsAdapter {
|
||||||
|
|
||||||
this._disposables.push(
|
this._disposables.push(
|
||||||
defaults.onDidChange((_) => {
|
defaults.onDidChange((_) => {
|
||||||
monaco.editor.getModels().forEach((model) => {
|
editor.getModels().forEach((model) => {
|
||||||
if (model.getModeId() === this._languageId) {
|
if (model.getModeId() === this._languageId) {
|
||||||
onModelRemoved(model);
|
onModelRemoved(model);
|
||||||
onModelAdd(model);
|
onModelAdd(model);
|
||||||
|
|
@ -84,14 +88,14 @@ export class DiagnosticsAdapter {
|
||||||
|
|
||||||
this._disposables.push({
|
this._disposables.push({
|
||||||
dispose: () => {
|
dispose: () => {
|
||||||
monaco.editor.getModels().forEach(onModelRemoved);
|
editor.getModels().forEach(onModelRemoved);
|
||||||
for (const key in this._listener) {
|
for (const key in this._listener) {
|
||||||
this._listener[key].dispose();
|
this._listener[key].dispose();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
monaco.editor.getModels().forEach(onModelAdd);
|
editor.getModels().forEach(onModelAdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
public dispose(): void {
|
public dispose(): void {
|
||||||
|
|
@ -110,9 +114,9 @@ export class DiagnosticsAdapter {
|
||||||
.then((worker) => {
|
.then((worker) => {
|
||||||
return worker.doValidation(resource.toString()).then((diagnostics) => {
|
return worker.doValidation(resource.toString()).then((diagnostics) => {
|
||||||
const markers = diagnostics.map((d) => toDiagnostics(resource, d));
|
const markers = diagnostics.map((d) => toDiagnostics(resource, d));
|
||||||
const model = monaco.editor.getModel(resource);
|
const model = editor.getModel(resource);
|
||||||
if (model.getModeId() === languageId) {
|
if (model.getModeId() === languageId) {
|
||||||
monaco.editor.setModelMarkers(model, languageId, markers);
|
editor.setModelMarkers(model, languageId, markers);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
@ -122,25 +126,22 @@ export class DiagnosticsAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toSeverity(lsSeverity: number): monaco.MarkerSeverity {
|
function toSeverity(lsSeverity: number): MarkerSeverity {
|
||||||
switch (lsSeverity) {
|
switch (lsSeverity) {
|
||||||
case ls.DiagnosticSeverity.Error:
|
case ls.DiagnosticSeverity.Error:
|
||||||
return monaco.MarkerSeverity.Error;
|
return MarkerSeverity.Error;
|
||||||
case ls.DiagnosticSeverity.Warning:
|
case ls.DiagnosticSeverity.Warning:
|
||||||
return monaco.MarkerSeverity.Warning;
|
return MarkerSeverity.Warning;
|
||||||
case ls.DiagnosticSeverity.Information:
|
case ls.DiagnosticSeverity.Information:
|
||||||
return monaco.MarkerSeverity.Info;
|
return MarkerSeverity.Info;
|
||||||
case ls.DiagnosticSeverity.Hint:
|
case ls.DiagnosticSeverity.Hint:
|
||||||
return monaco.MarkerSeverity.Hint;
|
return MarkerSeverity.Hint;
|
||||||
default:
|
default:
|
||||||
return monaco.MarkerSeverity.Info;
|
return MarkerSeverity.Info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toDiagnostics(
|
function toDiagnostics(resource: Uri, diag: ls.Diagnostic): editor.IMarkerData {
|
||||||
resource: Uri,
|
|
||||||
diag: ls.Diagnostic
|
|
||||||
): monaco.editor.IMarkerData {
|
|
||||||
const code =
|
const code =
|
||||||
typeof diag.code === 'number' ? String(diag.code) : (diag.code as string);
|
typeof diag.code === 'number' ? String(diag.code) : (diag.code as string);
|
||||||
|
|
||||||
|
|
@ -189,10 +190,8 @@ function toRange(range: ls.Range): Range {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function toCompletionItemKind(
|
function toCompletionItemKind(kind: number): languages.CompletionItemKind {
|
||||||
kind: number
|
const mItemKind = languages.CompletionItemKind;
|
||||||
): monaco.languages.CompletionItemKind {
|
|
||||||
const mItemKind = monaco.languages.CompletionItemKind;
|
|
||||||
|
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case ls.CompletionItemKind.Text:
|
case ls.CompletionItemKind.Text:
|
||||||
|
|
@ -236,9 +235,9 @@ function toCompletionItemKind(
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromCompletionItemKind(
|
function fromCompletionItemKind(
|
||||||
kind: monaco.languages.CompletionItemKind
|
kind: languages.CompletionItemKind
|
||||||
): ls.CompletionItemKind {
|
): ls.CompletionItemKind {
|
||||||
const mItemKind = monaco.languages.CompletionItemKind;
|
const mItemKind = languages.CompletionItemKind;
|
||||||
|
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case mItemKind.Text:
|
case mItemKind.Text:
|
||||||
|
|
@ -281,7 +280,7 @@ function fromCompletionItemKind(
|
||||||
return ls.CompletionItemKind.Property;
|
return ls.CompletionItemKind.Property;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toTextEdit(textEdit: ls.TextEdit): monaco.editor.ISingleEditOperation {
|
function toTextEdit(textEdit: ls.TextEdit): editor.ISingleEditOperation {
|
||||||
if (!textEdit) {
|
if (!textEdit) {
|
||||||
return void 0;
|
return void 0;
|
||||||
}
|
}
|
||||||
|
|
@ -291,8 +290,7 @@ function toTextEdit(textEdit: ls.TextEdit): monaco.editor.ISingleEditOperation {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CompletionAdapter
|
export class CompletionAdapter implements languages.CompletionItemProvider {
|
||||||
implements monaco.languages.CompletionItemProvider {
|
|
||||||
constructor(private _worker: WorkerAccessor) {}
|
constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
public get triggerCharacters(): string[] {
|
public get triggerCharacters(): string[] {
|
||||||
|
|
@ -300,11 +298,11 @@ export class CompletionAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
public provideCompletionItems(
|
public provideCompletionItems(
|
||||||
model: monaco.editor.IReadOnlyModel,
|
model: editor.IReadOnlyModel,
|
||||||
position: Position,
|
position: Position,
|
||||||
context: monaco.languages.CompletionContext,
|
context: languages.CompletionContext,
|
||||||
token: CancellationToken
|
token: CancellationToken
|
||||||
): Thenable<monaco.languages.CompletionList> {
|
): PromiseLike<languages.CompletionList> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return this._worker(resource)
|
return this._worker(resource)
|
||||||
|
|
@ -324,34 +322,32 @@ export class CompletionAdapter
|
||||||
wordInfo.endColumn
|
wordInfo.endColumn
|
||||||
);
|
);
|
||||||
|
|
||||||
const items: monaco.languages.CompletionItem[] = info.items.map(
|
const items: languages.CompletionItem[] = info.items.map((entry) => {
|
||||||
(entry) => {
|
const item: languages.CompletionItem = {
|
||||||
const item: monaco.languages.CompletionItem = {
|
label: entry.label,
|
||||||
label: entry.label,
|
insertText: entry.insertText || entry.label,
|
||||||
insertText: entry.insertText || entry.label,
|
sortText: entry.sortText,
|
||||||
sortText: entry.sortText,
|
filterText: entry.filterText,
|
||||||
filterText: entry.filterText,
|
documentation: entry.documentation,
|
||||||
documentation: entry.documentation,
|
detail: entry.detail,
|
||||||
detail: entry.detail,
|
kind: toCompletionItemKind(entry.kind),
|
||||||
kind: toCompletionItemKind(entry.kind),
|
range: wordRange,
|
||||||
range: wordRange,
|
};
|
||||||
};
|
if (entry.textEdit) {
|
||||||
if (entry.textEdit) {
|
item.range = toRange(entry.textEdit.range);
|
||||||
item.range = toRange(entry.textEdit.range);
|
item.insertText = entry.textEdit.newText;
|
||||||
item.insertText = entry.textEdit.newText;
|
|
||||||
}
|
|
||||||
if (entry.additionalTextEdits) {
|
|
||||||
item.additionalTextEdits = entry.additionalTextEdits.map(
|
|
||||||
toTextEdit
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) {
|
|
||||||
item.insertTextRules =
|
|
||||||
monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
|
||||||
}
|
|
||||||
return item;
|
|
||||||
}
|
}
|
||||||
);
|
if (entry.additionalTextEdits) {
|
||||||
|
item.additionalTextEdits = entry.additionalTextEdits.map(
|
||||||
|
toTextEdit
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) {
|
||||||
|
item.insertTextRules =
|
||||||
|
languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isIncomplete: info.isIncomplete,
|
isIncomplete: info.isIncomplete,
|
||||||
|
|
@ -371,7 +367,7 @@ function isMarkupContent(thing: any): thing is ls.MarkupContent {
|
||||||
|
|
||||||
function toMarkdownString(
|
function toMarkdownString(
|
||||||
entry: ls.MarkupContent | ls.MarkedString
|
entry: ls.MarkupContent | ls.MarkedString
|
||||||
): monaco.IMarkdownString {
|
): IMarkdownString {
|
||||||
if (typeof entry === 'string') {
|
if (typeof entry === 'string') {
|
||||||
return {
|
return {
|
||||||
value: entry,
|
value: entry,
|
||||||
|
|
@ -393,7 +389,7 @@ function toMarkdownString(
|
||||||
|
|
||||||
function toMarkedStringArray(
|
function toMarkedStringArray(
|
||||||
contents: ls.MarkupContent | ls.MarkedString | ls.MarkedString[]
|
contents: ls.MarkupContent | ls.MarkedString | ls.MarkedString[]
|
||||||
): monaco.IMarkdownString[] {
|
): IMarkdownString[] {
|
||||||
if (!contents) {
|
if (!contents) {
|
||||||
return void 0;
|
return void 0;
|
||||||
}
|
}
|
||||||
|
|
@ -405,14 +401,14 @@ function toMarkedStringArray(
|
||||||
|
|
||||||
// --- hover ------
|
// --- hover ------
|
||||||
|
|
||||||
export class HoverAdapter implements monaco.languages.HoverProvider {
|
export class HoverAdapter implements languages.HoverProvider {
|
||||||
constructor(private _worker: WorkerAccessor) {}
|
constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
public provideHover(
|
public provideHover(
|
||||||
model: monaco.editor.IReadOnlyModel,
|
model: editor.IReadOnlyModel,
|
||||||
position: Position,
|
position: Position,
|
||||||
token: CancellationToken
|
token: CancellationToken
|
||||||
): Thenable<monaco.languages.Hover> {
|
): PromiseLike<languages.Hover> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return this._worker(resource)
|
return this._worker(resource)
|
||||||
|
|
@ -426,15 +422,15 @@ export class HoverAdapter implements monaco.languages.HoverProvider {
|
||||||
return {
|
return {
|
||||||
range: toRange(info.range),
|
range: toRange(info.range),
|
||||||
contents: toMarkedStringArray(info.contents),
|
contents: toMarkedStringArray(info.contents),
|
||||||
} as monaco.languages.Hover;
|
} as languages.Hover;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- document symbols ------
|
// --- document symbols ------
|
||||||
|
|
||||||
function toSymbolKind(kind: ls.SymbolKind): monaco.languages.SymbolKind {
|
function toSymbolKind(kind: ls.SymbolKind): languages.SymbolKind {
|
||||||
const mKind = monaco.languages.SymbolKind;
|
const mKind = languages.SymbolKind;
|
||||||
|
|
||||||
switch (kind) {
|
switch (kind) {
|
||||||
case ls.SymbolKind.File:
|
case ls.SymbolKind.File:
|
||||||
|
|
@ -477,14 +473,13 @@ function toSymbolKind(kind: ls.SymbolKind): monaco.languages.SymbolKind {
|
||||||
return mKind.Function;
|
return mKind.Function;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DocumentSymbolAdapter
|
export class DocumentSymbolAdapter implements languages.DocumentSymbolProvider {
|
||||||
implements monaco.languages.DocumentSymbolProvider {
|
|
||||||
constructor(private _worker: WorkerAccessor) {}
|
constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
public provideDocumentSymbols(
|
public provideDocumentSymbols(
|
||||||
model: monaco.editor.IReadOnlyModel,
|
model: editor.IReadOnlyModel,
|
||||||
token: CancellationToken
|
token: CancellationToken
|
||||||
): Thenable<monaco.languages.DocumentSymbol[]> {
|
): PromiseLike<languages.DocumentSymbol[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return this._worker(resource)
|
return this._worker(resource)
|
||||||
|
|
@ -498,9 +493,7 @@ export class DocumentSymbolAdapter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toDocumentSymbol(
|
function toDocumentSymbol(item: ls.DocumentSymbol): languages.DocumentSymbol {
|
||||||
item: ls.DocumentSymbol
|
|
||||||
): monaco.languages.DocumentSymbol {
|
|
||||||
return {
|
return {
|
||||||
detail: '',
|
detail: '',
|
||||||
range: toRange(item.range),
|
range: toRange(item.range),
|
||||||
|
|
@ -513,7 +506,7 @@ function toDocumentSymbol(
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromFormattingOptions(
|
function fromFormattingOptions(
|
||||||
options: monaco.languages.FormattingOptions
|
options: languages.FormattingOptions
|
||||||
): ls.FormattingOptions & CustomFormatterOptions {
|
): ls.FormattingOptions & CustomFormatterOptions {
|
||||||
return {
|
return {
|
||||||
tabSize: options.tabSize,
|
tabSize: options.tabSize,
|
||||||
|
|
@ -523,14 +516,14 @@ function fromFormattingOptions(
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DocumentFormattingEditProvider
|
export class DocumentFormattingEditProvider
|
||||||
implements monaco.languages.DocumentFormattingEditProvider {
|
implements languages.DocumentFormattingEditProvider {
|
||||||
constructor(private _worker: WorkerAccessor) {}
|
constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
public provideDocumentFormattingEdits(
|
public provideDocumentFormattingEdits(
|
||||||
model: monaco.editor.IReadOnlyModel,
|
model: editor.IReadOnlyModel,
|
||||||
options: monaco.languages.FormattingOptions,
|
options: languages.FormattingOptions,
|
||||||
token: CancellationToken
|
token: CancellationToken
|
||||||
): Thenable<monaco.editor.ISingleEditOperation[]> {
|
): PromiseLike<editor.ISingleEditOperation[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return this._worker(resource).then((worker) => {
|
return this._worker(resource).then((worker) => {
|
||||||
|
|
@ -547,15 +540,15 @@ export class DocumentFormattingEditProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DocumentRangeFormattingEditProvider
|
export class DocumentRangeFormattingEditProvider
|
||||||
implements monaco.languages.DocumentRangeFormattingEditProvider {
|
implements languages.DocumentRangeFormattingEditProvider {
|
||||||
constructor(private _worker: WorkerAccessor) {}
|
constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
public provideDocumentRangeFormattingEdits(
|
public provideDocumentRangeFormattingEdits(
|
||||||
model: monaco.editor.IReadOnlyModel,
|
model: editor.IReadOnlyModel,
|
||||||
range: Range,
|
range: Range,
|
||||||
options: monaco.languages.FormattingOptions,
|
options: languages.FormattingOptions,
|
||||||
token: CancellationToken
|
token: CancellationToken
|
||||||
): Thenable<monaco.editor.ISingleEditOperation[]> {
|
): PromiseLike<editor.ISingleEditOperation[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return this._worker(resource).then((worker) => {
|
return this._worker(resource).then((worker) => {
|
||||||
|
|
@ -576,13 +569,13 @@ export class DocumentRangeFormattingEditProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
// export class DocumentColorAdapter
|
// export class DocumentColorAdapter
|
||||||
// implements monaco.languages.DocumentColorProvider {
|
// implements languages.DocumentColorProvider {
|
||||||
// constructor(private _worker: WorkerAccessor) {}
|
// constructor(private _worker: WorkerAccessor) {}
|
||||||
|
|
||||||
// public provideDocumentColors(
|
// public provideDocumentColors(
|
||||||
// model: monaco.editor.IReadOnlyModel,
|
// model: editor.IReadOnlyModel,
|
||||||
// token: CancellationToken
|
// token: CancellationToken
|
||||||
// ): Thenable<monaco.languages.IColorInformation[]> {
|
// ): PromiseLike<languages.IColorInformation[]> {
|
||||||
// const resource = model.uri;
|
// const resource = model.uri;
|
||||||
|
|
||||||
// return this._worker(resource)
|
// return this._worker(resource)
|
||||||
|
|
@ -599,10 +592,10 @@ export class DocumentRangeFormattingEditProvider
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// public provideColorPresentations(
|
// public provideColorPresentations(
|
||||||
// model: monaco.editor.IReadOnlyModel,
|
// model: editor.IReadOnlyModel,
|
||||||
// info: monaco.languages.IColorInformation,
|
// info: languages.IColorInformation,
|
||||||
// token: CancellationToken
|
// token: CancellationToken
|
||||||
// ): Thenable<monaco.languages.IColorPresentation[]> {
|
// ): PromiseLike<languages.IColorPresentation[]> {
|
||||||
// const resource = model.uri;
|
// const resource = model.uri;
|
||||||
|
|
||||||
// return this._worker(resource)
|
// return this._worker(resource)
|
||||||
|
|
@ -618,7 +611,7 @@ export class DocumentRangeFormattingEditProvider
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// return presentations.map(presentation => {
|
// return presentations.map(presentation => {
|
||||||
// const item: monaco.languages.IColorPresentation = {
|
// const item: languages.IColorPresentation = {
|
||||||
// label: presentation.label,
|
// label: presentation.label,
|
||||||
// };
|
// };
|
||||||
// if (presentation.textEdit) {
|
// if (presentation.textEdit) {
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,13 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
import {
|
||||||
|
languages,
|
||||||
|
Emitter,
|
||||||
|
IEvent,
|
||||||
|
} from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
import { setupMode } from './yamlMode';
|
import { setupMode } from './yamlMode';
|
||||||
|
|
||||||
import Emitter = monaco.Emitter;
|
|
||||||
import IEvent = monaco.IEvent;
|
|
||||||
|
|
||||||
declare var require: <T>(
|
declare var require: <T>(
|
||||||
moduleId: [string],
|
moduleId: [string],
|
||||||
callback: (module: T) => void
|
callback: (module: T) => void
|
||||||
|
|
@ -17,22 +19,20 @@ declare var require: <T>(
|
||||||
// --- YAML configuration and defaults ---------
|
// --- YAML configuration and defaults ---------
|
||||||
|
|
||||||
export class LanguageServiceDefaultsImpl
|
export class LanguageServiceDefaultsImpl
|
||||||
implements monaco.languages.yaml.LanguageServiceDefaults {
|
implements languages.yaml.LanguageServiceDefaults {
|
||||||
private _onDidChange = new Emitter<
|
private _onDidChange = new Emitter<languages.yaml.LanguageServiceDefaults>();
|
||||||
monaco.languages.yaml.LanguageServiceDefaults
|
private _diagnosticsOptions: languages.yaml.DiagnosticsOptions;
|
||||||
>();
|
|
||||||
private _diagnosticsOptions: monaco.languages.yaml.DiagnosticsOptions;
|
|
||||||
private _languageId: string;
|
private _languageId: string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
languageId: string,
|
languageId: string,
|
||||||
diagnosticsOptions: monaco.languages.yaml.DiagnosticsOptions
|
diagnosticsOptions: languages.yaml.DiagnosticsOptions
|
||||||
) {
|
) {
|
||||||
this._languageId = languageId;
|
this._languageId = languageId;
|
||||||
this.setDiagnosticsOptions(diagnosticsOptions);
|
this.setDiagnosticsOptions(diagnosticsOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
get onDidChange(): IEvent<monaco.languages.yaml.LanguageServiceDefaults> {
|
get onDidChange(): IEvent<languages.yaml.LanguageServiceDefaults> {
|
||||||
return this._onDidChange.event;
|
return this._onDidChange.event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,19 +40,19 @@ export class LanguageServiceDefaultsImpl
|
||||||
return this._languageId;
|
return this._languageId;
|
||||||
}
|
}
|
||||||
|
|
||||||
get diagnosticsOptions(): monaco.languages.yaml.DiagnosticsOptions {
|
get diagnosticsOptions(): languages.yaml.DiagnosticsOptions {
|
||||||
return this._diagnosticsOptions;
|
return this._diagnosticsOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setDiagnosticsOptions(
|
public setDiagnosticsOptions(
|
||||||
options: monaco.languages.yaml.DiagnosticsOptions
|
options: languages.yaml.DiagnosticsOptions
|
||||||
): void {
|
): void {
|
||||||
this._diagnosticsOptions = options || Object.create(null);
|
this._diagnosticsOptions = options || Object.create(null);
|
||||||
this._onDidChange.fire(this);
|
this._onDidChange.fire(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const diagnosticDefault: monaco.languages.yaml.DiagnosticsOptions = {
|
const diagnosticDefault: languages.yaml.DiagnosticsOptions = {
|
||||||
validate: true,
|
validate: true,
|
||||||
schemas: [],
|
schemas: [],
|
||||||
enableSchemaRequest: false,
|
enableSchemaRequest: false,
|
||||||
|
|
@ -61,22 +61,22 @@ const diagnosticDefault: monaco.languages.yaml.DiagnosticsOptions = {
|
||||||
const yamlDefaults = new LanguageServiceDefaultsImpl('yaml', diagnosticDefault);
|
const yamlDefaults = new LanguageServiceDefaultsImpl('yaml', diagnosticDefault);
|
||||||
|
|
||||||
// Export API
|
// Export API
|
||||||
function createAPI(): typeof monaco.languages.yaml {
|
function createAPI(): typeof languages.yaml {
|
||||||
return {
|
return {
|
||||||
yamlDefaults,
|
yamlDefaults,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
monaco.languages.yaml = createAPI();
|
languages.yaml = createAPI();
|
||||||
|
|
||||||
// --- Registration to monaco editor ---
|
// --- Registration to monaco editor ---
|
||||||
|
|
||||||
monaco.languages.register({
|
languages.register({
|
||||||
id: 'yaml',
|
id: 'yaml',
|
||||||
extensions: ['.yaml', '.yml'],
|
extensions: ['.yaml', '.yml'],
|
||||||
aliases: ['YAML', 'yaml', 'YML', 'yml'],
|
aliases: ['YAML', 'yaml', 'YML', 'yml'],
|
||||||
mimetypes: ['application/x-yaml'],
|
mimetypes: ['application/x-yaml'],
|
||||||
});
|
});
|
||||||
|
|
||||||
monaco.languages.onLanguage('yaml', () => {
|
languages.onLanguage('yaml', () => {
|
||||||
setupMode(yamlDefaults);
|
setupMode(yamlDefaults);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
88
src/monaco.d.ts
vendored
88
src/monaco.d.ts
vendored
|
|
@ -3,52 +3,56 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
declare namespace monaco.languages.yaml {
|
import { IEvent } from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
export interface DiagnosticsOptions {
|
|
||||||
/**
|
|
||||||
* If set, the validator will be enabled and perform syntax validation as well as schema based validation.
|
|
||||||
*/
|
|
||||||
readonly validate?: boolean;
|
|
||||||
|
|
||||||
/**
|
declare module 'monaco-editor/esm/vs/editor/editor.api' {
|
||||||
* A list of known schemas and/or associations of schemas to file names.
|
namespace languages.yaml {
|
||||||
*/
|
export interface DiagnosticsOptions {
|
||||||
readonly schemas?: Array<{
|
|
||||||
/**
|
/**
|
||||||
* The URI of the schema, which is also the identifier of the schema.
|
* If set, the validator will be enabled and perform syntax validation as well as schema based validation.
|
||||||
*/
|
*/
|
||||||
readonly uri: string;
|
readonly validate?: boolean;
|
||||||
/**
|
|
||||||
* A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json'
|
|
||||||
*/
|
|
||||||
readonly fileMatch?: string[];
|
|
||||||
/**
|
|
||||||
* The schema for the given URI.
|
|
||||||
*/
|
|
||||||
readonly schema?: any;
|
|
||||||
}>;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If set, the schema service would load schema content on-demand with 'fetch' if available
|
* A list of known schemas and/or associations of schemas to file names.
|
||||||
*/
|
*/
|
||||||
readonly enableSchemaRequest?: boolean;
|
readonly schemas?: Array<{
|
||||||
/**
|
/**
|
||||||
* If specified, this prefix will be added to all on demand schema requests
|
* The URI of the schema, which is also the identifier of the schema.
|
||||||
*/
|
*/
|
||||||
readonly prefix?: string;
|
readonly uri: string;
|
||||||
/**
|
/**
|
||||||
* Whether or not kubernetes yaml is supported
|
* A list of file names that are associated to the schema. The '*' wildcard can be used. For example '*.schema.json', 'package.json'
|
||||||
*/
|
*/
|
||||||
readonly isKubernetes?: boolean;
|
readonly fileMatch?: string[];
|
||||||
|
/**
|
||||||
|
* The schema for the given URI.
|
||||||
|
*/
|
||||||
|
readonly schema?: any;
|
||||||
|
}>;
|
||||||
|
|
||||||
readonly format?: boolean;
|
/**
|
||||||
|
* If set, the schema service would load schema content on-demand with 'fetch' if available
|
||||||
|
*/
|
||||||
|
readonly enableSchemaRequest?: boolean;
|
||||||
|
/**
|
||||||
|
* If specified, this prefix will be added to all on demand schema requests
|
||||||
|
*/
|
||||||
|
readonly prefix?: string;
|
||||||
|
/**
|
||||||
|
* Whether or not kubernetes yaml is supported
|
||||||
|
*/
|
||||||
|
readonly isKubernetes?: boolean;
|
||||||
|
|
||||||
|
readonly format?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LanguageServiceDefaults {
|
||||||
|
readonly onDidChange: IEvent<LanguageServiceDefaults>;
|
||||||
|
readonly diagnosticsOptions: DiagnosticsOptions;
|
||||||
|
setDiagnosticsOptions(options: DiagnosticsOptions): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const yamlDefaults: LanguageServiceDefaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface LanguageServiceDefaults {
|
|
||||||
readonly onDidChange: IEvent<LanguageServiceDefaults>;
|
|
||||||
readonly diagnosticsOptions: DiagnosticsOptions;
|
|
||||||
setDiagnosticsOptions(options: DiagnosticsOptions): void;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const yamlDefaults: LanguageServiceDefaults;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
5
src/typings/refs.d.ts
vendored
5
src/typings/refs.d.ts
vendored
|
|
@ -1,5 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
/// <reference path='../../node_modules/monaco-editor-core/monaco.d.ts'/>
|
|
||||||
|
|
@ -4,12 +4,14 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
import {
|
||||||
|
editor,
|
||||||
|
Uri,
|
||||||
|
IDisposable,
|
||||||
|
} from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
import { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
import { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
||||||
import { YAMLWorker } from './yamlWorker';
|
import { YAMLWorker } from './yamlWorker';
|
||||||
|
|
||||||
import IDisposable = monaco.IDisposable;
|
|
||||||
import Uri = monaco.Uri;
|
|
||||||
|
|
||||||
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1000; // 2min
|
||||||
|
|
||||||
export class WorkerManager {
|
export class WorkerManager {
|
||||||
|
|
@ -18,7 +20,7 @@ export class WorkerManager {
|
||||||
private _lastUsedTime: number;
|
private _lastUsedTime: number;
|
||||||
private _configChangeListener: IDisposable;
|
private _configChangeListener: IDisposable;
|
||||||
|
|
||||||
private _worker: monaco.editor.MonacoWebWorker<YAMLWorker>;
|
private _worker: editor.MonacoWebWorker<YAMLWorker>;
|
||||||
private _client: Promise<YAMLWorker>;
|
private _client: Promise<YAMLWorker>;
|
||||||
|
|
||||||
constructor(defaults: LanguageServiceDefaultsImpl) {
|
constructor(defaults: LanguageServiceDefaultsImpl) {
|
||||||
|
|
@ -71,7 +73,7 @@ export class WorkerManager {
|
||||||
this._lastUsedTime = Date.now();
|
this._lastUsedTime = Date.now();
|
||||||
|
|
||||||
if (!this._client) {
|
if (!this._client) {
|
||||||
this._worker = monaco.editor.createWebWorker<YAMLWorker>({
|
this._worker = editor.createWebWorker<YAMLWorker>({
|
||||||
// module that exports the create() method and returns a `YAMLWorker` instance
|
// module that exports the create() method and returns a `YAMLWorker` instance
|
||||||
moduleId: 'vs/language/yaml/yamlWorker',
|
moduleId: 'vs/language/yaml/yamlWorker',
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,16 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
import {
|
||||||
|
languages,
|
||||||
|
Uri,
|
||||||
|
IDisposable,
|
||||||
|
} from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
import * as languageFeatures from './languageFeatures';
|
import * as languageFeatures from './languageFeatures';
|
||||||
import { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
import { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
||||||
import { WorkerManager } from './workerManager';
|
import { WorkerManager } from './workerManager';
|
||||||
import { YAMLWorker } from './yamlWorker';
|
import { YAMLWorker } from './yamlWorker';
|
||||||
|
|
||||||
import Uri = monaco.Uri;
|
|
||||||
import IDisposable = monaco.IDisposable;
|
|
||||||
|
|
||||||
export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
||||||
const disposables: IDisposable[] = [];
|
const disposables: IDisposable[] = [];
|
||||||
|
|
||||||
|
|
@ -27,31 +29,31 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
||||||
const languageId = defaults.languageId;
|
const languageId = defaults.languageId;
|
||||||
|
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.registerCompletionItemProvider(
|
languages.registerCompletionItemProvider(
|
||||||
languageId,
|
languageId,
|
||||||
new languageFeatures.CompletionAdapter(worker)
|
new languageFeatures.CompletionAdapter(worker)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.registerHoverProvider(
|
languages.registerHoverProvider(
|
||||||
languageId,
|
languageId,
|
||||||
new languageFeatures.HoverAdapter(worker)
|
new languageFeatures.HoverAdapter(worker)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.registerDocumentSymbolProvider(
|
languages.registerDocumentSymbolProvider(
|
||||||
languageId,
|
languageId,
|
||||||
new languageFeatures.DocumentSymbolAdapter(worker)
|
new languageFeatures.DocumentSymbolAdapter(worker)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.registerDocumentFormattingEditProvider(
|
languages.registerDocumentFormattingEditProvider(
|
||||||
languageId,
|
languageId,
|
||||||
new languageFeatures.DocumentFormattingEditProvider(worker)
|
new languageFeatures.DocumentFormattingEditProvider(worker)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.registerDocumentRangeFormattingEditProvider(
|
languages.registerDocumentRangeFormattingEditProvider(
|
||||||
languageId,
|
languageId,
|
||||||
new languageFeatures.DocumentRangeFormattingEditProvider(worker)
|
new languageFeatures.DocumentRangeFormattingEditProvider(worker)
|
||||||
)
|
)
|
||||||
|
|
@ -60,14 +62,14 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
||||||
new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults)
|
new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults)
|
||||||
);
|
);
|
||||||
disposables.push(
|
disposables.push(
|
||||||
monaco.languages.setLanguageConfiguration(languageId, richEditConfiguration)
|
languages.setLanguageConfiguration(languageId, richEditConfiguration)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Color adapter should be necessary most of the time:
|
// Color adapter should be necessary most of the time:
|
||||||
// disposables.push(monaco.languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker)));
|
// disposables.push(languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker)));
|
||||||
}
|
}
|
||||||
|
|
||||||
const richEditConfiguration: monaco.languages.LanguageConfiguration = {
|
const richEditConfiguration: languages.LanguageConfiguration = {
|
||||||
comments: {
|
comments: {
|
||||||
lineComment: '#',
|
lineComment: '#',
|
||||||
},
|
},
|
||||||
|
|
@ -94,7 +96,7 @@ const richEditConfiguration: monaco.languages.LanguageConfiguration = {
|
||||||
onEnterRules: [
|
onEnterRules: [
|
||||||
{
|
{
|
||||||
beforeText: /:\s*$/,
|
beforeText: /:\s*$/,
|
||||||
action: { indentAction: monaco.languages.IndentAction.Indent },
|
action: { indentAction: languages.IndentAction.Indent },
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,7 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import Thenable = monaco.Thenable;
|
import { worker } from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
import IWorkerContext = monaco.worker.IWorkerContext;
|
|
||||||
|
|
||||||
import * as ls from 'vscode-languageserver-types';
|
import * as ls from 'vscode-languageserver-types';
|
||||||
import * as yamlService from 'yaml-language-server';
|
import * as yamlService from 'yaml-language-server';
|
||||||
|
|
||||||
|
|
@ -20,13 +18,13 @@ if (typeof fetch !== 'undefined') {
|
||||||
}
|
}
|
||||||
|
|
||||||
export class YAMLWorker {
|
export class YAMLWorker {
|
||||||
private _ctx: IWorkerContext;
|
private _ctx: worker.IWorkerContext;
|
||||||
private _languageService: yamlService.LanguageService;
|
private _languageService: yamlService.LanguageService;
|
||||||
private _languageSettings: yamlService.LanguageSettings;
|
private _languageSettings: yamlService.LanguageSettings;
|
||||||
private _languageId: string;
|
private _languageId: string;
|
||||||
private _isKubernetes: boolean;
|
private _isKubernetes: boolean;
|
||||||
|
|
||||||
constructor(ctx: IWorkerContext, createData: ICreateData) {
|
constructor(ctx: worker.IWorkerContext, createData: ICreateData) {
|
||||||
const prefix = createData.prefix || '';
|
const prefix = createData.prefix || '';
|
||||||
const service = (url: string) =>
|
const service = (url: string) =>
|
||||||
defaultSchemaRequestService(`${prefix}${url}`);
|
defaultSchemaRequestService(`${prefix}${url}`);
|
||||||
|
|
@ -46,7 +44,7 @@ export class YAMLWorker {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public doValidation(uri: string): Thenable<ls.Diagnostic[]> {
|
public doValidation(uri: string): PromiseLike<ls.Diagnostic[]> {
|
||||||
const document = this._getTextDocument(uri);
|
const document = this._getTextDocument(uri);
|
||||||
if (document) {
|
if (document) {
|
||||||
return this._languageService.doValidation(document, this._isKubernetes);
|
return this._languageService.doValidation(document, this._isKubernetes);
|
||||||
|
|
@ -57,7 +55,7 @@ export class YAMLWorker {
|
||||||
public doComplete(
|
public doComplete(
|
||||||
uri: string,
|
uri: string,
|
||||||
position: ls.Position
|
position: ls.Position
|
||||||
): Thenable<ls.CompletionList> {
|
): PromiseLike<ls.CompletionList> {
|
||||||
const document = this._getTextDocument(uri);
|
const document = this._getTextDocument(uri);
|
||||||
return this._languageService.doComplete(
|
return this._languageService.doComplete(
|
||||||
document,
|
document,
|
||||||
|
|
@ -66,11 +64,11 @@ export class YAMLWorker {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public doResolve(item: ls.CompletionItem): Thenable<ls.CompletionItem> {
|
public doResolve(item: ls.CompletionItem): PromiseLike<ls.CompletionItem> {
|
||||||
return this._languageService.doResolve(item);
|
return this._languageService.doResolve(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public doHover(uri: string, position: ls.Position): Thenable<ls.Hover> {
|
public doHover(uri: string, position: ls.Position): PromiseLike<ls.Hover> {
|
||||||
const document = this._getTextDocument(uri);
|
const document = this._getTextDocument(uri);
|
||||||
return this._languageService.doHover(document, position);
|
return this._languageService.doHover(document, position);
|
||||||
}
|
}
|
||||||
|
|
@ -79,17 +77,17 @@ export class YAMLWorker {
|
||||||
uri: string,
|
uri: string,
|
||||||
range: ls.Range,
|
range: ls.Range,
|
||||||
options: yamlService.CustomFormatterOptions
|
options: yamlService.CustomFormatterOptions
|
||||||
): Thenable<ls.TextEdit[]> {
|
): PromiseLike<ls.TextEdit[]> {
|
||||||
const document = this._getTextDocument(uri);
|
const document = this._getTextDocument(uri);
|
||||||
const textEdits = this._languageService.doFormat(document, options);
|
const textEdits = this._languageService.doFormat(document, options);
|
||||||
return Promise.resolve(textEdits);
|
return Promise.resolve(textEdits);
|
||||||
}
|
}
|
||||||
|
|
||||||
public resetSchema(uri: string): Thenable<boolean> {
|
public resetSchema(uri: string): PromiseLike<boolean> {
|
||||||
return Promise.resolve(this._languageService.resetSchema(uri));
|
return Promise.resolve(this._languageService.resetSchema(uri));
|
||||||
}
|
}
|
||||||
|
|
||||||
public findDocumentSymbols(uri: string): Thenable<ls.DocumentSymbol[]> {
|
public findDocumentSymbols(uri: string): PromiseLike<ls.DocumentSymbol[]> {
|
||||||
const document = this._getTextDocument(uri);
|
const document = this._getTextDocument(uri);
|
||||||
const symbols = this._languageService.findDocumentSymbols2(document);
|
const symbols = this._languageService.findDocumentSymbols2(document);
|
||||||
return Promise.resolve(symbols);
|
return Promise.resolve(symbols);
|
||||||
|
|
@ -120,7 +118,7 @@ export interface ICreateData {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function create(
|
export function create(
|
||||||
ctx: IWorkerContext,
|
ctx: worker.IWorkerContext,
|
||||||
createData: ICreateData
|
createData: ICreateData
|
||||||
): YAMLWorker {
|
): YAMLWorker {
|
||||||
return new YAMLWorker(ctx, createData);
|
return new YAMLWorker(ctx, createData);
|
||||||
|
|
|
||||||
13
yarn.lock
13
yarn.lock
|
|
@ -556,15 +556,10 @@ minimatch@^3.0.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
monaco-editor-core@^0.21.2:
|
monaco-editor@^0.21.3:
|
||||||
version "0.21.2"
|
version "0.21.3"
|
||||||
resolved "https://registry.yarnpkg.com/monaco-editor-core/-/monaco-editor-core-0.21.2.tgz#06e94d625bf7edc452e4d32c41a96229875001ec"
|
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.3.tgz#3381b66614b64d1c5e3b77dd5564ad496d1b4e5d"
|
||||||
integrity sha512-uYk9x50dkFsoAHmzYytS29ohDlb2JZsGowK5icwra8FYwdOy77uAq2bDCMYo6NZ4T/aKRKOnnO5S3ifaJwqaBw==
|
integrity sha512-9N7wATLpi+googstvtm6IKg97vPQ77FDYEpkow5tLriM/VJ0DaTRyUP4UVzcoH7KlPDX+e/rE7/imcOUeGkT6g==
|
||||||
|
|
||||||
monaco-editor@^0.21.2:
|
|
||||||
version "0.21.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.21.2.tgz#37054e63e480d51a2dd17d609dcfb192304d5605"
|
|
||||||
integrity sha512-jS51RLuzMaoJpYbu7F6TPuWpnWTLD4kjRW0+AZzcryvbxrTwhNy1KC9yboyKpgMTahpUbDUsuQULoo0GV1EPqg==
|
|
||||||
|
|
||||||
monaco-languages@^2.1.1:
|
monaco-languages@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue