css-variable-lsp 1.0.0 → 1.0.2

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 (454) hide show
  1. package/README.md +5 -9
  2. package/package.json +5 -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/src/server.js +1 -0
  18. package/server/out/server/src/server.js.map +1 -1
  19. package/server/out/server.js +458 -0
  20. package/server/out/server.js.map +1 -0
  21. package/server/out/specificity.js +138 -0
  22. package/server/out/specificity.js.map +1 -0
  23. package/server/out/specificity.test.js +66 -0
  24. package/server/out/specificity.test.js.map +1 -0
  25. package/server/out/test.js +112 -0
  26. package/server/out/test.js.map +1 -0
  27. package/server/out/tsconfig.tsbuildinfo +1 -1
  28. package/server/src/server.ts +2 -0
  29. package/server/tsconfig.tsbuildinfo +1 -0
  30. package/client/node_modules/.package-lock.json +0 -110
  31. package/client/node_modules/@types/node/LICENSE +0 -21
  32. package/client/node_modules/@types/node/README.md +0 -15
  33. package/client/node_modules/@types/node/assert/strict.d.ts +0 -8
  34. package/client/node_modules/@types/node/assert.d.ts +0 -1005
  35. package/client/node_modules/@types/node/async_hooks.d.ts +0 -586
  36. package/client/node_modules/@types/node/buffer.buffer.d.ts +0 -457
  37. package/client/node_modules/@types/node/buffer.d.ts +0 -1901
  38. package/client/node_modules/@types/node/child_process.d.ts +0 -1453
  39. package/client/node_modules/@types/node/cluster.d.ts +0 -578
  40. package/client/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  41. package/client/node_modules/@types/node/compatibility/index.d.ts +0 -9
  42. package/client/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  43. package/client/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  44. package/client/node_modules/@types/node/console.d.ts +0 -452
  45. package/client/node_modules/@types/node/constants.d.ts +0 -21
  46. package/client/node_modules/@types/node/crypto.d.ts +0 -4504
  47. package/client/node_modules/@types/node/dgram.d.ts +0 -596
  48. package/client/node_modules/@types/node/diagnostics_channel.d.ts +0 -551
  49. package/client/node_modules/@types/node/dns/promises.d.ts +0 -477
  50. package/client/node_modules/@types/node/dns.d.ts +0 -860
  51. package/client/node_modules/@types/node/domain.d.ts +0 -170
  52. package/client/node_modules/@types/node/events.d.ts +0 -863
  53. package/client/node_modules/@types/node/fs/promises.d.ts +0 -1208
  54. package/client/node_modules/@types/node/fs.d.ts +0 -4332
  55. package/client/node_modules/@types/node/globals.d.ts +0 -170
  56. package/client/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  57. package/client/node_modules/@types/node/http.d.ts +0 -1919
  58. package/client/node_modules/@types/node/http2.d.ts +0 -2580
  59. package/client/node_modules/@types/node/https.d.ts +0 -549
  60. package/client/node_modules/@types/node/index.d.ts +0 -92
  61. package/client/node_modules/@types/node/inspector.generated.d.ts +0 -2775
  62. package/client/node_modules/@types/node/module.d.ts +0 -503
  63. package/client/node_modules/@types/node/net.d.ts +0 -924
  64. package/client/node_modules/@types/node/os.d.ts +0 -480
  65. package/client/node_modules/@types/node/package.json +0 -145
  66. package/client/node_modules/@types/node/path.d.ts +0 -191
  67. package/client/node_modules/@types/node/perf_hooks.d.ts +0 -860
  68. package/client/node_modules/@types/node/process.d.ts +0 -1632
  69. package/client/node_modules/@types/node/punycode.d.ts +0 -117
  70. package/client/node_modules/@types/node/querystring.d.ts +0 -140
  71. package/client/node_modules/@types/node/readline/promises.d.ts +0 -154
  72. package/client/node_modules/@types/node/readline.d.ts +0 -715
  73. package/client/node_modules/@types/node/repl.d.ts +0 -430
  74. package/client/node_modules/@types/node/stream/consumers.d.ts +0 -38
  75. package/client/node_modules/@types/node/stream/promises.d.ts +0 -90
  76. package/client/node_modules/@types/node/stream/web.d.ts +0 -527
  77. package/client/node_modules/@types/node/stream.d.ts +0 -1680
  78. package/client/node_modules/@types/node/string_decoder.d.ts +0 -67
  79. package/client/node_modules/@types/node/test.d.ts +0 -1208
  80. package/client/node_modules/@types/node/timers/promises.d.ts +0 -108
  81. package/client/node_modules/@types/node/timers.d.ts +0 -286
  82. package/client/node_modules/@types/node/tls.d.ts +0 -1204
  83. package/client/node_modules/@types/node/trace_events.d.ts +0 -171
  84. package/client/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -455
  85. package/client/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  86. package/client/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  87. package/client/node_modules/@types/node/tty.d.ts +0 -206
  88. package/client/node_modules/@types/node/url.d.ts +0 -957
  89. package/client/node_modules/@types/node/util.d.ts +0 -2083
  90. package/client/node_modules/@types/node/v8.d.ts +0 -753
  91. package/client/node_modules/@types/node/vm.d.ts +0 -704
  92. package/client/node_modules/@types/node/wasi.d.ts +0 -160
  93. package/client/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  94. package/client/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  95. package/client/node_modules/@types/node/web-globals/events.d.ts +0 -81
  96. package/client/node_modules/@types/node/web-globals/fetch.d.ts +0 -38
  97. package/client/node_modules/@types/node/worker_threads.d.ts +0 -698
  98. package/client/node_modules/@types/node/zlib.d.ts +0 -517
  99. package/client/node_modules/@types/vscode/LICENSE +0 -21
  100. package/client/node_modules/@types/vscode/README.md +0 -15
  101. package/client/node_modules/@types/vscode/index.d.ts +0 -21145
  102. package/client/node_modules/@types/vscode/package.json +0 -26
  103. package/client/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  104. package/client/node_modules/balanced-match/LICENSE.md +0 -21
  105. package/client/node_modules/balanced-match/README.md +0 -97
  106. package/client/node_modules/balanced-match/index.js +0 -62
  107. package/client/node_modules/balanced-match/package.json +0 -48
  108. package/client/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  109. package/client/node_modules/brace-expansion/LICENSE +0 -21
  110. package/client/node_modules/brace-expansion/README.md +0 -135
  111. package/client/node_modules/brace-expansion/index.js +0 -203
  112. package/client/node_modules/brace-expansion/package.json +0 -49
  113. package/client/node_modules/minimatch/LICENSE +0 -15
  114. package/client/node_modules/minimatch/README.md +0 -259
  115. package/client/node_modules/minimatch/lib/path.js +0 -4
  116. package/client/node_modules/minimatch/minimatch.js +0 -944
  117. package/client/node_modules/minimatch/package.json +0 -35
  118. package/client/node_modules/semver/LICENSE +0 -15
  119. package/client/node_modules/semver/README.md +0 -664
  120. package/client/node_modules/semver/bin/semver.js +0 -191
  121. package/client/node_modules/semver/classes/comparator.js +0 -143
  122. package/client/node_modules/semver/classes/index.js +0 -7
  123. package/client/node_modules/semver/classes/range.js +0 -557
  124. package/client/node_modules/semver/classes/semver.js +0 -333
  125. package/client/node_modules/semver/functions/clean.js +0 -8
  126. package/client/node_modules/semver/functions/cmp.js +0 -54
  127. package/client/node_modules/semver/functions/coerce.js +0 -62
  128. package/client/node_modules/semver/functions/compare-build.js +0 -9
  129. package/client/node_modules/semver/functions/compare-loose.js +0 -5
  130. package/client/node_modules/semver/functions/compare.js +0 -7
  131. package/client/node_modules/semver/functions/diff.js +0 -60
  132. package/client/node_modules/semver/functions/eq.js +0 -5
  133. package/client/node_modules/semver/functions/gt.js +0 -5
  134. package/client/node_modules/semver/functions/gte.js +0 -5
  135. package/client/node_modules/semver/functions/inc.js +0 -21
  136. package/client/node_modules/semver/functions/lt.js +0 -5
  137. package/client/node_modules/semver/functions/lte.js +0 -5
  138. package/client/node_modules/semver/functions/major.js +0 -5
  139. package/client/node_modules/semver/functions/minor.js +0 -5
  140. package/client/node_modules/semver/functions/neq.js +0 -5
  141. package/client/node_modules/semver/functions/parse.js +0 -18
  142. package/client/node_modules/semver/functions/patch.js +0 -5
  143. package/client/node_modules/semver/functions/prerelease.js +0 -8
  144. package/client/node_modules/semver/functions/rcompare.js +0 -5
  145. package/client/node_modules/semver/functions/rsort.js +0 -5
  146. package/client/node_modules/semver/functions/satisfies.js +0 -12
  147. package/client/node_modules/semver/functions/sort.js +0 -5
  148. package/client/node_modules/semver/functions/valid.js +0 -8
  149. package/client/node_modules/semver/index.js +0 -91
  150. package/client/node_modules/semver/internal/constants.js +0 -37
  151. package/client/node_modules/semver/internal/debug.js +0 -11
  152. package/client/node_modules/semver/internal/identifiers.js +0 -29
  153. package/client/node_modules/semver/internal/lrucache.js +0 -42
  154. package/client/node_modules/semver/internal/parse-options.js +0 -17
  155. package/client/node_modules/semver/internal/re.js +0 -223
  156. package/client/node_modules/semver/package.json +0 -78
  157. package/client/node_modules/semver/preload.js +0 -4
  158. package/client/node_modules/semver/range.bnf +0 -16
  159. package/client/node_modules/semver/ranges/gtr.js +0 -6
  160. package/client/node_modules/semver/ranges/intersects.js +0 -9
  161. package/client/node_modules/semver/ranges/ltr.js +0 -6
  162. package/client/node_modules/semver/ranges/max-satisfying.js +0 -27
  163. package/client/node_modules/semver/ranges/min-satisfying.js +0 -26
  164. package/client/node_modules/semver/ranges/min-version.js +0 -63
  165. package/client/node_modules/semver/ranges/outside.js +0 -82
  166. package/client/node_modules/semver/ranges/simplify.js +0 -49
  167. package/client/node_modules/semver/ranges/subset.js +0 -249
  168. package/client/node_modules/semver/ranges/to-comparators.js +0 -10
  169. package/client/node_modules/semver/ranges/valid.js +0 -13
  170. package/client/node_modules/undici-types/README.md +0 -6
  171. package/client/node_modules/undici-types/agent.d.ts +0 -31
  172. package/client/node_modules/undici-types/api.d.ts +0 -43
  173. package/client/node_modules/undici-types/balanced-pool.d.ts +0 -18
  174. package/client/node_modules/undici-types/cache.d.ts +0 -36
  175. package/client/node_modules/undici-types/client.d.ts +0 -97
  176. package/client/node_modules/undici-types/connector.d.ts +0 -34
  177. package/client/node_modules/undici-types/content-type.d.ts +0 -21
  178. package/client/node_modules/undici-types/cookies.d.ts +0 -28
  179. package/client/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  180. package/client/node_modules/undici-types/dispatcher.d.ts +0 -241
  181. package/client/node_modules/undici-types/errors.d.ts +0 -128
  182. package/client/node_modules/undici-types/fetch.d.ts +0 -209
  183. package/client/node_modules/undici-types/file.d.ts +0 -39
  184. package/client/node_modules/undici-types/filereader.d.ts +0 -54
  185. package/client/node_modules/undici-types/formdata.d.ts +0 -108
  186. package/client/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  187. package/client/node_modules/undici-types/global-origin.d.ts +0 -7
  188. package/client/node_modules/undici-types/handlers.d.ts +0 -9
  189. package/client/node_modules/undici-types/header.d.ts +0 -4
  190. package/client/node_modules/undici-types/index.d.ts +0 -63
  191. package/client/node_modules/undici-types/interceptors.d.ts +0 -5
  192. package/client/node_modules/undici-types/mock-agent.d.ts +0 -50
  193. package/client/node_modules/undici-types/mock-client.d.ts +0 -25
  194. package/client/node_modules/undici-types/mock-errors.d.ts +0 -12
  195. package/client/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  196. package/client/node_modules/undici-types/mock-pool.d.ts +0 -25
  197. package/client/node_modules/undici-types/package.json +0 -55
  198. package/client/node_modules/undici-types/patch.d.ts +0 -71
  199. package/client/node_modules/undici-types/pool-stats.d.ts +0 -19
  200. package/client/node_modules/undici-types/pool.d.ts +0 -28
  201. package/client/node_modules/undici-types/proxy-agent.d.ts +0 -30
  202. package/client/node_modules/undici-types/readable.d.ts +0 -61
  203. package/client/node_modules/undici-types/webidl.d.ts +0 -220
  204. package/client/node_modules/undici-types/websocket.d.ts +0 -131
  205. package/client/node_modules/vscode-jsonrpc/License.txt +0 -11
  206. package/client/node_modules/vscode-jsonrpc/README.md +0 -69
  207. package/client/node_modules/vscode-jsonrpc/browser.d.ts +0 -6
  208. package/client/node_modules/vscode-jsonrpc/browser.js +0 -7
  209. package/client/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +0 -17
  210. package/client/node_modules/vscode-jsonrpc/lib/browser/main.js +0 -76
  211. package/client/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +0 -12
  212. package/client/node_modules/vscode-jsonrpc/lib/browser/ril.js +0 -156
  213. package/client/node_modules/vscode-jsonrpc/lib/common/api.d.ts +0 -14
  214. package/client/node_modules/vscode-jsonrpc/lib/common/api.js +0 -81
  215. package/client/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +0 -32
  216. package/client/node_modules/vscode-jsonrpc/lib/common/cancellation.js +0 -96
  217. package/client/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +0 -358
  218. package/client/node_modules/vscode-jsonrpc/lib/common/connection.js +0 -1212
  219. package/client/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +0 -9
  220. package/client/node_modules/vscode-jsonrpc/lib/common/disposable.js +0 -16
  221. package/client/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +0 -52
  222. package/client/node_modules/vscode-jsonrpc/lib/common/encoding.js +0 -70
  223. package/client/node_modules/vscode-jsonrpc/lib/common/events.d.ts +0 -39
  224. package/client/node_modules/vscode-jsonrpc/lib/common/events.js +0 -128
  225. package/client/node_modules/vscode-jsonrpc/lib/common/is.d.ts +0 -7
  226. package/client/node_modules/vscode-jsonrpc/lib/common/is.js +0 -35
  227. package/client/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +0 -53
  228. package/client/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +0 -398
  229. package/client/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +0 -18
  230. package/client/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +0 -152
  231. package/client/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +0 -77
  232. package/client/node_modules/vscode-jsonrpc/lib/common/messageReader.js +0 -197
  233. package/client/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +0 -60
  234. package/client/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +0 -115
  235. package/client/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +0 -369
  236. package/client/node_modules/vscode-jsonrpc/lib/common/messages.js +0 -306
  237. package/client/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +0 -74
  238. package/client/node_modules/vscode-jsonrpc/lib/common/ral.js +0 -23
  239. package/client/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +0 -10
  240. package/client/node_modules/vscode-jsonrpc/lib/common/semaphore.js +0 -68
  241. package/client/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +0 -15
  242. package/client/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +0 -76
  243. package/client/node_modules/vscode-jsonrpc/lib/node/main.d.ts +0 -63
  244. package/client/node_modules/vscode-jsonrpc/lib/node/main.js +0 -257
  245. package/client/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +0 -13
  246. package/client/node_modules/vscode-jsonrpc/lib/node/ril.js +0 -161
  247. package/client/node_modules/vscode-jsonrpc/node.cmd +0 -5
  248. package/client/node_modules/vscode-jsonrpc/node.d.ts +0 -6
  249. package/client/node_modules/vscode-jsonrpc/node.js +0 -7
  250. package/client/node_modules/vscode-jsonrpc/package.json +0 -45
  251. package/client/node_modules/vscode-jsonrpc/thirdpartynotices.txt +0 -16
  252. package/client/node_modules/vscode-jsonrpc/typings/thenable.d.ts +0 -5
  253. package/client/node_modules/vscode-languageclient/License.txt +0 -11
  254. package/client/node_modules/vscode-languageclient/README.md +0 -17
  255. package/client/node_modules/vscode-languageclient/browser.d.ts +0 -6
  256. package/client/node_modules/vscode-languageclient/browser.js +0 -7
  257. package/client/node_modules/vscode-languageclient/lib/browser/main.d.ts +0 -8
  258. package/client/node_modules/vscode-languageclient/lib/browser/main.js +0 -37
  259. package/client/node_modules/vscode-languageclient/lib/common/api.d.ts +0 -36
  260. package/client/node_modules/vscode-languageclient/lib/common/api.js +0 -27
  261. package/client/node_modules/vscode-languageclient/lib/common/callHierarchy.d.ts +0 -37
  262. package/client/node_modules/vscode-languageclient/lib/common/callHierarchy.js +0 -97
  263. package/client/node_modules/vscode-languageclient/lib/common/client.d.ts +0 -476
  264. package/client/node_modules/vscode-languageclient/lib/common/client.js +0 -1600
  265. package/client/node_modules/vscode-languageclient/lib/common/codeAction.d.ts +0 -19
  266. package/client/node_modules/vscode-languageclient/lib/common/codeAction.js +0 -99
  267. package/client/node_modules/vscode-languageclient/lib/common/codeConverter.d.ts +0 -78
  268. package/client/node_modules/vscode-languageclient/lib/common/codeConverter.js +0 -876
  269. package/client/node_modules/vscode-languageclient/lib/common/codeLens.d.ts +0 -23
  270. package/client/node_modules/vscode-languageclient/lib/common/codeLens.js +0 -78
  271. package/client/node_modules/vscode-languageclient/lib/common/colorProvider.d.ts +0 -25
  272. package/client/node_modules/vscode-languageclient/lib/common/colorProvider.js +0 -74
  273. package/client/node_modules/vscode-languageclient/lib/common/completion.d.ts +0 -20
  274. package/client/node_modules/vscode-languageclient/lib/common/completion.js +0 -126
  275. package/client/node_modules/vscode-languageclient/lib/common/configuration.d.ts +0 -69
  276. package/client/node_modules/vscode-languageclient/lib/common/configuration.js +0 -209
  277. package/client/node_modules/vscode-languageclient/lib/common/declaration.d.ts +0 -16
  278. package/client/node_modules/vscode-languageclient/lib/common/declaration.js +0 -54
  279. package/client/node_modules/vscode-languageclient/lib/common/definition.d.ts +0 -16
  280. package/client/node_modules/vscode-languageclient/lib/common/definition.js +0 -55
  281. package/client/node_modules/vscode-languageclient/lib/common/diagnostic.d.ts +0 -122
  282. package/client/node_modules/vscode-languageclient/lib/common/diagnostic.js +0 -814
  283. package/client/node_modules/vscode-languageclient/lib/common/documentHighlight.d.ts +0 -15
  284. package/client/node_modules/vscode-languageclient/lib/common/documentHighlight.js +0 -50
  285. package/client/node_modules/vscode-languageclient/lib/common/documentLink.d.ts +0 -19
  286. package/client/node_modules/vscode-languageclient/lib/common/documentLink.js +0 -71
  287. package/client/node_modules/vscode-languageclient/lib/common/documentSymbol.d.ts +0 -17
  288. package/client/node_modules/vscode-languageclient/lib/common/documentSymbol.js +0 -104
  289. package/client/node_modules/vscode-languageclient/lib/common/executeCommand.d.ts +0 -21
  290. package/client/node_modules/vscode-languageclient/lib/common/executeCommand.js +0 -72
  291. package/client/node_modules/vscode-languageclient/lib/common/features.d.ts +0 -418
  292. package/client/node_modules/vscode-languageclient/lib/common/features.js +0 -291
  293. package/client/node_modules/vscode-languageclient/lib/common/fileOperations.d.ts +0 -116
  294. package/client/node_modules/vscode-languageclient/lib/common/fileOperations.js +0 -333
  295. package/client/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.d.ts +0 -18
  296. package/client/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.js +0 -95
  297. package/client/node_modules/vscode-languageclient/lib/common/foldingRange.d.ts +0 -19
  298. package/client/node_modules/vscode-languageclient/lib/common/foldingRange.js +0 -65
  299. package/client/node_modules/vscode-languageclient/lib/common/formatting.d.ts +0 -39
  300. package/client/node_modules/vscode-languageclient/lib/common/formatting.js +0 -182
  301. package/client/node_modules/vscode-languageclient/lib/common/hover.d.ts +0 -16
  302. package/client/node_modules/vscode-languageclient/lib/common/hover.js +0 -58
  303. package/client/node_modules/vscode-languageclient/lib/common/implementation.d.ts +0 -16
  304. package/client/node_modules/vscode-languageclient/lib/common/implementation.js +0 -54
  305. package/client/node_modules/vscode-languageclient/lib/common/inlayHint.d.ts +0 -20
  306. package/client/node_modules/vscode-languageclient/lib/common/inlayHint.js +0 -92
  307. package/client/node_modules/vscode-languageclient/lib/common/inlineCompletion.d.ts +0 -18
  308. package/client/node_modules/vscode-languageclient/lib/common/inlineCompletion.js +0 -54
  309. package/client/node_modules/vscode-languageclient/lib/common/inlineValue.d.ts +0 -18
  310. package/client/node_modules/vscode-languageclient/lib/common/inlineValue.js +0 -65
  311. package/client/node_modules/vscode-languageclient/lib/common/linkedEditingRange.d.ts +0 -21
  312. package/client/node_modules/vscode-languageclient/lib/common/linkedEditingRange.js +0 -53
  313. package/client/node_modules/vscode-languageclient/lib/common/notebook.d.ts +0 -96
  314. package/client/node_modules/vscode-languageclient/lib/common/notebook.js +0 -851
  315. package/client/node_modules/vscode-languageclient/lib/common/progress.d.ts +0 -11
  316. package/client/node_modules/vscode-languageclient/lib/common/progress.js +0 -44
  317. package/client/node_modules/vscode-languageclient/lib/common/progressPart.d.ts +0 -24
  318. package/client/node_modules/vscode-languageclient/lib/common/progressPart.js +0 -96
  319. package/client/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.d.ts +0 -6
  320. package/client/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.js +0 -16
  321. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeAction.d.ts +0 -6
  322. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeAction.js +0 -14
  323. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeLens.d.ts +0 -5
  324. package/client/node_modules/vscode-languageclient/lib/common/protocolCodeLens.js +0 -13
  325. package/client/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.d.ts +0 -11
  326. package/client/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.js +0 -13
  327. package/client/node_modules/vscode-languageclient/lib/common/protocolConverter.d.ts +0 -167
  328. package/client/node_modules/vscode-languageclient/lib/common/protocolConverter.js +0 -1134
  329. package/client/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.d.ts +0 -18
  330. package/client/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.js +0 -25
  331. package/client/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.d.ts +0 -5
  332. package/client/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.js +0 -13
  333. package/client/node_modules/vscode-languageclient/lib/common/protocolInlayHint.d.ts +0 -5
  334. package/client/node_modules/vscode-languageclient/lib/common/protocolInlayHint.js +0 -13
  335. package/client/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.d.ts +0 -6
  336. package/client/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.js +0 -16
  337. package/client/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.d.ts +0 -7
  338. package/client/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.js +0 -18
  339. package/client/node_modules/vscode-languageclient/lib/common/reference.d.ts +0 -20
  340. package/client/node_modules/vscode-languageclient/lib/common/reference.js +0 -53
  341. package/client/node_modules/vscode-languageclient/lib/common/rename.d.ts +0 -27
  342. package/client/node_modules/vscode-languageclient/lib/common/rename.js +0 -113
  343. package/client/node_modules/vscode-languageclient/lib/common/selectionRange.d.ts +0 -16
  344. package/client/node_modules/vscode-languageclient/lib/common/selectionRange.js +0 -57
  345. package/client/node_modules/vscode-languageclient/lib/common/semanticTokens.d.ts +0 -33
  346. package/client/node_modules/vscode-languageclient/lib/common/semanticTokens.js +0 -179
  347. package/client/node_modules/vscode-languageclient/lib/common/signatureHelp.d.ts +0 -16
  348. package/client/node_modules/vscode-languageclient/lib/common/signatureHelp.js +0 -71
  349. package/client/node_modules/vscode-languageclient/lib/common/textSynchronization.d.ts +0 -101
  350. package/client/node_modules/vscode-languageclient/lib/common/textSynchronization.js +0 -402
  351. package/client/node_modules/vscode-languageclient/lib/common/typeDefinition.d.ts +0 -16
  352. package/client/node_modules/vscode-languageclient/lib/common/typeDefinition.js +0 -55
  353. package/client/node_modules/vscode-languageclient/lib/common/typeHierarchy.d.ts +0 -31
  354. package/client/node_modules/vscode-languageclient/lib/common/typeHierarchy.js +0 -96
  355. package/client/node_modules/vscode-languageclient/lib/common/utils/async.d.ts +0 -41
  356. package/client/node_modules/vscode-languageclient/lib/common/utils/async.js +0 -276
  357. package/client/node_modules/vscode-languageclient/lib/common/utils/is.d.ts +0 -12
  358. package/client/node_modules/vscode-languageclient/lib/common/utils/is.js +0 -57
  359. package/client/node_modules/vscode-languageclient/lib/common/utils/uuid.d.ts +0 -22
  360. package/client/node_modules/vscode-languageclient/lib/common/utils/uuid.js +0 -97
  361. package/client/node_modules/vscode-languageclient/lib/common/workspaceFolder.d.ts +0 -30
  362. package/client/node_modules/vscode-languageclient/lib/common/workspaceFolder.js +0 -148
  363. package/client/node_modules/vscode-languageclient/lib/common/workspaceSymbol.d.ts +0 -19
  364. package/client/node_modules/vscode-languageclient/lib/common/workspaceSymbol.js +0 -79
  365. package/client/node_modules/vscode-languageclient/lib/node/main.d.ts +0 -100
  366. package/client/node_modules/vscode-languageclient/lib/node/main.js +0 -570
  367. package/client/node_modules/vscode-languageclient/lib/node/processes.d.ts +0 -6
  368. package/client/node_modules/vscode-languageclient/lib/node/processes.js +0 -47
  369. package/client/node_modules/vscode-languageclient/lib/node/terminateProcess.sh +0 -16
  370. package/client/node_modules/vscode-languageclient/node.cmd +0 -5
  371. package/client/node_modules/vscode-languageclient/node.d.ts +0 -6
  372. package/client/node_modules/vscode-languageclient/node.js +0 -7
  373. package/client/node_modules/vscode-languageclient/package.json +0 -50
  374. package/client/node_modules/vscode-languageserver-protocol/License.txt +0 -11
  375. package/client/node_modules/vscode-languageserver-protocol/README.md +0 -16
  376. package/client/node_modules/vscode-languageserver-protocol/browser.d.ts +0 -6
  377. package/client/node_modules/vscode-languageserver-protocol/browser.js +0 -7
  378. package/client/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +0 -4
  379. package/client/node_modules/vscode-languageserver-protocol/lib/browser/main.js +0 -28
  380. package/client/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +0 -58
  381. package/client/node_modules/vscode-languageserver-protocol/lib/common/api.js +0 -77
  382. package/client/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +0 -187
  383. package/client/node_modules/vscode-languageserver-protocol/lib/common/connection.js +0 -15
  384. package/client/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +0 -51
  385. package/client/node_modules/vscode-languageserver-protocol/lib/common/messages.js +0 -44
  386. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +0 -1
  387. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +0 -43
  388. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +0 -86
  389. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +0 -42
  390. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +0 -66
  391. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +0 -32
  392. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +0 -35
  393. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +0 -24
  394. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +0 -3252
  395. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +0 -37
  396. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +0 -22
  397. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +0 -341
  398. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +0 -74
  399. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +0 -306
  400. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +0 -101
  401. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +0 -109
  402. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +0 -30
  403. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +0 -38
  404. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +0 -21
  405. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +0 -110
  406. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +0 -43
  407. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +0 -57
  408. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +0 -22
  409. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +0 -86
  410. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +0 -30
  411. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +0 -943
  412. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +0 -52
  413. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +0 -19
  414. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +0 -106
  415. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +0 -68
  416. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +0 -400
  417. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +0 -214
  418. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +0 -107
  419. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +0 -37
  420. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +0 -41
  421. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +0 -20
  422. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +0 -223
  423. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +0 -57
  424. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +0 -72
  425. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +0 -22
  426. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +0 -38
  427. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +0 -21
  428. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +0 -83
  429. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +0 -42
  430. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +0 -74
  431. package/client/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +0 -27
  432. package/client/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +0 -9
  433. package/client/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +0 -46
  434. package/client/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +0 -6
  435. package/client/node_modules/vscode-languageserver-protocol/lib/node/main.js +0 -28
  436. package/client/node_modules/vscode-languageserver-protocol/metaModel.schema.json +0 -783
  437. package/client/node_modules/vscode-languageserver-protocol/node.cmd +0 -5
  438. package/client/node_modules/vscode-languageserver-protocol/node.d.ts +0 -6
  439. package/client/node_modules/vscode-languageserver-protocol/node.js +0 -7
  440. package/client/node_modules/vscode-languageserver-protocol/package.json +0 -45
  441. package/client/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt +0 -31
  442. package/client/node_modules/vscode-languageserver-types/License.txt +0 -11
  443. package/client/node_modules/vscode-languageserver-types/README.md +0 -17
  444. package/client/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +0 -3139
  445. package/client/node_modules/vscode-languageserver-types/lib/esm/main.js +0 -2222
  446. package/client/node_modules/vscode-languageserver-types/lib/esm/package.json +0 -3
  447. package/client/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +0 -3139
  448. package/client/node_modules/vscode-languageserver-types/lib/umd/main.js +0 -2272
  449. package/client/node_modules/vscode-languageserver-types/package.json +0 -38
  450. package/client/node_modules/vscode-languageserver-types/thirdpartynotices.txt +0 -16
  451. package/client/package-lock.json +0 -125
  452. package/client/package.json +0 -42
  453. package/client/src/extension.ts +0 -56
  454. 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';