@opensumi/ide-editor 2.12.1-next-079c1930

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 (298) hide show
  1. package/README.md +565 -0
  2. package/lib/browser/breadcrumb/default.d.ts +28 -0
  3. package/lib/browser/breadcrumb/default.d.ts.map +1 -0
  4. package/lib/browser/breadcrumb/default.js +283 -0
  5. package/lib/browser/breadcrumb/default.js.map +1 -0
  6. package/lib/browser/breadcrumb/document-symbol.d.ts +36 -0
  7. package/lib/browser/breadcrumb/document-symbol.d.ts.map +1 -0
  8. package/lib/browser/breadcrumb/document-symbol.js +161 -0
  9. package/lib/browser/breadcrumb/document-symbol.js.map +1 -0
  10. package/lib/browser/breadcrumb/index.d.ts +20 -0
  11. package/lib/browser/breadcrumb/index.d.ts.map +1 -0
  12. package/lib/browser/breadcrumb/index.js +90 -0
  13. package/lib/browser/breadcrumb/index.js.map +1 -0
  14. package/lib/browser/component/scroll/scroll.d.ts +66 -0
  15. package/lib/browser/component/scroll/scroll.d.ts.map +1 -0
  16. package/lib/browser/component/scroll/scroll.js +263 -0
  17. package/lib/browser/component/scroll/scroll.js.map +1 -0
  18. package/lib/browser/component/scroll/scroll.module.less +83 -0
  19. package/lib/browser/component.d.ts +23 -0
  20. package/lib/browser/component.d.ts.map +1 -0
  21. package/lib/browser/component.js +165 -0
  22. package/lib/browser/component.js.map +1 -0
  23. package/lib/browser/decoration-applier.d.ts +25 -0
  24. package/lib/browser/decoration-applier.d.ts.map +1 -0
  25. package/lib/browser/decoration-applier.js +224 -0
  26. package/lib/browser/decoration-applier.js.map +1 -0
  27. package/lib/browser/diff/compare.d.ts +14 -0
  28. package/lib/browser/diff/compare.d.ts.map +1 -0
  29. package/lib/browser/diff/compare.js +94 -0
  30. package/lib/browser/diff/compare.js.map +1 -0
  31. package/lib/browser/diff/index.d.ts +19 -0
  32. package/lib/browser/diff/index.d.ts.map +1 -0
  33. package/lib/browser/diff/index.js +92 -0
  34. package/lib/browser/diff/index.js.map +1 -0
  35. package/lib/browser/doc-cache/empty-doc-cache.d.ts +12 -0
  36. package/lib/browser/doc-cache/empty-doc-cache.d.ts.map +1 -0
  37. package/lib/browser/doc-cache/empty-doc-cache.js +27 -0
  38. package/lib/browser/doc-cache/empty-doc-cache.js.map +1 -0
  39. package/lib/browser/doc-cache/index.d.ts +3 -0
  40. package/lib/browser/doc-cache/index.d.ts.map +1 -0
  41. package/lib/browser/doc-cache/index.js +6 -0
  42. package/lib/browser/doc-cache/index.js.map +1 -0
  43. package/lib/browser/doc-cache/local-storage-cache.d.ts +32 -0
  44. package/lib/browser/doc-cache/local-storage-cache.d.ts.map +1 -0
  45. package/lib/browser/doc-cache/local-storage-cache.js +69 -0
  46. package/lib/browser/doc-cache/local-storage-cache.js.map +1 -0
  47. package/lib/browser/doc-model/editor-document-error.d.ts +7 -0
  48. package/lib/browser/doc-model/editor-document-error.d.ts.map +1 -0
  49. package/lib/browser/doc-model/editor-document-error.js +15 -0
  50. package/lib/browser/doc-model/editor-document-error.js.map +1 -0
  51. package/lib/browser/doc-model/editor-document-model-service.d.ts +40 -0
  52. package/lib/browser/doc-model/editor-document-model-service.d.ts.map +1 -0
  53. package/lib/browser/doc-model/editor-document-model-service.js +276 -0
  54. package/lib/browser/doc-model/editor-document-model-service.js.map +1 -0
  55. package/lib/browser/doc-model/editor-document-model.d.ts +85 -0
  56. package/lib/browser/doc-model/editor-document-model.d.ts.map +1 -0
  57. package/lib/browser/doc-model/editor-document-model.js +463 -0
  58. package/lib/browser/doc-model/editor-document-model.js.map +1 -0
  59. package/lib/browser/doc-model/editor-document-registry.d.ts +15 -0
  60. package/lib/browser/doc-model/editor-document-registry.d.ts.map +1 -0
  61. package/lib/browser/doc-model/editor-document-registry.js +110 -0
  62. package/lib/browser/doc-model/editor-document-registry.js.map +1 -0
  63. package/lib/browser/doc-model/editor-is-fn.d.ts +4 -0
  64. package/lib/browser/doc-model/editor-is-fn.d.ts.map +1 -0
  65. package/lib/browser/doc-model/editor-is-fn.js +12 -0
  66. package/lib/browser/doc-model/editor-is-fn.js.map +1 -0
  67. package/lib/browser/doc-model/main.d.ts +5 -0
  68. package/lib/browser/doc-model/main.d.ts.map +1 -0
  69. package/lib/browser/doc-model/main.js +8 -0
  70. package/lib/browser/doc-model/main.js.map +1 -0
  71. package/lib/browser/doc-model/override.d.ts +12 -0
  72. package/lib/browser/doc-model/override.d.ts.map +1 -0
  73. package/lib/browser/doc-model/override.js +46 -0
  74. package/lib/browser/doc-model/override.js.map +1 -0
  75. package/lib/browser/doc-model/save-task.d.ts +19 -0
  76. package/lib/browser/doc-model/save-task.d.ts.map +1 -0
  77. package/lib/browser/doc-model/save-task.js +34 -0
  78. package/lib/browser/doc-model/save-task.js.map +1 -0
  79. package/lib/browser/doc-model/saveParticipants.d.ts +21 -0
  80. package/lib/browser/doc-model/saveParticipants.d.ts.map +1 -0
  81. package/lib/browser/doc-model/saveParticipants.js +133 -0
  82. package/lib/browser/doc-model/saveParticipants.js.map +1 -0
  83. package/lib/browser/doc-model/types.d.ts +253 -0
  84. package/lib/browser/doc-model/types.d.ts.map +1 -0
  85. package/lib/browser/doc-model/types.js +31 -0
  86. package/lib/browser/doc-model/types.js.map +1 -0
  87. package/lib/browser/editor-collection.service.d.ts +137 -0
  88. package/lib/browser/editor-collection.service.d.ts.map +1 -0
  89. package/lib/browser/editor-collection.service.js +607 -0
  90. package/lib/browser/editor-collection.service.js.map +1 -0
  91. package/lib/browser/editor-opener.d.ts +10 -0
  92. package/lib/browser/editor-opener.d.ts.map +1 -0
  93. package/lib/browser/editor-opener.js +51 -0
  94. package/lib/browser/editor-opener.js.map +1 -0
  95. package/lib/browser/editor.contribution.d.ts +54 -0
  96. package/lib/browser/editor.contribution.d.ts.map +1 -0
  97. package/lib/browser/editor.contribution.js +1059 -0
  98. package/lib/browser/editor.contribution.js.map +1 -0
  99. package/lib/browser/editor.decoration.service.d.ts +28 -0
  100. package/lib/browser/editor.decoration.service.d.ts.map +1 -0
  101. package/lib/browser/editor.decoration.service.js +216 -0
  102. package/lib/browser/editor.decoration.service.js.map +1 -0
  103. package/lib/browser/editor.less +4 -0
  104. package/lib/browser/editor.module.less +493 -0
  105. package/lib/browser/editor.override.d.ts +24 -0
  106. package/lib/browser/editor.override.d.ts.map +1 -0
  107. package/lib/browser/editor.override.js +85 -0
  108. package/lib/browser/editor.override.js.map +1 -0
  109. package/lib/browser/editor.status-bar.service.d.ts +12 -0
  110. package/lib/browser/editor.status-bar.service.d.ts.map +1 -0
  111. package/lib/browser/editor.status-bar.service.js +114 -0
  112. package/lib/browser/editor.status-bar.service.js.map +1 -0
  113. package/lib/browser/editor.view.d.ts +33 -0
  114. package/lib/browser/editor.view.d.ts.map +1 -0
  115. package/lib/browser/editor.view.js +411 -0
  116. package/lib/browser/editor.view.js.map +1 -0
  117. package/lib/browser/error.d.ts +14 -0
  118. package/lib/browser/error.d.ts.map +1 -0
  119. package/lib/browser/error.js +19 -0
  120. package/lib/browser/error.js.map +1 -0
  121. package/lib/browser/feature.d.ts +14 -0
  122. package/lib/browser/feature.d.ts.map +1 -0
  123. package/lib/browser/feature.js +56 -0
  124. package/lib/browser/feature.js.map +1 -0
  125. package/lib/browser/format/formatterSelect.d.ts +11 -0
  126. package/lib/browser/format/formatterSelect.d.ts.map +1 -0
  127. package/lib/browser/format/formatterSelect.js +61 -0
  128. package/lib/browser/format/formatterSelect.js.map +1 -0
  129. package/lib/browser/fs-resource/file-tree-set.d.ts +31 -0
  130. package/lib/browser/fs-resource/file-tree-set.d.ts.map +1 -0
  131. package/lib/browser/fs-resource/file-tree-set.js +123 -0
  132. package/lib/browser/fs-resource/file-tree-set.js.map +1 -0
  133. package/lib/browser/fs-resource/fs-editor-doc.d.ts +47 -0
  134. package/lib/browser/fs-resource/fs-editor-doc.d.ts.map +1 -0
  135. package/lib/browser/fs-resource/fs-editor-doc.js +148 -0
  136. package/lib/browser/fs-resource/fs-editor-doc.js.map +1 -0
  137. package/lib/browser/fs-resource/fs-resource.d.ts +25 -0
  138. package/lib/browser/fs-resource/fs-resource.d.ts.map +1 -0
  139. package/lib/browser/fs-resource/fs-resource.js +211 -0
  140. package/lib/browser/fs-resource/fs-resource.js.map +1 -0
  141. package/lib/browser/fs-resource/index.d.ts +12 -0
  142. package/lib/browser/fs-resource/index.d.ts.map +1 -0
  143. package/lib/browser/fs-resource/index.js +30 -0
  144. package/lib/browser/fs-resource/index.js.map +1 -0
  145. package/lib/browser/grid/grid.service.d.ts +44 -0
  146. package/lib/browser/grid/grid.service.d.ts.map +1 -0
  147. package/lib/browser/grid/grid.service.js +255 -0
  148. package/lib/browser/grid/grid.service.js.map +1 -0
  149. package/lib/browser/history/index.d.ts +31 -0
  150. package/lib/browser/history/index.d.ts.map +1 -0
  151. package/lib/browser/history/index.js +164 -0
  152. package/lib/browser/history/index.js.map +1 -0
  153. package/lib/browser/index.d.ts +33 -0
  154. package/lib/browser/index.d.ts.map +1 -0
  155. package/lib/browser/index.js +212 -0
  156. package/lib/browser/index.js.map +1 -0
  157. package/lib/browser/language/diagnostic-collection.d.ts +28 -0
  158. package/lib/browser/language/diagnostic-collection.d.ts.map +1 -0
  159. package/lib/browser/language/diagnostic-collection.js +72 -0
  160. package/lib/browser/language/diagnostic-collection.js.map +1 -0
  161. package/lib/browser/language/language.service.d.ts +19 -0
  162. package/lib/browser/language/language.service.d.ts.map +1 -0
  163. package/lib/browser/language/language.service.js +146 -0
  164. package/lib/browser/language/language.service.js.map +1 -0
  165. package/lib/browser/language/workspace-symbol-quickopen.d.ts +43 -0
  166. package/lib/browser/language/workspace-symbol-quickopen.d.ts.map +1 -0
  167. package/lib/browser/language/workspace-symbol-quickopen.js +231 -0
  168. package/lib/browser/language/workspace-symbol-quickopen.js.map +1 -0
  169. package/lib/browser/menu/editor.context.d.ts +20 -0
  170. package/lib/browser/menu/editor.context.d.ts.map +1 -0
  171. package/lib/browser/menu/editor.context.js +139 -0
  172. package/lib/browser/menu/editor.context.js.map +1 -0
  173. package/lib/browser/menu/editor.menu.d.ts +13 -0
  174. package/lib/browser/menu/editor.menu.d.ts.map +1 -0
  175. package/lib/browser/menu/editor.menu.js +48 -0
  176. package/lib/browser/menu/editor.menu.js.map +1 -0
  177. package/lib/browser/menu/title-context.menu.d.ts +13 -0
  178. package/lib/browser/menu/title-context.menu.d.ts.map +1 -0
  179. package/lib/browser/menu/title-context.menu.js +55 -0
  180. package/lib/browser/menu/title-context.menu.js.map +1 -0
  181. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts +20 -0
  182. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts.map +1 -0
  183. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js +64 -0
  184. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js.map +1 -0
  185. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts +35 -0
  186. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts.map +1 -0
  187. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js +144 -0
  188. package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js.map +1 -0
  189. package/lib/browser/monaco-contrib/command/command.service.d.ts +141 -0
  190. package/lib/browser/monaco-contrib/command/command.service.d.ts.map +1 -0
  191. package/lib/browser/monaco-contrib/command/command.service.js +370 -0
  192. package/lib/browser/monaco-contrib/command/command.service.js.map +1 -0
  193. package/lib/browser/monaco-contrib/index.d.ts +3 -0
  194. package/lib/browser/monaco-contrib/index.d.ts.map +1 -0
  195. package/lib/browser/monaco-contrib/index.js +6 -0
  196. package/lib/browser/monaco-contrib/index.js.map +1 -0
  197. package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts +46 -0
  198. package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts.map +1 -0
  199. package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js +79 -0
  200. package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js.map +1 -0
  201. package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts +58 -0
  202. package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts.map +1 -0
  203. package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js +75 -0
  204. package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js.map +1 -0
  205. package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts +54 -0
  206. package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts.map +1 -0
  207. package/lib/browser/monaco-contrib/tokenizer/textmate.service.js +596 -0
  208. package/lib/browser/monaco-contrib/tokenizer/textmate.service.js.map +1 -0
  209. package/lib/browser/navigation.module.less +86 -0
  210. package/lib/browser/navigation.view.d.ts +29 -0
  211. package/lib/browser/navigation.view.d.ts.map +1 -0
  212. package/lib/browser/navigation.view.js +183 -0
  213. package/lib/browser/navigation.view.js.map +1 -0
  214. package/lib/browser/preference/contribution.d.ts +5 -0
  215. package/lib/browser/preference/contribution.d.ts.map +1 -0
  216. package/lib/browser/preference/contribution.js +16 -0
  217. package/lib/browser/preference/contribution.js.map +1 -0
  218. package/lib/browser/preference/converter.d.ts +34 -0
  219. package/lib/browser/preference/converter.d.ts.map +1 -0
  220. package/lib/browser/preference/converter.js +632 -0
  221. package/lib/browser/preference/converter.js.map +1 -0
  222. package/lib/browser/preference/schema.d.ts +230 -0
  223. package/lib/browser/preference/schema.d.ts.map +1 -0
  224. package/lib/browser/preference/schema.js +1453 -0
  225. package/lib/browser/preference/schema.js.map +1 -0
  226. package/lib/browser/preference/util.d.ts +4 -0
  227. package/lib/browser/preference/util.d.ts.map +1 -0
  228. package/lib/browser/preference/util.js +13 -0
  229. package/lib/browser/preference/util.js.map +1 -0
  230. package/lib/browser/resource.service.d.ts +32 -0
  231. package/lib/browser/resource.service.d.ts.map +1 -0
  232. package/lib/browser/resource.service.js +219 -0
  233. package/lib/browser/resource.service.js.map +1 -0
  234. package/lib/browser/tab.view.d.ts +12 -0
  235. package/lib/browser/tab.view.d.ts.map +1 -0
  236. package/lib/browser/tab.view.js +330 -0
  237. package/lib/browser/tab.view.js.map +1 -0
  238. package/lib/browser/types.d.ts +344 -0
  239. package/lib/browser/types.d.ts.map +1 -0
  240. package/lib/browser/types.js +94 -0
  241. package/lib/browser/types.js.map +1 -0
  242. package/lib/browser/untitled-resource.d.ts +33 -0
  243. package/lib/browser/untitled-resource.d.ts.map +1 -0
  244. package/lib/browser/untitled-resource.js +114 -0
  245. package/lib/browser/untitled-resource.js.map +1 -0
  246. package/lib/browser/view/editor.react.d.ts +10 -0
  247. package/lib/browser/view/editor.react.d.ts.map +1 -0
  248. package/lib/browser/view/editor.react.js +69 -0
  249. package/lib/browser/view/editor.react.js.map +1 -0
  250. package/lib/browser/view/react-hook.d.ts +3 -0
  251. package/lib/browser/view/react-hook.d.ts.map +1 -0
  252. package/lib/browser/view/react-hook.js +9 -0
  253. package/lib/browser/view/react-hook.js.map +1 -0
  254. package/lib/browser/view/suggest-widget.d.ts +8 -0
  255. package/lib/browser/view/suggest-widget.d.ts.map +1 -0
  256. package/lib/browser/view/suggest-widget.js +51 -0
  257. package/lib/browser/view/suggest-widget.js.map +1 -0
  258. package/lib/browser/view/topPadding.d.ts +6 -0
  259. package/lib/browser/view/topPadding.d.ts.map +1 -0
  260. package/lib/browser/view/topPadding.js +18 -0
  261. package/lib/browser/view/topPadding.js.map +1 -0
  262. package/lib/browser/workbench-editor.service.d.ts +244 -0
  263. package/lib/browser/workbench-editor.service.d.ts.map +1 -0
  264. package/lib/browser/workbench-editor.service.js +1689 -0
  265. package/lib/browser/workbench-editor.service.js.map +1 -0
  266. package/lib/common/doc-cache.d.ts +80 -0
  267. package/lib/common/doc-cache.d.ts.map +1 -0
  268. package/lib/common/doc-cache.js +39 -0
  269. package/lib/common/doc-cache.js.map +1 -0
  270. package/lib/common/editor.d.ts +571 -0
  271. package/lib/common/editor.d.ts.map +1 -0
  272. package/lib/common/editor.js +125 -0
  273. package/lib/common/editor.js.map +1 -0
  274. package/lib/common/index.d.ts +6 -0
  275. package/lib/common/index.d.ts.map +1 -0
  276. package/lib/common/index.js +9 -0
  277. package/lib/common/index.js.map +1 -0
  278. package/lib/common/language.d.ts +108 -0
  279. package/lib/common/language.d.ts.map +1 -0
  280. package/lib/common/language.js +72 -0
  281. package/lib/common/language.js.map +1 -0
  282. package/lib/common/mocks/workbench-editor.service.d.ts +21 -0
  283. package/lib/common/mocks/workbench-editor.service.d.ts.map +1 -0
  284. package/lib/common/mocks/workbench-editor.service.js +48 -0
  285. package/lib/common/mocks/workbench-editor.service.js.map +1 -0
  286. package/lib/common/resource.d.ts +94 -0
  287. package/lib/common/resource.d.ts.map +1 -0
  288. package/lib/common/resource.js +31 -0
  289. package/lib/common/resource.js.map +1 -0
  290. package/lib/common/utils.d.ts +3 -0
  291. package/lib/common/utils.d.ts.map +1 -0
  292. package/lib/common/utils.js +14 -0
  293. package/lib/common/utils.js.map +1 -0
  294. package/lib/index.d.ts +2 -0
  295. package/lib/index.d.ts.map +1 -0
  296. package/lib/index.js +5 -0
  297. package/lib/index.js.map +1 -0
  298. package/package.json +33 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoration-applier.d.ts","sourceRoot":"","sources":["../../src/browser/decoration-applier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,KAAK,MAAM,MAAM,uDAAuD,CAAC;AAEhF,OAAO,EAAE,kCAAkC,EAAyJ,MAAM,SAAS,CAAC;AACpN,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAmB,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAO,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBACa,6BAA8B,SAAQ,UAAU;IAa/C,OAAO,CAAC,MAAM;IAV1B,iBAAiB,EAAE,kCAAkC,CAAC;IAGtD,YAAY,EAAE,aAAa,CAAC;IAG5B,QAAQ,EAAE,SAAS,CAAC;IAEpB,OAAO,CAAC,WAAW,CAA0E;gBAEzE,MAAM,EAAE,iBAAiB;IAqB7C,OAAO,CAAC,YAAY;YASN,2BAA2B;IAmBzC,OAAO;IAKP,gBAAgB;IAQhB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;IAiB/E,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE;IA6B/D,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;CAsBpJ"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MonacoEditorDecorationApplier = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const types_1 = require("./types");
7
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
+ const ide_theme_1 = require("@opensumi/ide-theme");
9
+ const classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
10
+ let MonacoEditorDecorationApplier = class MonacoEditorDecorationApplier extends ide_core_common_1.Disposable {
11
+ constructor(editor) {
12
+ super();
13
+ this.editor = editor;
14
+ this.decorations = new Map();
15
+ this.applyDecorationFromProvider();
16
+ this.editor.onDidChangeModel(() => {
17
+ this.clearDecorations();
18
+ this.applyDecorationFromProvider();
19
+ });
20
+ this.editor.onDidDispose(() => {
21
+ this.dispose();
22
+ });
23
+ this.addDispose(this.eventBus.on(types_1.EditorDecorationChangeEvent, (e) => {
24
+ const currentUri = this.getEditorUri();
25
+ if (currentUri && e.payload.uri.isEqual(currentUri)) {
26
+ this.applyDecorationFromProvider(e.payload.key);
27
+ }
28
+ }));
29
+ this.addDispose(this.eventBus.on(types_1.EditorDecorationTypeRemovedEvent, (e) => {
30
+ this.deltaDecoration(e.payload, []);
31
+ }));
32
+ }
33
+ getEditorUri() {
34
+ if (this.editor.getModel()) {
35
+ const uri = new ide_core_common_1.URI(this.editor.getModel().uri.toString());
36
+ return uri;
37
+ }
38
+ else {
39
+ return null;
40
+ }
41
+ }
42
+ async applyDecorationFromProvider(key) {
43
+ if (this.editor.getModel()) {
44
+ const uri = new ide_core_common_1.URI(this.editor.getModel().uri.toString());
45
+ const decs = await this.decorationService.getDecorationFromProvider(uri, key);
46
+ // 由于是异步获取decoration,此时uri可能已经变了
47
+ if (!this.editor.getModel() || this.editor.getModel().uri.toString() !== uri.toString()) {
48
+ return;
49
+ }
50
+ for (const key of Object.keys(decs)) {
51
+ this.deltaDecoration(key, decs[key]);
52
+ }
53
+ this.eventBus.fire(new types_1.DidApplyEditorDecorationFromProvider({
54
+ key,
55
+ uri,
56
+ }));
57
+ }
58
+ }
59
+ dispose() {
60
+ super.dispose();
61
+ this.clearDecorations();
62
+ }
63
+ clearDecorations() {
64
+ this.decorations.forEach((v) => {
65
+ v.dispose();
66
+ this.editor.deltaDecorations(v.decorations, []);
67
+ });
68
+ this.decorations.clear();
69
+ }
70
+ deltaDecoration(key, decorations) {
71
+ let oldDecorations = [];
72
+ if (this.decorations.has(key)) {
73
+ oldDecorations = this.decorations.get(key).decorations;
74
+ this.decorations.get(key).dispose();
75
+ this.decorations.delete(key);
76
+ }
77
+ if (oldDecorations.length === 0 && decorations.length === 0) {
78
+ return;
79
+ }
80
+ const newDecoration = this.editor.deltaDecorations(oldDecorations, decorations);
81
+ this.decorations.set(key, {
82
+ decorations: newDecoration,
83
+ dispose: () => null,
84
+ });
85
+ }
86
+ applyDecoration(key, options) {
87
+ const oldDecorations = this.decorations.get(key);
88
+ if (oldDecorations) {
89
+ oldDecorations.dispose();
90
+ }
91
+ const oldResult = oldDecorations ? oldDecorations.decorations : [];
92
+ const newDecorations = [];
93
+ const disposer = new ide_core_common_1.Disposable();
94
+ if (oldResult.length === 0 && options.length === 0) {
95
+ return;
96
+ }
97
+ options.forEach((option) => {
98
+ const resolved = this.resolveDecorationRenderer(key, option.renderOptions);
99
+ newDecorations.push({
100
+ range: option.range,
101
+ options: Object.assign(Object.assign({}, resolved.options), { hoverMessage: resolveHoverMessage(option.hoverMessage) }),
102
+ });
103
+ disposer.addDispose(resolved);
104
+ });
105
+ const result = this.editor.deltaDecorations(oldResult, newDecorations);
106
+ this.decorations.set(key, {
107
+ decorations: result,
108
+ dispose: () => disposer.dispose(),
109
+ });
110
+ }
111
+ resolveDecorationRenderer(key, options) {
112
+ const type = this.decorationService.getTextEditorDecorationType(key);
113
+ const result = {
114
+ description: key,
115
+ };
116
+ const currentTheme = this.themeService.getCurrentThemeSync().type;
117
+ const disposer = new ide_core_common_1.Disposable();
118
+ if (type) {
119
+ const property = type.property;
120
+ assignModelDecorationOptions(result, property, currentTheme);
121
+ }
122
+ if (options) {
123
+ const tempType = this.decorationService.createTextEditorDecorationType(options);
124
+ assignModelDecorationOptions(result, tempType.property, currentTheme);
125
+ disposer.addDispose(tempType);
126
+ }
127
+ return {
128
+ options: result,
129
+ dispose: () => disposer.dispose(),
130
+ };
131
+ }
132
+ };
133
+ (0, tslib_1.__decorate)([
134
+ (0, di_1.Autowired)(types_1.IEditorDecorationCollectionService),
135
+ (0, tslib_1.__metadata)("design:type", Object)
136
+ ], MonacoEditorDecorationApplier.prototype, "decorationService", void 0);
137
+ (0, tslib_1.__decorate)([
138
+ (0, di_1.Autowired)(ide_theme_1.IThemeService),
139
+ (0, tslib_1.__metadata)("design:type", Object)
140
+ ], MonacoEditorDecorationApplier.prototype, "themeService", void 0);
141
+ (0, tslib_1.__decorate)([
142
+ (0, di_1.Autowired)(ide_core_common_1.IEventBus),
143
+ (0, tslib_1.__metadata)("design:type", Object)
144
+ ], MonacoEditorDecorationApplier.prototype, "eventBus", void 0);
145
+ MonacoEditorDecorationApplier = (0, tslib_1.__decorate)([
146
+ (0, di_1.Injectable)({ multiple: true }),
147
+ (0, tslib_1.__metadata)("design:paramtypes", [Object])
148
+ ], MonacoEditorDecorationApplier);
149
+ exports.MonacoEditorDecorationApplier = MonacoEditorDecorationApplier;
150
+ function assignModelDecorationOptions(target, property, currentTheme) {
151
+ if (property.overviewRulerLane) {
152
+ if (!target.overviewRuler) {
153
+ target.overviewRuler = {
154
+ color: null,
155
+ range: null,
156
+ position: property.overviewRulerLane,
157
+ };
158
+ }
159
+ else {
160
+ target.overviewRuler.position = property.overviewRulerLane;
161
+ }
162
+ }
163
+ if (property.default) {
164
+ assignModelDecorationStyle(target, property.default);
165
+ }
166
+ if (currentTheme === 'dark' && property.dark) {
167
+ assignModelDecorationStyle(target, property.dark);
168
+ }
169
+ if (currentTheme === 'light' && property.light) {
170
+ assignModelDecorationStyle(target, property.light);
171
+ }
172
+ if (property.isWholeLine !== undefined) {
173
+ target.isWholeLine = property.isWholeLine;
174
+ }
175
+ if (property.rangeBehavior) {
176
+ target.stickiness = property.rangeBehavior;
177
+ }
178
+ target.inlineClassNameAffectsLetterSpacing = true;
179
+ }
180
+ function assignModelDecorationStyle(target, style) {
181
+ if (style.className) {
182
+ target.className = (0, classnames_1.default)(target.className, style.className);
183
+ }
184
+ if (style.inlineClassName) {
185
+ target.inlineClassName = (0, classnames_1.default)(target.inlineClassName, style.inlineClassName);
186
+ }
187
+ if (style.afterContentClassName) {
188
+ target.afterContentClassName = (0, classnames_1.default)(target.afterContentClassName, style.afterContentClassName);
189
+ }
190
+ if (style.beforeContentClassName) {
191
+ target.beforeContentClassName = (0, classnames_1.default)(target.beforeContentClassName, style.beforeContentClassName);
192
+ }
193
+ if (style.glyphMarginClassName) {
194
+ target.glyphMarginClassName = (0, classnames_1.default)(target.glyphMarginClassName, style.glyphMarginClassName);
195
+ }
196
+ if (style.overviewRulerColor) {
197
+ if (target.overviewRuler) {
198
+ target.overviewRuler.color = style.overviewRulerColor;
199
+ }
200
+ }
201
+ }
202
+ function resolveHoverMessage(str) {
203
+ if (!str) {
204
+ return undefined;
205
+ }
206
+ if (str instanceof Array) {
207
+ return str.map(toMarkdownString);
208
+ }
209
+ else {
210
+ return toMarkdownString(str);
211
+ }
212
+ }
213
+ function toMarkdownString(str) {
214
+ if (typeof str === 'string') {
215
+ return {
216
+ value: str,
217
+ isTrusted: true,
218
+ };
219
+ }
220
+ else {
221
+ return str;
222
+ }
223
+ }
224
+ //# sourceMappingURL=decoration-applier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoration-applier.js","sourceRoot":"","sources":["../../src/browser/decoration-applier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ICompareService, CompareResult } from '../types';
2
+ import { URI, Deferred, CommandContribution, CommandRegistry } from '@opensumi/ide-core-browser';
3
+ import { MenuContribution, IMenuRegistry } from '@opensumi/ide-core-browser/lib/menu/next';
4
+ export declare class CompareService implements ICompareService {
5
+ readonly comparing: Map<string, Deferred<CompareResult>>;
6
+ private commandService;
7
+ compare(original: URI, modified: URI, name: string): Promise<CompareResult>;
8
+ }
9
+ export declare class CompareEditorContribution implements MenuContribution, CommandContribution {
10
+ compareService: CompareService;
11
+ registerMenus(menu: IMenuRegistry): void;
12
+ registerCommands(commands: CommandRegistry): void;
13
+ }
14
+ //# sourceMappingURL=compare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/browser/diff/compare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAoB,QAAQ,EAAmC,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEpJ,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAU,MAAM,0CAA0C,CAAC;AAEnG,qBACa,cAAe,YAAW,eAAe;IAEpD,SAAgB,SAAS,uCAA8C;IAGvE,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAqB5E;AAED,qBACa,yBAA0B,YAAW,gBAAgB,EAAE,mBAAmB;IAGrF,cAAc,EAAE,cAAc,CAAC;IAE/B,aAAa,CAAC,IAAI,EAAE,aAAa;IAyBjC,gBAAgB,CAAC,QAAQ,EAAE,eAAe;CAiB3C"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompareEditorContribution = exports.CompareService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const types_1 = require("../types");
7
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
+ const ide_core_browser_2 = require("@opensumi/ide-core-browser");
9
+ const next_1 = require("@opensumi/ide-core-browser/lib/menu/next");
10
+ let CompareService = class CompareService {
11
+ constructor() {
12
+ this.comparing = new Map();
13
+ }
14
+ compare(original, modified, name) {
15
+ const compareUri = ide_core_browser_1.URI.from({
16
+ scheme: 'diff',
17
+ query: ide_core_browser_1.URI.stringifyQuery({
18
+ name,
19
+ original,
20
+ modified,
21
+ comparing: true,
22
+ }),
23
+ });
24
+ if (!this.comparing.has(compareUri.toString())) {
25
+ const deferred = new ide_core_browser_1.Deferred();
26
+ this.comparing.set(compareUri.toString(), deferred);
27
+ deferred.promise.then(() => {
28
+ this.comparing.delete(compareUri.toString());
29
+ this.commandService.executeCommand(ide_core_browser_1.EDITOR_COMMANDS.CLOSE_ALL.id, compareUri);
30
+ });
31
+ }
32
+ this.commandService.executeCommand(ide_core_browser_1.EDITOR_COMMANDS.OPEN_RESOURCE.id, compareUri);
33
+ return this.comparing.get(compareUri.toString()).promise;
34
+ }
35
+ };
36
+ (0, tslib_1.__decorate)([
37
+ (0, di_1.Autowired)(ide_core_browser_1.CommandService),
38
+ (0, tslib_1.__metadata)("design:type", Object)
39
+ ], CompareService.prototype, "commandService", void 0);
40
+ CompareService = (0, tslib_1.__decorate)([
41
+ (0, di_1.Injectable)()
42
+ ], CompareService);
43
+ exports.CompareService = CompareService;
44
+ let CompareEditorContribution = class CompareEditorContribution {
45
+ registerMenus(menu) {
46
+ menu.registerMenuItems(next_1.MenuId.EditorTitle, [
47
+ {
48
+ command: {
49
+ id: 'editor.diff.accept',
50
+ label: (0, ide_core_browser_1.localize)('editor.action.accept'),
51
+ },
52
+ iconClass: (0, ide_core_browser_2.getIcon)('check'),
53
+ group: 'navigation',
54
+ when: 'isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/',
55
+ },
56
+ ]);
57
+ menu.registerMenuItems(next_1.MenuId.EditorTitle, [
58
+ {
59
+ command: {
60
+ id: 'editor.diff.revert',
61
+ label: (0, ide_core_browser_1.localize)('editor.action.revert'),
62
+ },
63
+ iconClass: (0, ide_core_browser_2.getIcon)('rollback'),
64
+ group: 'navigation',
65
+ when: 'isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/',
66
+ },
67
+ ]);
68
+ }
69
+ registerCommands(commands) {
70
+ commands.registerCommand({ id: 'editor.diff.accept' }, {
71
+ execute: (uri) => {
72
+ if (uri && this.compareService.comparing.has(uri.toString())) {
73
+ this.compareService.comparing.get(uri.toString()).resolve(types_1.CompareResult.accept);
74
+ }
75
+ },
76
+ });
77
+ commands.registerCommand({ id: 'editor.diff.revert' }, {
78
+ execute: (uri) => {
79
+ if (uri && this.compareService.comparing.has(uri.toString())) {
80
+ this.compareService.comparing.get(uri.toString()).resolve(types_1.CompareResult.revert);
81
+ }
82
+ },
83
+ });
84
+ }
85
+ };
86
+ (0, tslib_1.__decorate)([
87
+ (0, di_1.Autowired)(types_1.ICompareService),
88
+ (0, tslib_1.__metadata)("design:type", CompareService)
89
+ ], CompareEditorContribution.prototype, "compareService", void 0);
90
+ CompareEditorContribution = (0, tslib_1.__decorate)([
91
+ (0, ide_core_browser_1.Domain)(next_1.MenuContribution, ide_core_browser_1.CommandContribution)
92
+ ], CompareEditorContribution);
93
+ exports.CompareEditorContribution = CompareEditorContribution;
94
+ //# sourceMappingURL=compare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/browser/diff/compare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { IResourceProvider, IDiffResource, ResourceService, ResourceDecorationChangeEvent } from '../../common';
2
+ import { URI, WithEventBus } from '@opensumi/ide-core-browser';
3
+ import { LabelService } from '@opensumi/ide-core-browser/lib/services';
4
+ import { BrowserEditorContribution, EditorComponentRegistry } from '../types';
5
+ export declare class DiffResourceProvider extends WithEventBus implements IResourceProvider {
6
+ labelService: LabelService;
7
+ resourceService: ResourceService;
8
+ scheme: string;
9
+ private modifiedToResource;
10
+ onResourceDecorationChangeEvent(e: ResourceDecorationChangeEvent): void;
11
+ provideResource(uri: URI): Promise<IDiffResource>;
12
+ shouldCloseResource(resource: any, openedResources: any): Promise<boolean>;
13
+ }
14
+ export declare class DefaultDiffEditorContribution implements BrowserEditorContribution {
15
+ diffResourceProvider: DiffResourceProvider;
16
+ registerResource(resourceService: ResourceService): void;
17
+ registerEditorComponent(registry: EditorComponentRegistry): void;
18
+ }
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,GAAG,EAAU,YAAY,EAAW,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAO9E,qBACa,oBAAqB,SAAQ,YAAa,YAAW,iBAAiB;IAGjF,YAAY,EAAE,YAAY,CAAC;IAG3B,eAAe,EAAE,eAAe,CAAC;IAEjC,MAAM,EAAE,MAAM,CAAU;IAExB,OAAO,CAAC,kBAAkB,CAA0B;IAGpD,+BAA+B,CAAC,CAAC,EAAE,6BAA6B;IAS1D,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBjD,mBAAmB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;CAUvE;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IAG7E,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIxD,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB;CAQ1D"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultDiffEditorContribution = exports.DiffResourceProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("../../common");
6
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const di_1 = require("@opensumi/di");
8
+ const services_1 = require("@opensumi/ide-core-browser/lib/services");
9
+ const types_1 = require("../types");
10
+ // diff URI:
11
+ // diff://?name=tabName&original=uri1&modified=uri2
12
+ // 例子:
13
+ // diff://?name=a.ts(on disk)<=>a.ts&original=file://path/to/a.ts&modified=fileOnDisk://path/to/a.ts
14
+ let DiffResourceProvider = class DiffResourceProvider extends ide_core_browser_1.WithEventBus {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.scheme = 'diff';
18
+ this.modifiedToResource = new Map();
19
+ }
20
+ onResourceDecorationChangeEvent(e) {
21
+ if (e.payload.uri && this.modifiedToResource.has(e.payload.uri.toString())) {
22
+ this.eventBus.fire(new common_1.ResourceDecorationChangeEvent({
23
+ uri: this.modifiedToResource.get(e.payload.uri.toString()),
24
+ decoration: e.payload.decoration,
25
+ }));
26
+ }
27
+ }
28
+ async provideResource(uri) {
29
+ const { original, modified, name } = uri.getParsedQuery();
30
+ const originalUri = new ide_core_browser_1.URI(original);
31
+ const modifiedUri = new ide_core_browser_1.URI(modified);
32
+ const icon = await this.labelService.getIcon(originalUri);
33
+ this.modifiedToResource.set(modifiedUri.toString(), uri);
34
+ return {
35
+ name,
36
+ icon,
37
+ uri,
38
+ metadata: {
39
+ original: originalUri,
40
+ modified: modifiedUri,
41
+ },
42
+ };
43
+ }
44
+ async shouldCloseResource(resource, openedResources) {
45
+ const { modified } = resource.uri.getParsedQuery();
46
+ const modifiedUri = new ide_core_browser_1.URI(modified);
47
+ const modifiedResource = await this.resourceService.getResource(modifiedUri);
48
+ if (modifiedResource) {
49
+ return await this.resourceService.shouldCloseResource(modifiedResource, openedResources);
50
+ }
51
+ return true;
52
+ }
53
+ };
54
+ (0, tslib_1.__decorate)([
55
+ (0, di_1.Autowired)(),
56
+ (0, tslib_1.__metadata)("design:type", services_1.LabelService)
57
+ ], DiffResourceProvider.prototype, "labelService", void 0);
58
+ (0, tslib_1.__decorate)([
59
+ (0, di_1.Autowired)(common_1.ResourceService),
60
+ (0, tslib_1.__metadata)("design:type", common_1.ResourceService)
61
+ ], DiffResourceProvider.prototype, "resourceService", void 0);
62
+ (0, tslib_1.__decorate)([
63
+ (0, ide_core_browser_1.OnEvent)(common_1.ResourceDecorationChangeEvent),
64
+ (0, tslib_1.__metadata)("design:type", Function),
65
+ (0, tslib_1.__metadata)("design:paramtypes", [common_1.ResourceDecorationChangeEvent]),
66
+ (0, tslib_1.__metadata)("design:returntype", void 0)
67
+ ], DiffResourceProvider.prototype, "onResourceDecorationChangeEvent", null);
68
+ DiffResourceProvider = (0, tslib_1.__decorate)([
69
+ (0, di_1.Injectable)()
70
+ ], DiffResourceProvider);
71
+ exports.DiffResourceProvider = DiffResourceProvider;
72
+ let DefaultDiffEditorContribution = class DefaultDiffEditorContribution {
73
+ registerResource(resourceService) {
74
+ resourceService.registerResourceProvider(this.diffResourceProvider);
75
+ }
76
+ registerEditorComponent(registry) {
77
+ registry.registerEditorComponentResolver('diff', (resource, results) => {
78
+ results.push({
79
+ type: 'diff',
80
+ });
81
+ });
82
+ }
83
+ };
84
+ (0, tslib_1.__decorate)([
85
+ (0, di_1.Autowired)(),
86
+ (0, tslib_1.__metadata)("design:type", DiffResourceProvider)
87
+ ], DefaultDiffEditorContribution.prototype, "diffResourceProvider", void 0);
88
+ DefaultDiffEditorContribution = (0, tslib_1.__decorate)([
89
+ (0, ide_core_browser_1.Domain)(types_1.BrowserEditorContribution)
90
+ ], DefaultDiffEditorContribution);
91
+ exports.DefaultDiffEditorContribution = DefaultDiffEditorContribution;
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/diff/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { URI } from '@opensumi/ide-core-browser';
2
+ import { IDocPersistentCacheProvider, IDocStatus } from '../../common/doc-cache';
3
+ /**
4
+ * 一个空的,什么都不做的缓存对象,提供一个空的缓存对象实现
5
+ */
6
+ export declare class EmptyDocCacheImpl implements IDocPersistentCacheProvider {
7
+ hasCache(_uri: URI): boolean;
8
+ isFlushed(): boolean;
9
+ getCache(_uri: URI): null;
10
+ persistCache(_uri: URI, _status: IDocStatus): void;
11
+ }
12
+ //# sourceMappingURL=empty-doc-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-doc-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/empty-doc-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEjF;;GAEG;AACH,qBACa,iBAAkB,YAAW,2BAA2B;IACnE,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB,SAAS;IAIT,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU;CAG5C"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmptyDocCacheImpl = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ /**
7
+ * 一个空的,什么都不做的缓存对象,提供一个空的缓存对象实现
8
+ */
9
+ let EmptyDocCacheImpl = class EmptyDocCacheImpl {
10
+ hasCache(_uri) {
11
+ return false;
12
+ }
13
+ isFlushed() {
14
+ return true;
15
+ }
16
+ getCache(_uri) {
17
+ return null;
18
+ }
19
+ persistCache(_uri, _status) {
20
+ // nothing
21
+ }
22
+ };
23
+ EmptyDocCacheImpl = (0, tslib_1.__decorate)([
24
+ (0, di_1.Injectable)()
25
+ ], EmptyDocCacheImpl);
26
+ exports.EmptyDocCacheImpl = EmptyDocCacheImpl;
27
+ //# sourceMappingURL=empty-doc-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-doc-cache.js","sourceRoot":"","sources":["../../../src/browser/doc-cache/empty-doc-cache.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAI1C;;GAEG;AAEH,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAS;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAS;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,IAAS,EAAE,OAAmB;QACzC,UAAU;IACZ,CAAC;CACF,CAAA;AAhBY,iBAAiB;IAD7B,IAAA,eAAU,GAAE;GACA,iBAAiB,CAgB7B;AAhBY,8CAAiB"}
@@ -0,0 +1,3 @@
1
+ export * from './empty-doc-cache';
2
+ export * from './local-storage-cache';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./empty-doc-cache"), exports);
5
+ (0, tslib_1.__exportStar)(require("./local-storage-cache"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/doc-cache/index.ts"],"names":[],"mappings":";;;AAAA,iEAAkC;AAClC,qEAAsC"}
@@ -0,0 +1,32 @@
1
+ import { URI } from '@opensumi/ide-core-common';
2
+ import { IDocPersistentCacheProvider, IDocStatus, IDocCache } from '../../common/doc-cache';
3
+ /**
4
+ * 使用 LocalStorage 实现的文档缓存对象
5
+ */
6
+ export declare class LocalStorageDocCacheImpl implements IDocPersistentCacheProvider {
7
+ private storageService;
8
+ hasCache(_uri: URI): boolean;
9
+ /**
10
+ * LocalStorage 的存储都是瞬间完成的,始终返回 true
11
+ */
12
+ isFlushed(): boolean;
13
+ /**
14
+ * 从 LocalStorage 获取缓存数据,
15
+ * 因为底层对象设计是异步的,所以这里也是异步的,实际上是立即返回的
16
+ * @param uri
17
+ */
18
+ getCache(uri: URI): Promise<IDocCache | null>;
19
+ /**
20
+ * 持久化缓存对象到 LocalStorage 中
21
+ * @param uri
22
+ * @param status
23
+ */
24
+ persistCache(uri: URI, status: IDocStatus): void;
25
+ /**
26
+ * 从文档状态解析缓存对象
27
+ * @param status
28
+ */
29
+ private parseCacheFrom;
30
+ private parseKeyFrom;
31
+ }
32
+ //# sourceMappingURL=local-storage-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/doc-cache/local-storage-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AAGjH;;GAEG;AACH,qBACa,wBAAyB,YAAW,2BAA2B;IAE1E,OAAO,CAAC,cAAc,CAA2B;IAEjD,QAAQ,CAAC,IAAI,EAAE,GAAG;IAIlB;;OAEG;IACH,SAAS;IAIT;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,GAAG;IAMvB;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU;IAMzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;CAGrB"}