css-variable-lsp 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +5 -9
  2. package/package.json +2 -2
  3. package/server/out/cascadeAndInline.test.js +67 -0
  4. package/server/out/cascadeAndInline.test.js.map +1 -0
  5. package/server/out/cssVariableManager.js +390 -0
  6. package/server/out/cssVariableManager.js.map +1 -0
  7. package/server/out/domTree.js +115 -0
  8. package/server/out/domTree.js.map +1 -0
  9. package/server/out/domTree.test.js +77 -0
  10. package/server/out/domTree.test.js.map +1 -0
  11. package/server/out/fileLifecycle.test.js +163 -0
  12. package/server/out/fileLifecycle.test.js.map +1 -0
  13. package/server/out/fileTypesAndUpdates.test.js +78 -0
  14. package/server/out/fileTypesAndUpdates.test.js.map +1 -0
  15. package/server/out/htmlComments.test.js +180 -0
  16. package/server/out/htmlComments.test.js.map +1 -0
  17. package/server/out/server.js +457 -0
  18. package/server/out/server.js.map +1 -0
  19. package/server/out/specificity.js +138 -0
  20. package/server/out/specificity.js.map +1 -0
  21. package/server/out/specificity.test.js +66 -0
  22. package/server/out/specificity.test.js.map +1 -0
  23. package/server/out/test.js +112 -0
  24. package/server/out/test.js.map +1 -0
  25. package/server/tsconfig.tsbuildinfo +1 -0
  26. package/client/node_modules/.package-lock.json +0 -110
  27. package/client/node_modules/@types/node/LICENSE +0 -21
  28. package/client/node_modules/@types/node/README.md +0 -15
  29. package/client/node_modules/@types/node/assert/strict.d.ts +0 -8
  30. package/client/node_modules/@types/node/assert.d.ts +0 -1005
  31. package/client/node_modules/@types/node/async_hooks.d.ts +0 -586
  32. package/client/node_modules/@types/node/buffer.buffer.d.ts +0 -457
  33. package/client/node_modules/@types/node/buffer.d.ts +0 -1901
  34. package/client/node_modules/@types/node/child_process.d.ts +0 -1453
  35. package/client/node_modules/@types/node/cluster.d.ts +0 -578
  36. package/client/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  37. package/client/node_modules/@types/node/compatibility/index.d.ts +0 -9
  38. package/client/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  39. package/client/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  40. package/client/node_modules/@types/node/console.d.ts +0 -452
  41. package/client/node_modules/@types/node/constants.d.ts +0 -21
  42. package/client/node_modules/@types/node/crypto.d.ts +0 -4504
  43. package/client/node_modules/@types/node/dgram.d.ts +0 -596
  44. package/client/node_modules/@types/node/diagnostics_channel.d.ts +0 -551
  45. package/client/node_modules/@types/node/dns/promises.d.ts +0 -477
  46. package/client/node_modules/@types/node/dns.d.ts +0 -860
  47. package/client/node_modules/@types/node/domain.d.ts +0 -170
  48. package/client/node_modules/@types/node/events.d.ts +0 -863
  49. package/client/node_modules/@types/node/fs/promises.d.ts +0 -1208
  50. package/client/node_modules/@types/node/fs.d.ts +0 -4332
  51. package/client/node_modules/@types/node/globals.d.ts +0 -170
  52. package/client/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  53. package/client/node_modules/@types/node/http.d.ts +0 -1919
  54. package/client/node_modules/@types/node/http2.d.ts +0 -2580
  55. package/client/node_modules/@types/node/https.d.ts +0 -549
  56. package/client/node_modules/@types/node/index.d.ts +0 -92
  57. package/client/node_modules/@types/node/inspector.generated.d.ts +0 -2775
  58. package/client/node_modules/@types/node/module.d.ts +0 -503
  59. package/client/node_modules/@types/node/net.d.ts +0 -924
  60. package/client/node_modules/@types/node/os.d.ts +0 -480
  61. package/client/node_modules/@types/node/package.json +0 -145
  62. package/client/node_modules/@types/node/path.d.ts +0 -191
  63. package/client/node_modules/@types/node/perf_hooks.d.ts +0 -860
  64. package/client/node_modules/@types/node/process.d.ts +0 -1632
  65. package/client/node_modules/@types/node/punycode.d.ts +0 -117
  66. package/client/node_modules/@types/node/querystring.d.ts +0 -140
  67. package/client/node_modules/@types/node/readline/promises.d.ts +0 -154
  68. package/client/node_modules/@types/node/readline.d.ts +0 -715
  69. package/client/node_modules/@types/node/repl.d.ts +0 -430
  70. package/client/node_modules/@types/node/stream/consumers.d.ts +0 -38
  71. package/client/node_modules/@types/node/stream/promises.d.ts +0 -90
  72. package/client/node_modules/@types/node/stream/web.d.ts +0 -527
  73. package/client/node_modules/@types/node/stream.d.ts +0 -1680
  74. package/client/node_modules/@types/node/string_decoder.d.ts +0 -67
  75. package/client/node_modules/@types/node/test.d.ts +0 -1208
  76. package/client/node_modules/@types/node/timers/promises.d.ts +0 -108
  77. package/client/node_modules/@types/node/timers.d.ts +0 -286
  78. package/client/node_modules/@types/node/tls.d.ts +0 -1204
  79. package/client/node_modules/@types/node/trace_events.d.ts +0 -171
  80. package/client/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -455
  81. package/client/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  82. package/client/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  83. package/client/node_modules/@types/node/tty.d.ts +0 -206
  84. package/client/node_modules/@types/node/url.d.ts +0 -957
  85. package/client/node_modules/@types/node/util.d.ts +0 -2083
  86. package/client/node_modules/@types/node/v8.d.ts +0 -753
  87. package/client/node_modules/@types/node/vm.d.ts +0 -704
  88. package/client/node_modules/@types/node/wasi.d.ts +0 -160
  89. package/client/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  90. package/client/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  91. package/client/node_modules/@types/node/web-globals/events.d.ts +0 -81
  92. package/client/node_modules/@types/node/web-globals/fetch.d.ts +0 -38
  93. package/client/node_modules/@types/node/worker_threads.d.ts +0 -698
  94. package/client/node_modules/@types/node/zlib.d.ts +0 -517
  95. package/client/node_modules/@types/vscode/LICENSE +0 -21
  96. package/client/node_modules/@types/vscode/README.md +0 -15
  97. package/client/node_modules/@types/vscode/index.d.ts +0 -21145
  98. package/client/node_modules/@types/vscode/package.json +0 -26
  99. package/client/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  100. package/client/node_modules/balanced-match/LICENSE.md +0 -21
  101. package/client/node_modules/balanced-match/README.md +0 -97
  102. package/client/node_modules/balanced-match/index.js +0 -62
  103. package/client/node_modules/balanced-match/package.json +0 -48
  104. package/client/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  105. package/client/node_modules/brace-expansion/LICENSE +0 -21
  106. package/client/node_modules/brace-expansion/README.md +0 -135
  107. package/client/node_modules/brace-expansion/index.js +0 -203
  108. package/client/node_modules/brace-expansion/package.json +0 -49
  109. package/client/node_modules/minimatch/LICENSE +0 -15
  110. package/client/node_modules/minimatch/README.md +0 -259
  111. package/client/node_modules/minimatch/lib/path.js +0 -4
  112. package/client/node_modules/minimatch/minimatch.js +0 -944
  113. package/client/node_modules/minimatch/package.json +0 -35
  114. package/client/node_modules/semver/LICENSE +0 -15
  115. package/client/node_modules/semver/README.md +0 -664
  116. package/client/node_modules/semver/bin/semver.js +0 -191
  117. package/client/node_modules/semver/classes/comparator.js +0 -143
  118. package/client/node_modules/semver/classes/index.js +0 -7
  119. package/client/node_modules/semver/classes/range.js +0 -557
  120. package/client/node_modules/semver/classes/semver.js +0 -333
  121. package/client/node_modules/semver/functions/clean.js +0 -8
  122. package/client/node_modules/semver/functions/cmp.js +0 -54
  123. package/client/node_modules/semver/functions/coerce.js +0 -62
  124. package/client/node_modules/semver/functions/compare-build.js +0 -9
  125. package/client/node_modules/semver/functions/compare-loose.js +0 -5
  126. package/client/node_modules/semver/functions/compare.js +0 -7
  127. package/client/node_modules/semver/functions/diff.js +0 -60
  128. package/client/node_modules/semver/functions/eq.js +0 -5
  129. package/client/node_modules/semver/functions/gt.js +0 -5
  130. package/client/node_modules/semver/functions/gte.js +0 -5
  131. package/client/node_modules/semver/functions/inc.js +0 -21
  132. package/client/node_modules/semver/functions/lt.js +0 -5
  133. package/client/node_modules/semver/functions/lte.js +0 -5
  134. package/client/node_modules/semver/functions/major.js +0 -5
  135. package/client/node_modules/semver/functions/minor.js +0 -5
  136. package/client/node_modules/semver/functions/neq.js +0 -5
  137. package/client/node_modules/semver/functions/parse.js +0 -18
  138. package/client/node_modules/semver/functions/patch.js +0 -5
  139. package/client/node_modules/semver/functions/prerelease.js +0 -8
  140. package/client/node_modules/semver/functions/rcompare.js +0 -5
  141. package/client/node_modules/semver/functions/rsort.js +0 -5
  142. package/client/node_modules/semver/functions/satisfies.js +0 -12
  143. package/client/node_modules/semver/functions/sort.js +0 -5
  144. package/client/node_modules/semver/functions/valid.js +0 -8
  145. package/client/node_modules/semver/index.js +0 -91
  146. package/client/node_modules/semver/internal/constants.js +0 -37
  147. package/client/node_modules/semver/internal/debug.js +0 -11
  148. package/client/node_modules/semver/internal/identifiers.js +0 -29
  149. package/client/node_modules/semver/internal/lrucache.js +0 -42
  150. package/client/node_modules/semver/internal/parse-options.js +0 -17
  151. package/client/node_modules/semver/internal/re.js +0 -223
  152. package/client/node_modules/semver/package.json +0 -78
  153. package/client/node_modules/semver/preload.js +0 -4
  154. package/client/node_modules/semver/range.bnf +0 -16
  155. package/client/node_modules/semver/ranges/gtr.js +0 -6
  156. package/client/node_modules/semver/ranges/intersects.js +0 -9
  157. package/client/node_modules/semver/ranges/ltr.js +0 -6
  158. package/client/node_modules/semver/ranges/max-satisfying.js +0 -27
  159. package/client/node_modules/semver/ranges/min-satisfying.js +0 -26
  160. package/client/node_modules/semver/ranges/min-version.js +0 -63
  161. package/client/node_modules/semver/ranges/outside.js +0 -82
  162. package/client/node_modules/semver/ranges/simplify.js +0 -49
  163. package/client/node_modules/semver/ranges/subset.js +0 -249
  164. package/client/node_modules/semver/ranges/to-comparators.js +0 -10
  165. package/client/node_modules/semver/ranges/valid.js +0 -13
  166. package/client/node_modules/undici-types/README.md +0 -6
  167. package/client/node_modules/undici-types/agent.d.ts +0 -31
  168. package/client/node_modules/undici-types/api.d.ts +0 -43
  169. package/client/node_modules/undici-types/balanced-pool.d.ts +0 -18
  170. package/client/node_modules/undici-types/cache.d.ts +0 -36
  171. package/client/node_modules/undici-types/client.d.ts +0 -97
  172. package/client/node_modules/undici-types/connector.d.ts +0 -34
  173. package/client/node_modules/undici-types/content-type.d.ts +0 -21
  174. package/client/node_modules/undici-types/cookies.d.ts +0 -28
  175. package/client/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  176. package/client/node_modules/undici-types/dispatcher.d.ts +0 -241
  177. package/client/node_modules/undici-types/errors.d.ts +0 -128
  178. package/client/node_modules/undici-types/fetch.d.ts +0 -209
  179. package/client/node_modules/undici-types/file.d.ts +0 -39
  180. package/client/node_modules/undici-types/filereader.d.ts +0 -54
  181. package/client/node_modules/undici-types/formdata.d.ts +0 -108
  182. package/client/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  183. package/client/node_modules/undici-types/global-origin.d.ts +0 -7
  184. package/client/node_modules/undici-types/handlers.d.ts +0 -9
  185. package/client/node_modules/undici-types/header.d.ts +0 -4
  186. package/client/node_modules/undici-types/index.d.ts +0 -63
  187. package/client/node_modules/undici-types/interceptors.d.ts +0 -5
  188. package/client/node_modules/undici-types/mock-agent.d.ts +0 -50
  189. package/client/node_modules/undici-types/mock-client.d.ts +0 -25
  190. package/client/node_modules/undici-types/mock-errors.d.ts +0 -12
  191. package/client/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  192. package/client/node_modules/undici-types/mock-pool.d.ts +0 -25
  193. package/client/node_modules/undici-types/package.json +0 -55
  194. package/client/node_modules/undici-types/patch.d.ts +0 -71
  195. package/client/node_modules/undici-types/pool-stats.d.ts +0 -19
  196. package/client/node_modules/undici-types/pool.d.ts +0 -28
  197. package/client/node_modules/undici-types/proxy-agent.d.ts +0 -30
  198. package/client/node_modules/undici-types/readable.d.ts +0 -61
  199. package/client/node_modules/undici-types/webidl.d.ts +0 -220
  200. package/client/node_modules/undici-types/websocket.d.ts +0 -131
  201. package/client/node_modules/vscode-jsonrpc/License.txt +0 -11
  202. package/client/node_modules/vscode-jsonrpc/README.md +0 -69
  203. package/client/node_modules/vscode-jsonrpc/browser.d.ts +0 -6
  204. package/client/node_modules/vscode-jsonrpc/browser.js +0 -7
  205. package/client/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +0 -17
  206. package/client/node_modules/vscode-jsonrpc/lib/browser/main.js +0 -76
  207. package/client/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +0 -12
  208. package/client/node_modules/vscode-jsonrpc/lib/browser/ril.js +0 -156
  209. package/client/node_modules/vscode-jsonrpc/lib/common/api.d.ts +0 -14
  210. package/client/node_modules/vscode-jsonrpc/lib/common/api.js +0 -81
  211. package/client/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +0 -32
  212. package/client/node_modules/vscode-jsonrpc/lib/common/cancellation.js +0 -96
  213. package/client/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +0 -358
  214. package/client/node_modules/vscode-jsonrpc/lib/common/connection.js +0 -1212
  215. package/client/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +0 -9
  216. package/client/node_modules/vscode-jsonrpc/lib/common/disposable.js +0 -16
  217. package/client/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +0 -52
  218. package/client/node_modules/vscode-jsonrpc/lib/common/encoding.js +0 -70
  219. package/client/node_modules/vscode-jsonrpc/lib/common/events.d.ts +0 -39
  220. package/client/node_modules/vscode-jsonrpc/lib/common/events.js +0 -128
  221. package/client/node_modules/vscode-jsonrpc/lib/common/is.d.ts +0 -7
  222. package/client/node_modules/vscode-jsonrpc/lib/common/is.js +0 -35
  223. package/client/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +0 -53
  224. package/client/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +0 -398
  225. package/client/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +0 -18
  226. package/client/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +0 -152
  227. package/client/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +0 -77
  228. package/client/node_modules/vscode-jsonrpc/lib/common/messageReader.js +0 -197
  229. package/client/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +0 -60
  230. package/client/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +0 -115
  231. package/client/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +0 -369
  232. package/client/node_modules/vscode-jsonrpc/lib/common/messages.js +0 -306
  233. package/client/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +0 -74
  234. package/client/node_modules/vscode-jsonrpc/lib/common/ral.js +0 -23
  235. package/client/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +0 -10
  236. package/client/node_modules/vscode-jsonrpc/lib/common/semaphore.js +0 -68
  237. package/client/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +0 -15
  238. package/client/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +0 -76
  239. package/client/node_modules/vscode-jsonrpc/lib/node/main.d.ts +0 -63
  240. package/client/node_modules/vscode-jsonrpc/lib/node/main.js +0 -257
  241. package/client/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +0 -13
  242. package/client/node_modules/vscode-jsonrpc/lib/node/ril.js +0 -161
  243. package/client/node_modules/vscode-jsonrpc/node.cmd +0 -5
  244. package/client/node_modules/vscode-jsonrpc/node.d.ts +0 -6
  245. package/client/node_modules/vscode-jsonrpc/node.js +0 -7
  246. package/client/node_modules/vscode-jsonrpc/package.json +0 -45
  247. package/client/node_modules/vscode-jsonrpc/thirdpartynotices.txt +0 -16
  248. package/client/node_modules/vscode-jsonrpc/typings/thenable.d.ts +0 -5
  249. package/client/node_modules/vscode-languageclient/License.txt +0 -11
  250. package/client/node_modules/vscode-languageclient/README.md +0 -17
  251. package/client/node_modules/vscode-languageclient/browser.d.ts +0 -6
  252. package/client/node_modules/vscode-languageclient/browser.js +0 -7
  253. package/client/node_modules/vscode-languageclient/lib/browser/main.d.ts +0 -8
  254. package/client/node_modules/vscode-languageclient/lib/browser/main.js +0 -37
  255. package/client/node_modules/vscode-languageclient/lib/common/api.d.ts +0 -36
  256. package/client/node_modules/vscode-languageclient/lib/common/api.js +0 -27
  257. package/client/node_modules/vscode-languageclient/lib/common/callHierarchy.d.ts +0 -37
  258. package/client/node_modules/vscode-languageclient/lib/common/callHierarchy.js +0 -97
  259. package/client/node_modules/vscode-languageclient/lib/common/client.d.ts +0 -476
  260. package/client/node_modules/vscode-languageclient/lib/common/client.js +0 -1600
  261. package/client/node_modules/vscode-languageclient/lib/common/codeAction.d.ts +0 -19
  262. package/client/node_modules/vscode-languageclient/lib/common/codeAction.js +0 -99
  263. package/client/node_modules/vscode-languageclient/lib/common/codeConverter.d.ts +0 -78
  264. package/client/node_modules/vscode-languageclient/lib/common/codeConverter.js +0 -876
  265. package/client/node_modules/vscode-languageclient/lib/common/codeLens.d.ts +0 -23
  266. package/client/node_modules/vscode-languageclient/lib/common/codeLens.js +0 -78
  267. package/client/node_modules/vscode-languageclient/lib/common/colorProvider.d.ts +0 -25
  268. package/client/node_modules/vscode-languageclient/lib/common/colorProvider.js +0 -74
  269. package/client/node_modules/vscode-languageclient/lib/common/completion.d.ts +0 -20
  270. package/client/node_modules/vscode-languageclient/lib/common/completion.js +0 -126
  271. package/client/node_modules/vscode-languageclient/lib/common/configuration.d.ts +0 -69
  272. package/client/node_modules/vscode-languageclient/lib/common/configuration.js +0 -209
  273. package/client/node_modules/vscode-languageclient/lib/common/declaration.d.ts +0 -16
  274. package/client/node_modules/vscode-languageclient/lib/common/declaration.js +0 -54
  275. package/client/node_modules/vscode-languageclient/lib/common/definition.d.ts +0 -16
  276. package/client/node_modules/vscode-languageclient/lib/common/definition.js +0 -55
  277. package/client/node_modules/vscode-languageclient/lib/common/diagnostic.d.ts +0 -122
  278. package/client/node_modules/vscode-languageclient/lib/common/diagnostic.js +0 -814
  279. package/client/node_modules/vscode-languageclient/lib/common/documentHighlight.d.ts +0 -15
  280. package/client/node_modules/vscode-languageclient/lib/common/documentHighlight.js +0 -50
  281. package/client/node_modules/vscode-languageclient/lib/common/documentLink.d.ts +0 -19
  282. package/client/node_modules/vscode-languageclient/lib/common/documentLink.js +0 -71
  283. package/client/node_modules/vscode-languageclient/lib/common/documentSymbol.d.ts +0 -17
  284. package/client/node_modules/vscode-languageclient/lib/common/documentSymbol.js +0 -104
  285. package/client/node_modules/vscode-languageclient/lib/common/executeCommand.d.ts +0 -21
  286. package/client/node_modules/vscode-languageclient/lib/common/executeCommand.js +0 -72
  287. package/client/node_modules/vscode-languageclient/lib/common/features.d.ts +0 -418
  288. package/client/node_modules/vscode-languageclient/lib/common/features.js +0 -291
  289. package/client/node_modules/vscode-languageclient/lib/common/fileOperations.d.ts +0 -116
  290. package/client/node_modules/vscode-languageclient/lib/common/fileOperations.js +0 -333
  291. package/client/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.d.ts +0 -18
  292. package/client/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.js +0 -95
  293. package/client/node_modules/vscode-languageclient/lib/common/foldingRange.d.ts +0 -19
  294. package/client/node_modules/vscode-languageclient/lib/common/foldingRange.js +0 -65
  295. package/client/node_modules/vscode-languageclient/lib/common/formatting.d.ts +0 -39
  296. package/client/node_modules/vscode-languageclient/lib/common/formatting.js +0 -182
  297. package/client/node_modules/vscode-languageclient/lib/common/hover.d.ts +0 -16
  298. package/client/node_modules/vscode-languageclient/lib/common/hover.js +0 -58
  299. package/client/node_modules/vscode-languageclient/lib/common/implementation.d.ts +0 -16
  300. package/client/node_modules/vscode-languageclient/lib/common/implementation.js +0 -54
  301. package/client/node_modules/vscode-languageclient/lib/common/inlayHint.d.ts +0 -20
  302. package/client/node_modules/vscode-languageclient/lib/common/inlayHint.js +0 -92
  303. package/client/node_modules/vscode-languageclient/lib/common/inlineCompletion.d.ts +0 -18
  304. package/client/node_modules/vscode-languageclient/lib/common/inlineCompletion.js +0 -54
  305. package/client/node_modules/vscode-languageclient/lib/common/inlineValue.d.ts +0 -18
  306. package/client/node_modules/vscode-languageclient/lib/common/inlineValue.js +0 -65
  307. package/client/node_modules/vscode-languageclient/lib/common/linkedEditingRange.d.ts +0 -21
  308. package/client/node_modules/vscode-languageclient/lib/common/linkedEditingRange.js +0 -53
  309. package/client/node_modules/vscode-languageclient/lib/common/notebook.d.ts +0 -96
  310. package/client/node_modules/vscode-languageclient/lib/common/notebook.js +0 -851
  311. package/client/node_modules/vscode-languageclient/lib/common/progress.d.ts +0 -11
  312. package/client/node_modules/vscode-languageclient/lib/common/progress.js +0 -44
  313. package/client/node_modules/vscode-languageclient/lib/common/progressPart.d.ts +0 -24
  314. package/client/node_modules/vscode-languageclient/lib/common/progressPart.js +0 -96
  315. package/client/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.d.ts +0 -6
  316. package/client/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.js +0 -16
  317. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeAction.d.ts +0 -6
  318. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeAction.js +0 -14
  319. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeLens.d.ts +0 -5
  320. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeLens.js +0 -13
  321. package/client/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.d.ts +0 -11
  322. package/client/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.js +0 -13
  323. package/client/node_modules/vscode-languageclient/lib/common/protocolConverter.d.ts +0 -167
  324. package/client/node_modules/vscode-languageclient/lib/common/protocolConverter.js +0 -1134
  325. package/client/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.d.ts +0 -18
  326. package/client/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.js +0 -25
  327. package/client/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.d.ts +0 -5
  328. package/client/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.js +0 -13
  329. package/client/node_modules/vscode-languageclient/lib/common/protocolInlayHint.d.ts +0 -5
  330. package/client/node_modules/vscode-languageclient/lib/common/protocolInlayHint.js +0 -13
  331. package/client/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.d.ts +0 -6
  332. package/client/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.js +0 -16
  333. package/client/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.d.ts +0 -7
  334. package/client/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.js +0 -18
  335. package/client/node_modules/vscode-languageclient/lib/common/reference.d.ts +0 -20
  336. package/client/node_modules/vscode-languageclient/lib/common/reference.js +0 -53
  337. package/client/node_modules/vscode-languageclient/lib/common/rename.d.ts +0 -27
  338. package/client/node_modules/vscode-languageclient/lib/common/rename.js +0 -113
  339. package/client/node_modules/vscode-languageclient/lib/common/selectionRange.d.ts +0 -16
  340. package/client/node_modules/vscode-languageclient/lib/common/selectionRange.js +0 -57
  341. package/client/node_modules/vscode-languageclient/lib/common/semanticTokens.d.ts +0 -33
  342. package/client/node_modules/vscode-languageclient/lib/common/semanticTokens.js +0 -179
  343. package/client/node_modules/vscode-languageclient/lib/common/signatureHelp.d.ts +0 -16
  344. package/client/node_modules/vscode-languageclient/lib/common/signatureHelp.js +0 -71
  345. package/client/node_modules/vscode-languageclient/lib/common/textSynchronization.d.ts +0 -101
  346. package/client/node_modules/vscode-languageclient/lib/common/textSynchronization.js +0 -402
  347. package/client/node_modules/vscode-languageclient/lib/common/typeDefinition.d.ts +0 -16
  348. package/client/node_modules/vscode-languageclient/lib/common/typeDefinition.js +0 -55
  349. package/client/node_modules/vscode-languageclient/lib/common/typeHierarchy.d.ts +0 -31
  350. package/client/node_modules/vscode-languageclient/lib/common/typeHierarchy.js +0 -96
  351. package/client/node_modules/vscode-languageclient/lib/common/utils/async.d.ts +0 -41
  352. package/client/node_modules/vscode-languageclient/lib/common/utils/async.js +0 -276
  353. package/client/node_modules/vscode-languageclient/lib/common/utils/is.d.ts +0 -12
  354. package/client/node_modules/vscode-languageclient/lib/common/utils/is.js +0 -57
  355. package/client/node_modules/vscode-languageclient/lib/common/utils/uuid.d.ts +0 -22
  356. package/client/node_modules/vscode-languageclient/lib/common/utils/uuid.js +0 -97
  357. package/client/node_modules/vscode-languageclient/lib/common/workspaceFolder.d.ts +0 -30
  358. package/client/node_modules/vscode-languageclient/lib/common/workspaceFolder.js +0 -148
  359. package/client/node_modules/vscode-languageclient/lib/common/workspaceSymbol.d.ts +0 -19
  360. package/client/node_modules/vscode-languageclient/lib/common/workspaceSymbol.js +0 -79
  361. package/client/node_modules/vscode-languageclient/lib/node/main.d.ts +0 -100
  362. package/client/node_modules/vscode-languageclient/lib/node/main.js +0 -570
  363. package/client/node_modules/vscode-languageclient/lib/node/processes.d.ts +0 -6
  364. package/client/node_modules/vscode-languageclient/lib/node/processes.js +0 -47
  365. package/client/node_modules/vscode-languageclient/lib/node/terminateProcess.sh +0 -16
  366. package/client/node_modules/vscode-languageclient/node.cmd +0 -5
  367. package/client/node_modules/vscode-languageclient/node.d.ts +0 -6
  368. package/client/node_modules/vscode-languageclient/node.js +0 -7
  369. package/client/node_modules/vscode-languageclient/package.json +0 -50
  370. package/client/node_modules/vscode-languageserver-protocol/License.txt +0 -11
  371. package/client/node_modules/vscode-languageserver-protocol/README.md +0 -16
  372. package/client/node_modules/vscode-languageserver-protocol/browser.d.ts +0 -6
  373. package/client/node_modules/vscode-languageserver-protocol/browser.js +0 -7
  374. package/client/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +0 -4
  375. package/client/node_modules/vscode-languageserver-protocol/lib/browser/main.js +0 -28
  376. package/client/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +0 -58
  377. package/client/node_modules/vscode-languageserver-protocol/lib/common/api.js +0 -77
  378. package/client/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +0 -187
  379. package/client/node_modules/vscode-languageserver-protocol/lib/common/connection.js +0 -15
  380. package/client/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +0 -51
  381. package/client/node_modules/vscode-languageserver-protocol/lib/common/messages.js +0 -44
  382. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +0 -1
  383. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +0 -43
  384. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +0 -86
  385. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +0 -42
  386. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +0 -66
  387. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +0 -32
  388. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +0 -35
  389. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +0 -24
  390. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +0 -3252
  391. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +0 -37
  392. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +0 -22
  393. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +0 -341
  394. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +0 -74
  395. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +0 -306
  396. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +0 -101
  397. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +0 -109
  398. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +0 -30
  399. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +0 -38
  400. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +0 -21
  401. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +0 -110
  402. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +0 -43
  403. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +0 -57
  404. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +0 -22
  405. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +0 -86
  406. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +0 -30
  407. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +0 -943
  408. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +0 -52
  409. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +0 -19
  410. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +0 -106
  411. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +0 -68
  412. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +0 -400
  413. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +0 -214
  414. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +0 -107
  415. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +0 -37
  416. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +0 -41
  417. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +0 -20
  418. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +0 -223
  419. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +0 -57
  420. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +0 -72
  421. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +0 -22
  422. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +0 -38
  423. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +0 -21
  424. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +0 -83
  425. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +0 -42
  426. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +0 -74
  427. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +0 -27
  428. package/client/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +0 -9
  429. package/client/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +0 -46
  430. package/client/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +0 -6
  431. package/client/node_modules/vscode-languageserver-protocol/lib/node/main.js +0 -28
  432. package/client/node_modules/vscode-languageserver-protocol/metaModel.schema.json +0 -783
  433. package/client/node_modules/vscode-languageserver-protocol/node.cmd +0 -5
  434. package/client/node_modules/vscode-languageserver-protocol/node.d.ts +0 -6
  435. package/client/node_modules/vscode-languageserver-protocol/node.js +0 -7
  436. package/client/node_modules/vscode-languageserver-protocol/package.json +0 -45
  437. package/client/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt +0 -31
  438. package/client/node_modules/vscode-languageserver-types/License.txt +0 -11
  439. package/client/node_modules/vscode-languageserver-types/README.md +0 -17
  440. package/client/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +0 -3139
  441. package/client/node_modules/vscode-languageserver-types/lib/esm/main.js +0 -2222
  442. package/client/node_modules/vscode-languageserver-types/lib/esm/package.json +0 -3
  443. package/client/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +0 -3139
  444. package/client/node_modules/vscode-languageserver-types/lib/umd/main.js +0 -2272
  445. package/client/node_modules/vscode-languageserver-types/package.json +0 -38
  446. package/client/node_modules/vscode-languageserver-types/thirdpartynotices.txt +0 -16
  447. package/client/package-lock.json +0 -125
  448. package/client/package.json +0 -42
  449. package/client/src/extension.ts +0 -56
  450. package/client/tsconfig.json +0 -12
@@ -1,851 +0,0 @@
1
- "use strict";
2
- /* --------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- * ------------------------------------------------------------------------------------------ */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.NotebookDocumentSyncFeature = void 0;
8
- const vscode = require("vscode");
9
- const minimatch = require("minimatch");
10
- const proto = require("vscode-languageserver-protocol");
11
- const UUID = require("./utils/uuid");
12
- const Is = require("./utils/is");
13
- function ensure(target, key) {
14
- if (target[key] === void 0) {
15
- target[key] = {};
16
- }
17
- return target[key];
18
- }
19
- var Converter;
20
- (function (Converter) {
21
- let c2p;
22
- (function (c2p) {
23
- function asVersionedNotebookDocumentIdentifier(notebookDocument, base) {
24
- return {
25
- version: notebookDocument.version,
26
- uri: base.asUri(notebookDocument.uri)
27
- };
28
- }
29
- c2p.asVersionedNotebookDocumentIdentifier = asVersionedNotebookDocumentIdentifier;
30
- function asNotebookDocument(notebookDocument, cells, base) {
31
- const result = proto.NotebookDocument.create(base.asUri(notebookDocument.uri), notebookDocument.notebookType, notebookDocument.version, asNotebookCells(cells, base));
32
- if (Object.keys(notebookDocument.metadata).length > 0) {
33
- result.metadata = asMetadata(notebookDocument.metadata);
34
- }
35
- return result;
36
- }
37
- c2p.asNotebookDocument = asNotebookDocument;
38
- function asNotebookCells(cells, base) {
39
- return cells.map(cell => asNotebookCell(cell, base));
40
- }
41
- c2p.asNotebookCells = asNotebookCells;
42
- function asMetadata(metadata) {
43
- const seen = new Set();
44
- return deepCopy(seen, metadata);
45
- }
46
- c2p.asMetadata = asMetadata;
47
- function asNotebookCell(cell, base) {
48
- const result = proto.NotebookCell.create(asNotebookCellKind(cell.kind), base.asUri(cell.document.uri));
49
- if (Object.keys(cell.metadata).length > 0) {
50
- result.metadata = asMetadata(cell.metadata);
51
- }
52
- if (cell.executionSummary !== undefined && (Is.number(cell.executionSummary.executionOrder) && Is.boolean(cell.executionSummary.success))) {
53
- result.executionSummary = {
54
- executionOrder: cell.executionSummary.executionOrder,
55
- success: cell.executionSummary.success
56
- };
57
- }
58
- return result;
59
- }
60
- c2p.asNotebookCell = asNotebookCell;
61
- function asNotebookCellKind(kind) {
62
- switch (kind) {
63
- case vscode.NotebookCellKind.Markup:
64
- return proto.NotebookCellKind.Markup;
65
- case vscode.NotebookCellKind.Code:
66
- return proto.NotebookCellKind.Code;
67
- }
68
- }
69
- function deepCopy(seen, value) {
70
- if (seen.has(value)) {
71
- throw new Error(`Can't deep copy cyclic structures.`);
72
- }
73
- if (Array.isArray(value)) {
74
- const result = [];
75
- for (const elem of value) {
76
- if (elem !== null && typeof elem === 'object' || Array.isArray(elem)) {
77
- result.push(deepCopy(seen, elem));
78
- }
79
- else {
80
- if (elem instanceof RegExp) {
81
- throw new Error(`Can't transfer regular expressions to the server`);
82
- }
83
- result.push(elem);
84
- }
85
- }
86
- return result;
87
- }
88
- else {
89
- const props = Object.keys(value);
90
- const result = Object.create(null);
91
- for (const prop of props) {
92
- const elem = value[prop];
93
- if (elem !== null && typeof elem === 'object' || Array.isArray(elem)) {
94
- result[prop] = deepCopy(seen, elem);
95
- }
96
- else {
97
- if (elem instanceof RegExp) {
98
- throw new Error(`Can't transfer regular expressions to the server`);
99
- }
100
- result[prop] = elem;
101
- }
102
- }
103
- return result;
104
- }
105
- }
106
- function asTextContentChange(event, base) {
107
- const params = base.asChangeTextDocumentParams(event, event.document.uri, event.document.version);
108
- return { document: params.textDocument, changes: params.contentChanges };
109
- }
110
- c2p.asTextContentChange = asTextContentChange;
111
- function asNotebookDocumentChangeEvent(event, base) {
112
- const result = Object.create(null);
113
- if (event.metadata) {
114
- result.metadata = Converter.c2p.asMetadata(event.metadata);
115
- }
116
- if (event.cells !== undefined) {
117
- const cells = Object.create(null);
118
- const changedCells = event.cells;
119
- if (changedCells.structure) {
120
- cells.structure = {
121
- array: {
122
- start: changedCells.structure.array.start,
123
- deleteCount: changedCells.structure.array.deleteCount,
124
- cells: changedCells.structure.array.cells !== undefined ? changedCells.structure.array.cells.map(cell => Converter.c2p.asNotebookCell(cell, base)) : undefined
125
- },
126
- didOpen: changedCells.structure.didOpen !== undefined
127
- ? changedCells.structure.didOpen.map(cell => base.asOpenTextDocumentParams(cell.document).textDocument)
128
- : undefined,
129
- didClose: changedCells.structure.didClose !== undefined
130
- ? changedCells.structure.didClose.map(cell => base.asCloseTextDocumentParams(cell.document).textDocument)
131
- : undefined
132
- };
133
- }
134
- if (changedCells.data !== undefined) {
135
- cells.data = changedCells.data.map(cell => Converter.c2p.asNotebookCell(cell, base));
136
- }
137
- if (changedCells.textContent !== undefined) {
138
- cells.textContent = changedCells.textContent.map(event => Converter.c2p.asTextContentChange(event, base));
139
- }
140
- if (Object.keys(cells).length > 0) {
141
- result.cells = cells;
142
- }
143
- }
144
- return result;
145
- }
146
- c2p.asNotebookDocumentChangeEvent = asNotebookDocumentChangeEvent;
147
- })(c2p = Converter.c2p || (Converter.c2p = {}));
148
- })(Converter || (Converter = {}));
149
- var $NotebookCell;
150
- (function ($NotebookCell) {
151
- function computeDiff(originalCells, modifiedCells, compareMetadata) {
152
- const originalLength = originalCells.length;
153
- const modifiedLength = modifiedCells.length;
154
- let startIndex = 0;
155
- while (startIndex < modifiedLength && startIndex < originalLength && equals(originalCells[startIndex], modifiedCells[startIndex], compareMetadata)) {
156
- startIndex++;
157
- }
158
- if (startIndex < modifiedLength && startIndex < originalLength) {
159
- let originalEndIndex = originalLength - 1;
160
- let modifiedEndIndex = modifiedLength - 1;
161
- while (originalEndIndex >= 0 && modifiedEndIndex >= 0 && equals(originalCells[originalEndIndex], modifiedCells[modifiedEndIndex], compareMetadata)) {
162
- originalEndIndex--;
163
- modifiedEndIndex--;
164
- }
165
- const deleteCount = (originalEndIndex + 1) - startIndex;
166
- const newCells = startIndex === modifiedEndIndex + 1 ? undefined : modifiedCells.slice(startIndex, modifiedEndIndex + 1);
167
- return newCells !== undefined ? { start: startIndex, deleteCount, cells: newCells } : { start: startIndex, deleteCount };
168
- }
169
- else if (startIndex < modifiedLength) {
170
- return { start: startIndex, deleteCount: 0, cells: modifiedCells.slice(startIndex) };
171
- }
172
- else if (startIndex < originalLength) {
173
- return { start: startIndex, deleteCount: originalLength - startIndex };
174
- }
175
- else {
176
- // The two arrays are the same.
177
- return undefined;
178
- }
179
- }
180
- $NotebookCell.computeDiff = computeDiff;
181
- /**
182
- * We only sync kind, document, execution and metadata to the server. So we only need to compare those.
183
- */
184
- function equals(one, other, compareMetaData = true) {
185
- if (one.kind !== other.kind || one.document.uri.toString() !== other.document.uri.toString() || one.document.languageId !== other.document.languageId ||
186
- !equalsExecution(one.executionSummary, other.executionSummary)) {
187
- return false;
188
- }
189
- return !compareMetaData || (compareMetaData && equalsMetadata(one.metadata, other.metadata));
190
- }
191
- function equalsExecution(one, other) {
192
- if (one === other) {
193
- return true;
194
- }
195
- if (one === undefined || other === undefined) {
196
- return false;
197
- }
198
- return one.executionOrder === other.executionOrder && one.success === other.success && equalsTiming(one.timing, other.timing);
199
- }
200
- function equalsTiming(one, other) {
201
- if (one === other) {
202
- return true;
203
- }
204
- if (one === undefined || other === undefined) {
205
- return false;
206
- }
207
- return one.startTime === other.startTime && one.endTime === other.endTime;
208
- }
209
- function equalsMetadata(one, other) {
210
- if (one === other) {
211
- return true;
212
- }
213
- if (one === null || one === undefined || other === null || other === undefined) {
214
- return false;
215
- }
216
- if (typeof one !== typeof other) {
217
- return false;
218
- }
219
- if (typeof one !== 'object') {
220
- return false;
221
- }
222
- const oneArray = Array.isArray(one);
223
- const otherArray = Array.isArray(other);
224
- if (oneArray !== otherArray) {
225
- return false;
226
- }
227
- if (oneArray && otherArray) {
228
- if (one.length !== other.length) {
229
- return false;
230
- }
231
- for (let i = 0; i < one.length; i++) {
232
- if (!equalsMetadata(one[i], other[i])) {
233
- return false;
234
- }
235
- }
236
- }
237
- if (isObjectLiteral(one) && isObjectLiteral(other)) {
238
- const oneKeys = Object.keys(one);
239
- const otherKeys = Object.keys(other);
240
- if (oneKeys.length !== otherKeys.length) {
241
- return false;
242
- }
243
- oneKeys.sort();
244
- otherKeys.sort();
245
- if (!equalsMetadata(oneKeys, otherKeys)) {
246
- return false;
247
- }
248
- for (let i = 0; i < oneKeys.length; i++) {
249
- const prop = oneKeys[i];
250
- if (!equalsMetadata(one[prop], other[prop])) {
251
- return false;
252
- }
253
- }
254
- return true;
255
- }
256
- return false;
257
- }
258
- function isObjectLiteral(value) {
259
- return value !== null && typeof value === 'object';
260
- }
261
- $NotebookCell.isObjectLiteral = isObjectLiteral;
262
- })($NotebookCell || ($NotebookCell = {}));
263
- var $NotebookDocumentFilter;
264
- (function ($NotebookDocumentFilter) {
265
- function matchNotebook(filter, notebookDocument) {
266
- if (typeof filter === 'string') {
267
- return filter === '*' || notebookDocument.notebookType === filter;
268
- }
269
- if (filter.notebookType !== undefined && filter.notebookType !== '*' && notebookDocument.notebookType !== filter.notebookType) {
270
- return false;
271
- }
272
- const uri = notebookDocument.uri;
273
- if (filter.scheme !== undefined && filter.scheme !== '*' && uri.scheme !== filter.scheme) {
274
- return false;
275
- }
276
- if (filter.pattern !== undefined) {
277
- const matcher = new minimatch.Minimatch(filter.pattern, { noext: true });
278
- if (!matcher.makeRe()) {
279
- return false;
280
- }
281
- if (!matcher.match(uri.fsPath)) {
282
- return false;
283
- }
284
- }
285
- return true;
286
- }
287
- $NotebookDocumentFilter.matchNotebook = matchNotebook;
288
- })($NotebookDocumentFilter || ($NotebookDocumentFilter = {}));
289
- var $NotebookDocumentSyncOptions;
290
- (function ($NotebookDocumentSyncOptions) {
291
- function asDocumentSelector(options) {
292
- const selector = options.notebookSelector;
293
- const result = [];
294
- for (const element of selector) {
295
- const notebookType = (typeof element.notebook === 'string' ? element.notebook : element.notebook?.notebookType) ?? '*';
296
- const scheme = (typeof element.notebook === 'string') ? undefined : element.notebook?.scheme;
297
- const pattern = (typeof element.notebook === 'string') ? undefined : element.notebook?.pattern;
298
- if (element.cells !== undefined) {
299
- for (const cell of element.cells) {
300
- result.push(asDocumentFilter(notebookType, scheme, pattern, cell.language));
301
- }
302
- }
303
- else {
304
- result.push(asDocumentFilter(notebookType, scheme, pattern, undefined));
305
- }
306
- }
307
- return result;
308
- }
309
- $NotebookDocumentSyncOptions.asDocumentSelector = asDocumentSelector;
310
- function asDocumentFilter(notebookType, scheme, pattern, language) {
311
- return scheme === undefined && pattern === undefined
312
- ? { notebook: notebookType, language }
313
- : { notebook: { notebookType, scheme, pattern }, language };
314
- }
315
- })($NotebookDocumentSyncOptions || ($NotebookDocumentSyncOptions = {}));
316
- var SyncInfo;
317
- (function (SyncInfo) {
318
- function create(cells) {
319
- return {
320
- cells,
321
- uris: new Set(cells.map(cell => cell.document.uri.toString()))
322
- };
323
- }
324
- SyncInfo.create = create;
325
- })(SyncInfo || (SyncInfo = {}));
326
- class NotebookDocumentSyncFeatureProvider {
327
- constructor(client, options) {
328
- this.client = client;
329
- this.options = options;
330
- this.notebookSyncInfo = new Map();
331
- this.notebookDidOpen = new Set();
332
- this.disposables = [];
333
- this.selector = client.protocol2CodeConverter.asDocumentSelector($NotebookDocumentSyncOptions.asDocumentSelector(options));
334
- // open
335
- vscode.workspace.onDidOpenNotebookDocument((notebookDocument) => {
336
- this.notebookDidOpen.add(notebookDocument.uri.toString());
337
- this.didOpen(notebookDocument);
338
- }, undefined, this.disposables);
339
- for (const notebookDocument of vscode.workspace.notebookDocuments) {
340
- this.notebookDidOpen.add(notebookDocument.uri.toString());
341
- this.didOpen(notebookDocument);
342
- }
343
- // Notebook document changed.
344
- vscode.workspace.onDidChangeNotebookDocument(event => this.didChangeNotebookDocument(event), undefined, this.disposables);
345
- //save
346
- if (this.options.save === true) {
347
- vscode.workspace.onDidSaveNotebookDocument(notebookDocument => this.didSave(notebookDocument), undefined, this.disposables);
348
- }
349
- // close
350
- vscode.workspace.onDidCloseNotebookDocument((notebookDocument) => {
351
- this.didClose(notebookDocument);
352
- this.notebookDidOpen.delete(notebookDocument.uri.toString());
353
- }, undefined, this.disposables);
354
- }
355
- getState() {
356
- for (const notebook of vscode.workspace.notebookDocuments) {
357
- const matchingCells = this.getMatchingCells(notebook);
358
- if (matchingCells !== undefined) {
359
- return { kind: 'document', id: '$internal', registrations: true, matches: true };
360
- }
361
- }
362
- return { kind: 'document', id: '$internal', registrations: true, matches: false };
363
- }
364
- get mode() {
365
- return 'notebook';
366
- }
367
- handles(textDocument) {
368
- return vscode.languages.match(this.selector, textDocument) > 0;
369
- }
370
- didOpenNotebookCellTextDocument(notebookDocument, cell) {
371
- if (vscode.languages.match(this.selector, cell.document) === 0) {
372
- return;
373
- }
374
- if (!this.notebookDidOpen.has(notebookDocument.uri.toString())) {
375
- // We have never received an open notification for the notebook document.
376
- // VS Code guarantees that we first get cell document open and then
377
- // notebook open. So simply wait for the notebook open.
378
- return;
379
- }
380
- const syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString());
381
- // In VS Code we receive a notebook open before a cell document open.
382
- // The document and the cell is synced.
383
- const cellMatches = this.cellMatches(notebookDocument, cell);
384
- if (syncInfo !== undefined) {
385
- const cellIsSynced = syncInfo.uris.has(cell.document.uri.toString());
386
- if ((cellMatches && cellIsSynced) || (!cellMatches && !cellIsSynced)) {
387
- // The cell doesn't match and was not synced or it matches and is synced.
388
- // In both cases nothing to do.
389
- //
390
- // Note that if the language mode of a document changes we remove the
391
- // cell and add it back to update the language mode on the server side.
392
- return;
393
- }
394
- if (cellMatches) {
395
- // don't use cells from above since there might be more matching cells in the notebook
396
- // Since we had a matching cell above we will have matching cells now.
397
- const matchingCells = this.getMatchingCells(notebookDocument);
398
- if (matchingCells !== undefined) {
399
- const event = this.asNotebookDocumentChangeEvent(notebookDocument, undefined, syncInfo, matchingCells);
400
- if (event !== undefined) {
401
- this.doSendChange(event, matchingCells).catch(() => { });
402
- }
403
- }
404
- }
405
- }
406
- else {
407
- // No sync info. But we have a open event for the notebook document
408
- // itself. If the cell matches then we need to send an open with
409
- // exactly that cell.
410
- if (cellMatches) {
411
- this.doSendOpen(notebookDocument, [cell]).catch(() => { });
412
- }
413
- }
414
- }
415
- didChangeNotebookCellTextDocument(notebookDocument, event) {
416
- // No match with the selector
417
- if (vscode.languages.match(this.selector, event.document) === 0) {
418
- return;
419
- }
420
- this.doSendChange({
421
- notebook: notebookDocument,
422
- cells: { textContent: [event] }
423
- }, undefined).catch(() => { });
424
- }
425
- didCloseNotebookCellTextDocument(notebookDocument, cell) {
426
- const syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString());
427
- if (syncInfo === undefined) {
428
- // The notebook document got never synced. So it doesn't matter if a cell
429
- // document closes.
430
- return;
431
- }
432
- const cellUri = cell.document.uri;
433
- const index = syncInfo.cells.findIndex((item) => item.document.uri.toString() === cellUri.toString());
434
- if (index === -1) {
435
- // The cell never got synced or it got deleted and we now received the document
436
- // close event.
437
- return;
438
- }
439
- if (index === 0 && syncInfo.cells.length === 1) {
440
- // The last cell. Close the notebook document in the server.
441
- this.doSendClose(notebookDocument, syncInfo.cells).catch(() => { });
442
- }
443
- else {
444
- const newCells = syncInfo.cells.slice();
445
- const deleted = newCells.splice(index, 1);
446
- this.doSendChange({
447
- notebook: notebookDocument,
448
- cells: {
449
- structure: {
450
- array: { start: index, deleteCount: 1 },
451
- didClose: deleted
452
- }
453
- }
454
- }, newCells).catch(() => { });
455
- }
456
- }
457
- dispose() {
458
- for (const disposable of this.disposables) {
459
- disposable.dispose();
460
- }
461
- }
462
- didOpen(notebookDocument, matchingCells = this.getMatchingCells(notebookDocument), syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString())) {
463
- if (syncInfo !== undefined) {
464
- if (matchingCells !== undefined) {
465
- const event = this.asNotebookDocumentChangeEvent(notebookDocument, undefined, syncInfo, matchingCells);
466
- if (event !== undefined) {
467
- this.doSendChange(event, matchingCells).catch(() => { });
468
- }
469
- }
470
- else {
471
- this.doSendClose(notebookDocument, []).catch(() => { });
472
- }
473
- }
474
- else {
475
- // Check if we need to sync the notebook document.
476
- if (matchingCells === undefined) {
477
- return;
478
- }
479
- this.doSendOpen(notebookDocument, matchingCells).catch(() => { });
480
- }
481
- }
482
- didChangeNotebookDocument(event) {
483
- const notebookDocument = event.notebook;
484
- const syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString());
485
- if (syncInfo === undefined) {
486
- // We have no changes to the cells. Since the notebook wasn't synced
487
- // it will not be synced now.
488
- if (event.contentChanges.length === 0) {
489
- return;
490
- }
491
- // Check if we have new matching cells.
492
- const cells = this.getMatchingCells(notebookDocument);
493
- // No matching cells and the notebook never synced. So still no need
494
- // to sync it.
495
- if (cells === undefined) {
496
- return;
497
- }
498
- // Open the notebook document and ignore the rest of the changes
499
- // this the notebooks will be synced with the correct settings.
500
- this.didOpen(notebookDocument, cells, syncInfo);
501
- }
502
- else {
503
- // The notebook is synced. First check if we have no matching
504
- // cells anymore and if so close the notebook
505
- const cells = this.getMatchingCells(notebookDocument);
506
- if (cells === undefined) {
507
- this.didClose(notebookDocument, syncInfo);
508
- return;
509
- }
510
- const newEvent = this.asNotebookDocumentChangeEvent(event.notebook, event, syncInfo, cells);
511
- if (newEvent !== undefined) {
512
- this.doSendChange(newEvent, cells).catch(() => { });
513
- }
514
- }
515
- }
516
- didSave(notebookDocument) {
517
- const syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString());
518
- if (syncInfo === undefined) {
519
- return;
520
- }
521
- this.doSendSave(notebookDocument).catch(() => { });
522
- }
523
- didClose(notebookDocument, syncInfo = this.notebookSyncInfo.get(notebookDocument.uri.toString())) {
524
- if (syncInfo === undefined) {
525
- return;
526
- }
527
- const syncedCells = notebookDocument.getCells().filter(cell => syncInfo.uris.has(cell.document.uri.toString()));
528
- this.doSendClose(notebookDocument, syncedCells).catch(() => { });
529
- }
530
- async sendDidOpenNotebookDocument(notebookDocument) {
531
- const cells = this.getMatchingCells(notebookDocument);
532
- if (cells === undefined) {
533
- return;
534
- }
535
- return this.doSendOpen(notebookDocument, cells);
536
- }
537
- async doSendOpen(notebookDocument, cells) {
538
- const send = async (notebookDocument, cells) => {
539
- const nb = Converter.c2p.asNotebookDocument(notebookDocument, cells, this.client.code2ProtocolConverter);
540
- const cellDocuments = cells.map(cell => this.client.code2ProtocolConverter.asTextDocumentItem(cell.document));
541
- try {
542
- await this.client.sendNotification(proto.DidOpenNotebookDocumentNotification.type, {
543
- notebookDocument: nb,
544
- cellTextDocuments: cellDocuments
545
- });
546
- }
547
- catch (error) {
548
- this.client.error('Sending DidOpenNotebookDocumentNotification failed', error);
549
- throw error;
550
- }
551
- };
552
- const middleware = this.client.middleware?.notebooks;
553
- this.notebookSyncInfo.set(notebookDocument.uri.toString(), SyncInfo.create(cells));
554
- return middleware?.didOpen !== undefined ? middleware.didOpen(notebookDocument, cells, send) : send(notebookDocument, cells);
555
- }
556
- async sendDidChangeNotebookDocument(event) {
557
- return this.doSendChange(event, undefined);
558
- }
559
- async doSendChange(event, cells = this.getMatchingCells(event.notebook)) {
560
- const send = async (event) => {
561
- try {
562
- await this.client.sendNotification(proto.DidChangeNotebookDocumentNotification.type, {
563
- notebookDocument: Converter.c2p.asVersionedNotebookDocumentIdentifier(event.notebook, this.client.code2ProtocolConverter),
564
- change: Converter.c2p.asNotebookDocumentChangeEvent(event, this.client.code2ProtocolConverter)
565
- });
566
- }
567
- catch (error) {
568
- this.client.error('Sending DidChangeNotebookDocumentNotification failed', error);
569
- throw error;
570
- }
571
- };
572
- const middleware = this.client.middleware?.notebooks;
573
- if (event.cells?.structure !== undefined) {
574
- this.notebookSyncInfo.set(event.notebook.uri.toString(), SyncInfo.create(cells ?? []));
575
- }
576
- return middleware?.didChange !== undefined ? middleware?.didChange(event, send) : send(event);
577
- }
578
- async sendDidSaveNotebookDocument(notebookDocument) {
579
- return this.doSendSave(notebookDocument);
580
- }
581
- async doSendSave(notebookDocument) {
582
- const send = async (notebookDocument) => {
583
- try {
584
- await this.client.sendNotification(proto.DidSaveNotebookDocumentNotification.type, {
585
- notebookDocument: { uri: this.client.code2ProtocolConverter.asUri(notebookDocument.uri) }
586
- });
587
- }
588
- catch (error) {
589
- this.client.error('Sending DidSaveNotebookDocumentNotification failed', error);
590
- throw error;
591
- }
592
- };
593
- const middleware = this.client.middleware?.notebooks;
594
- return middleware?.didSave !== undefined ? middleware.didSave(notebookDocument, send) : send(notebookDocument);
595
- }
596
- async sendDidCloseNotebookDocument(notebookDocument) {
597
- return this.doSendClose(notebookDocument, this.getMatchingCells(notebookDocument) ?? []);
598
- }
599
- async doSendClose(notebookDocument, cells) {
600
- const send = async (notebookDocument, cells) => {
601
- try {
602
- await this.client.sendNotification(proto.DidCloseNotebookDocumentNotification.type, {
603
- notebookDocument: { uri: this.client.code2ProtocolConverter.asUri(notebookDocument.uri) },
604
- cellTextDocuments: cells.map(cell => this.client.code2ProtocolConverter.asTextDocumentIdentifier(cell.document))
605
- });
606
- }
607
- catch (error) {
608
- this.client.error('Sending DidCloseNotebookDocumentNotification failed', error);
609
- throw error;
610
- }
611
- };
612
- const middleware = this.client.middleware?.notebooks;
613
- this.notebookSyncInfo.delete(notebookDocument.uri.toString());
614
- return middleware?.didClose !== undefined ? middleware.didClose(notebookDocument, cells, send) : send(notebookDocument, cells);
615
- }
616
- asNotebookDocumentChangeEvent(notebook, event, syncInfo, matchingCells) {
617
- if (event !== undefined && event.notebook !== notebook) {
618
- throw new Error('Notebook must be identical');
619
- }
620
- const result = {
621
- notebook: notebook
622
- };
623
- if (event?.metadata !== undefined) {
624
- result.metadata = Converter.c2p.asMetadata(event.metadata);
625
- }
626
- let matchingCellsSet;
627
- if (event?.cellChanges !== undefined && event.cellChanges.length > 0) {
628
- const data = [];
629
- // Only consider the new matching cells.
630
- matchingCellsSet = new Set(matchingCells.map(cell => cell.document.uri.toString()));
631
- for (const cellChange of event.cellChanges) {
632
- if (matchingCellsSet.has(cellChange.cell.document.uri.toString()) && (cellChange.executionSummary !== undefined || cellChange.metadata !== undefined)) {
633
- data.push(cellChange.cell);
634
- }
635
- }
636
- if (data.length > 0) {
637
- result.cells = result.cells ?? {};
638
- result.cells.data = data;
639
- }
640
- }
641
- if (((event?.contentChanges !== undefined && event.contentChanges.length > 0) || event === undefined) && syncInfo !== undefined && matchingCells !== undefined) {
642
- // We still have matching cells. Check if the cell changes
643
- // affect the notebook on the server side.
644
- const oldCells = syncInfo.cells;
645
- const newCells = matchingCells;
646
- // meta data changes are reported using on the cell itself. So we can ignore comparing
647
- // it which has a positive effect on performance.
648
- const diff = $NotebookCell.computeDiff(oldCells, newCells, false);
649
- let addedCells;
650
- let removedCells;
651
- if (diff !== undefined) {
652
- addedCells = diff.cells === undefined
653
- ? new Map()
654
- : new Map(diff.cells.map(cell => [cell.document.uri.toString(), cell]));
655
- removedCells = diff.deleteCount === 0
656
- ? new Map()
657
- : new Map(oldCells.slice(diff.start, diff.start + diff.deleteCount).map(cell => [cell.document.uri.toString(), cell]));
658
- // Remove the onces that got deleted and inserted again.
659
- for (const key of Array.from(removedCells.keys())) {
660
- if (addedCells.has(key)) {
661
- removedCells.delete(key);
662
- addedCells.delete(key);
663
- }
664
- }
665
- result.cells = result.cells ?? {};
666
- const didOpen = [];
667
- const didClose = [];
668
- if (addedCells.size > 0 || removedCells.size > 0) {
669
- for (const cell of addedCells.values()) {
670
- didOpen.push(cell);
671
- }
672
- for (const cell of removedCells.values()) {
673
- didClose.push(cell);
674
- }
675
- }
676
- result.cells.structure = {
677
- array: diff,
678
- didOpen,
679
- didClose
680
- };
681
- }
682
- }
683
- // The notebook is a property as well.
684
- return Object.keys(result).length > 1 ? result : undefined;
685
- }
686
- getMatchingCells(notebookDocument, cells = notebookDocument.getCells()) {
687
- if (this.options.notebookSelector === undefined) {
688
- return undefined;
689
- }
690
- for (const item of this.options.notebookSelector) {
691
- if (item.notebook === undefined || $NotebookDocumentFilter.matchNotebook(item.notebook, notebookDocument)) {
692
- const filtered = this.filterCells(notebookDocument, cells, item.cells);
693
- return filtered.length === 0 ? undefined : filtered;
694
- }
695
- }
696
- return undefined;
697
- }
698
- cellMatches(notebookDocument, cell) {
699
- const cells = this.getMatchingCells(notebookDocument, [cell]);
700
- return cells !== undefined && cells[0] === cell;
701
- }
702
- filterCells(notebookDocument, cells, cellSelector) {
703
- const filtered = cellSelector !== undefined ? cells.filter((cell) => {
704
- const cellLanguage = cell.document.languageId;
705
- return cellSelector.some((filter => (filter.language === '*' || cellLanguage === filter.language)));
706
- }) : cells;
707
- return typeof this.client.clientOptions.notebookDocumentOptions?.filterCells === 'function'
708
- ? this.client.clientOptions.notebookDocumentOptions.filterCells(notebookDocument, filtered)
709
- : filtered;
710
- }
711
- }
712
- class NotebookDocumentSyncFeature {
713
- constructor(client) {
714
- this.client = client;
715
- this.registrations = new Map();
716
- this.registrationType = proto.NotebookDocumentSyncRegistrationType.type;
717
- // We don't receive an event for cells where the document changes its language mode
718
- // Since we allow servers to filter on the language mode we fire such an event ourselves.
719
- vscode.workspace.onDidOpenTextDocument((textDocument) => {
720
- if (textDocument.uri.scheme !== NotebookDocumentSyncFeature.CellScheme) {
721
- return;
722
- }
723
- const [notebookDocument, notebookCell] = this.findNotebookDocumentAndCell(textDocument);
724
- if (notebookDocument === undefined || notebookCell === undefined) {
725
- return;
726
- }
727
- for (const provider of this.registrations.values()) {
728
- if (provider instanceof NotebookDocumentSyncFeatureProvider) {
729
- provider.didOpenNotebookCellTextDocument(notebookDocument, notebookCell);
730
- }
731
- }
732
- });
733
- vscode.workspace.onDidChangeTextDocument((event) => {
734
- if (event.contentChanges.length === 0) {
735
- return;
736
- }
737
- const textDocument = event.document;
738
- if (textDocument.uri.scheme !== NotebookDocumentSyncFeature.CellScheme) {
739
- return;
740
- }
741
- const [notebookDocument,] = this.findNotebookDocumentAndCell(textDocument);
742
- if (notebookDocument === undefined) {
743
- return;
744
- }
745
- for (const provider of this.registrations.values()) {
746
- if (provider instanceof NotebookDocumentSyncFeatureProvider) {
747
- provider.didChangeNotebookCellTextDocument(notebookDocument, event);
748
- }
749
- }
750
- });
751
- vscode.workspace.onDidCloseTextDocument((textDocument) => {
752
- if (textDocument.uri.scheme !== NotebookDocumentSyncFeature.CellScheme) {
753
- return;
754
- }
755
- // There are two cases when we receive a close for a text document
756
- // 1: the cell got removed. This is handled in `onDidChangeNotebookCells`
757
- // 2: the language mode of a cell changed. This keeps the URI stable so
758
- // we will still find the cell and the notebook document.
759
- const [notebookDocument, notebookCell] = this.findNotebookDocumentAndCell(textDocument);
760
- if (notebookDocument === undefined || notebookCell === undefined) {
761
- return;
762
- }
763
- for (const provider of this.registrations.values()) {
764
- if (provider instanceof NotebookDocumentSyncFeatureProvider) {
765
- provider.didCloseNotebookCellTextDocument(notebookDocument, notebookCell);
766
- }
767
- }
768
- });
769
- }
770
- getState() {
771
- if (this.registrations.size === 0) {
772
- return { kind: 'document', id: this.registrationType.method, registrations: false, matches: false };
773
- }
774
- for (const provider of this.registrations.values()) {
775
- const state = provider.getState();
776
- if (state.kind === 'document' && state.registrations === true && state.matches === true) {
777
- return { kind: 'document', id: this.registrationType.method, registrations: true, matches: true };
778
- }
779
- }
780
- return { kind: 'document', id: this.registrationType.method, registrations: true, matches: false };
781
- }
782
- fillClientCapabilities(capabilities) {
783
- const synchronization = ensure(ensure(capabilities, 'notebookDocument'), 'synchronization');
784
- synchronization.dynamicRegistration = true;
785
- synchronization.executionSummarySupport = true;
786
- }
787
- preInitialize(capabilities) {
788
- const options = capabilities.notebookDocumentSync;
789
- if (options === undefined) {
790
- return;
791
- }
792
- this.dedicatedChannel = this.client.protocol2CodeConverter.asDocumentSelector($NotebookDocumentSyncOptions.asDocumentSelector(options));
793
- }
794
- initialize(capabilities) {
795
- const options = capabilities.notebookDocumentSync;
796
- if (options === undefined) {
797
- return;
798
- }
799
- const id = options.id ?? UUID.generateUuid();
800
- this.register({ id, registerOptions: options });
801
- }
802
- register(data) {
803
- const provider = new NotebookDocumentSyncFeatureProvider(this.client, data.registerOptions);
804
- this.registrations.set(data.id, provider);
805
- }
806
- unregister(id) {
807
- const provider = this.registrations.get(id);
808
- provider && provider.dispose();
809
- }
810
- clear() {
811
- for (const provider of this.registrations.values()) {
812
- provider.dispose();
813
- }
814
- this.registrations.clear();
815
- }
816
- handles(textDocument) {
817
- if (textDocument.uri.scheme !== NotebookDocumentSyncFeature.CellScheme) {
818
- return false;
819
- }
820
- if (this.dedicatedChannel !== undefined && vscode.languages.match(this.dedicatedChannel, textDocument) > 0) {
821
- return true;
822
- }
823
- for (const provider of this.registrations.values()) {
824
- if (provider.handles(textDocument)) {
825
- return true;
826
- }
827
- }
828
- return false;
829
- }
830
- getProvider(notebookCell) {
831
- for (const provider of this.registrations.values()) {
832
- if (provider.handles(notebookCell.document)) {
833
- return provider;
834
- }
835
- }
836
- return undefined;
837
- }
838
- findNotebookDocumentAndCell(textDocument) {
839
- const uri = textDocument.uri.toString();
840
- for (const notebookDocument of vscode.workspace.notebookDocuments) {
841
- for (const cell of notebookDocument.getCells()) {
842
- if (cell.document.uri.toString() === uri) {
843
- return [notebookDocument, cell];
844
- }
845
- }
846
- }
847
- return [undefined, undefined];
848
- }
849
- }
850
- exports.NotebookDocumentSyncFeature = NotebookDocumentSyncFeature;
851
- NotebookDocumentSyncFeature.CellScheme = 'vscode-notebook-cell';