claude-flow-novice 2.0.3 → 2.0.5

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 (228) hide show
  1. package/dist/src/cli/commands/swarm.js +1 -1
  2. package/dist/src/cli/main.js +1 -1
  3. package/dist/src/coordination/byzantine-memory-channels.js +25 -1
  4. package/dist/src/index.js +384 -35
  5. package/dist/src/utils/error-handler.js +2 -36
  6. package/dist/src/web/api/apm-routes.js +353 -0
  7. package/dist/src/web/api/config/api-config.js +184 -0
  8. package/dist/src/web/api/middleware/auth.js +203 -0
  9. package/dist/src/web/api/middleware/cache.js +273 -0
  10. package/dist/src/web/api/middleware/error-handler.js +257 -0
  11. package/dist/src/web/api/middleware/request-logger.js +215 -0
  12. package/dist/src/web/api/middleware/validation.js +323 -0
  13. package/dist/src/web/api/routes/events.js +463 -0
  14. package/dist/src/web/api/routes/hierarchy.js +300 -0
  15. package/dist/src/web/api/routes/index.js +12 -0
  16. package/dist/src/web/api/routes/metrics.js +559 -0
  17. package/dist/src/web/api/routes/parallel-status.js +359 -0
  18. package/dist/src/web/api/routes/status.js +448 -0
  19. package/dist/src/web/api/server.js +462 -0
  20. package/dist/src/web/dashboard/hooks/useWebSocket.js +383 -0
  21. package/dist/src/web/dashboard/index.js +85 -0
  22. package/dist/src/web/dashboard/realtime/CustomSyncManager.js +439 -0
  23. package/dist/src/web/dashboard/realtime/NativeWebSocketManager.js +323 -0
  24. package/dist/src/web/dashboard/realtime/PerformanceBenchmark.js +527 -0
  25. package/dist/src/web/dashboard/realtime/RealtimeCommunicationManager.js +474 -0
  26. package/dist/src/web/dashboard/realtime/RealtimeServer.js +666 -0
  27. package/dist/src/web/dashboard/realtime/SSEManager.js +426 -0
  28. package/dist/src/web/dashboard/types.js +4 -0
  29. package/dist/src/web/messaging/agent-status-tracker.js +453 -0
  30. package/dist/src/web/messaging/human-intervention-system.js +305 -0
  31. package/dist/src/web/messaging/message-filter.js +302 -0
  32. package/dist/src/web/messaging/swarm-message-router.js +324 -0
  33. package/dist/src/web/messaging/transparency-logger.js +421 -0
  34. package/dist/src/web/portal-server.js +460 -0
  35. package/dist/src/web/server.js +322 -0
  36. package/dist/src/web/websocket/apm-websocket-handler.js +453 -0
  37. package/dist/src/web/websocket/websocket-manager.js +780 -0
  38. package/package.json +6 -4
  39. package/dist/src/cli/minimal-main.js +0 -22
  40. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.js +0 -23
  41. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +0 -57
  42. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +0 -401
  43. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +0 -181
  44. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +0 -44
  45. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +0 -157
  46. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.js +0 -71
  47. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/editorState/browser/editorState.js +0 -112
  48. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findController.js +0 -990
  49. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findDecorations.js +0 -296
  50. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findModel.js +0 -488
  51. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findOptionsWidget.js +0 -138
  52. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findState.js +0 -243
  53. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findWidget.js +0 -1177
  54. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/folding.js +0 -1093
  55. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +0 -133
  56. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingModel.js +0 -538
  57. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingRanges.js +0 -351
  58. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +0 -49
  59. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/format.js +0 -360
  60. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formatActions.js +0 -263
  61. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formattingEdit.js +0 -54
  62. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +0 -149
  63. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/hover/browser/contentHover.js +0 -874
  64. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commandIds.js +0 -7
  65. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commands.js +0 -199
  66. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +0 -70
  67. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -26
  68. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +0 -153
  69. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +0 -33
  70. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +0 -354
  71. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.js +0 -146
  72. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/suggest/browser/completionModel.js +0 -224
  73. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +0 -119
  74. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/edcore.main.js +0 -14
  75. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.all.js +0 -63
  76. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.api.js +0 -55
  77. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.main.js +0 -7
  78. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.worker.js +0 -25
  79. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/standalone/browser/colorizer.js +0 -118
  80. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/css.worker.js +0 -36869
  81. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/cssMode.js +0 -2035
  82. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
  83. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
  84. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
  85. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
  86. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
  87. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
  88. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
  89. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
  90. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
  91. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
  92. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
  93. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
  94. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
  95. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
  96. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
  97. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
  98. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
  99. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
  100. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
  101. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
  102. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
  103. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
  104. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
  105. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
  106. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
  107. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
  108. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
  109. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
  110. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
  111. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
  112. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
  113. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
  114. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
  115. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
  116. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
  117. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
  118. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
  119. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
  120. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
  121. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
  122. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
  123. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
  124. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cameligo/cameligo.js +0 -10
  125. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/clojure/clojure.js +0 -10
  126. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/coffee/coffee.js +0 -10
  127. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cpp/cpp.js +0 -10
  128. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csharp/csharp.js +0 -10
  129. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csp/csp.js +0 -10
  130. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/css/css.js +0 -12
  131. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cypher/cypher.js +0 -10
  132. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dart/dart.js +0 -10
  133. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  134. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/ecl/ecl.js +0 -10
  135. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/elixir/elixir.js +0 -10
  136. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/flow9/flow9.js +0 -10
  137. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.js +0 -745
  138. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.de.js +0 -31
  139. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.es.js +0 -31
  140. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.fr.js +0 -29
  141. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.it.js +0 -29
  142. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ja.js +0 -31
  143. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.js +0 -29
  144. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ko.js +0 -29
  145. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ru.js +0 -31
  146. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-cn.js +0 -31
  147. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-tw.js +0 -29
  148. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssMode.js +0 -13
  149. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssWorker.js +0 -81
  150. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/cli.js +0 -64
  151. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/example.js +0 -36
  152. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/index.js +0 -205
  153. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/test.js +0 -260
  154. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.browser.js +0 -34
  155. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.js +0 -35
  156. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.native.js +0 -26
  157. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.browser.js +0 -34
  158. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.js +0 -45
  159. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/nanoid.js +0 -1
  160. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/non-secure/index.js +0 -21
  161. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/url-alphabet/index.js +0 -3
  162. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/bin/nodemon.js +0 -16
  163. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/index.js +0 -49
  164. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/parse.js +0 -230
  165. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/command.js +0 -43
  166. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/defaults.js +0 -34
  167. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/exec.js +0 -234
  168. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/index.js +0 -93
  169. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/load.js +0 -225
  170. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/help/index.js +0 -27
  171. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/index.js +0 -1
  172. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/index.js +0 -4
  173. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/match.js +0 -287
  174. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/run.js +0 -562
  175. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/signals.js +0 -34
  176. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/watch.js +0 -244
  177. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/nodemon.js +0 -317
  178. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/add.js +0 -89
  179. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/index.js +0 -53
  180. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/parse.js +0 -43
  181. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/spawn.js +0 -74
  182. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/bus.js +0 -44
  183. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/clone.js +0 -40
  184. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/colour.js +0 -26
  185. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/index.js +0 -103
  186. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/log.js +0 -82
  187. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/merge.js +0 -47
  188. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/version.js +0 -100
  189. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/brace-expansion/index.js +0 -201
  190. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/has-flag/index.js +0 -8
  191. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/minimatch/minimatch.js +0 -947
  192. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/browser.js +0 -5
  193. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/index.js +0 -131
  194. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/bin/pidtree.js +0 -128
  195. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/index.js +0 -49
  196. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/bin.js +0 -61
  197. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/get.js +0 -45
  198. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/pidtree.js +0 -104
  199. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/ps.js +0 -47
  200. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/wmic.js +0 -49
  201. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/doc.js +0 -1270
  202. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/acorn.js +0 -15
  203. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/angular.js +0 -2
  204. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/babel.js +0 -15
  205. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/estree.js +0 -36
  206. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/flow.js +0 -19
  207. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/glimmer.js +0 -29
  208. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/graphql.js +0 -29
  209. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/html.js +0 -22
  210. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/markdown.js +0 -63
  211. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/meriyah.js +0 -4
  212. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/postcss.js +0 -54
  213. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/typescript.js +0 -20
  214. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/yaml.js +0 -160
  215. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/standalone.js +0 -34
  216. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/bin/react-scripts.js +0 -58
  217. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/env.js +0 -112
  218. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/getHttpsConfig.js +0 -74
  219. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/babelTransform.js +0 -37
  220. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/cssTransform.js +0 -22
  221. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/fileTransform.js +0 -40
  222. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/modules.js +0 -142
  223. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/paths.js +0 -153
  224. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  225. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack.config.js +0 -796
  226. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpackDevServer.config.js +0 -135
  227. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/build.js +0 -225
  228. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/eject.js +0 -340
@@ -1,1093 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
- return c > 3 && r && Object.defineProperty(target, key, r), r;
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var FoldingController_1;
15
- import { createCancelablePromise, Delayer, RunOnceScheduler } from '../../../../base/common/async.js';
16
- import { CancellationToken } from '../../../../base/common/cancellation.js';
17
- import { illegalArgument, onUnexpectedError } from '../../../../base/common/errors.js';
18
- import { KeyChord } from '../../../../base/common/keyCodes.js';
19
- import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';
20
- import { escapeRegExpCharacters } from '../../../../base/common/strings.js';
21
- import * as types from '../../../../base/common/types.js';
22
- import './folding.css';
23
- import { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';
24
- import { EditorAction, registerEditorAction, registerEditorContribution, registerInstantiatedEditorAction } from '../../../browser/editorExtensions.js';
25
- import { EditorContextKeys } from '../../../common/editorContextKeys.js';
26
- import { FoldingRangeKind } from '../../../common/languages.js';
27
- import { ILanguageConfigurationService } from '../../../common/languages/languageConfigurationRegistry.js';
28
- import { FoldingModel, getNextFoldLine, getParentFoldLine as getParentFoldLine, getPreviousFoldLine, setCollapseStateAtLevel, setCollapseStateForMatchingLines, setCollapseStateForRest, setCollapseStateForType, setCollapseStateLevelsDown, setCollapseStateLevelsUp, setCollapseStateUp, toggleCollapseState } from './foldingModel.js';
29
- import { HiddenRangeModel } from './hiddenRangeModel.js';
30
- import { IndentRangeProvider } from './indentRangeProvider.js';
31
- import * as nls from '../../../../nls.js';
32
- import { IContextKeyService, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
33
- import { FoldingDecorationProvider } from './foldingDecorations.js';
34
- import { FoldingRegions } from './foldingRanges.js';
35
- import { SyntaxRangeProvider } from './syntaxRangeProvider.js';
36
- import { INotificationService } from '../../../../platform/notification/common/notification.js';
37
- import { ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';
38
- import { StopWatch } from '../../../../base/common/stopwatch.js';
39
- import { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';
40
- import { Emitter } from '../../../../base/common/event.js';
41
- import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
42
- import { URI } from '../../../../base/common/uri.js';
43
- import { IModelService } from '../../../common/services/model.js';
44
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
45
- const CONTEXT_FOLDING_ENABLED = new RawContextKey('foldingEnabled', false);
46
- let FoldingController = FoldingController_1 = class FoldingController extends Disposable {
47
- static get(editor) {
48
- return editor.getContribution(FoldingController_1.ID);
49
- }
50
- static getFoldingRangeProviders(languageFeaturesService, model) {
51
- var _a, _b;
52
- const foldingRangeProviders = languageFeaturesService.foldingRangeProvider.ordered(model);
53
- return (_b = ((_a = FoldingController_1._foldingRangeSelector) === null || _a === void 0 ? void 0 : _a.call(FoldingController_1, foldingRangeProviders, model))) !== null && _b !== void 0 ? _b : foldingRangeProviders;
54
- }
55
- constructor(editor, contextKeyService, languageConfigurationService, notificationService, languageFeatureDebounceService, languageFeaturesService) {
56
- super();
57
- this.contextKeyService = contextKeyService;
58
- this.languageConfigurationService = languageConfigurationService;
59
- this.languageFeaturesService = languageFeaturesService;
60
- this.localToDispose = this._register(new DisposableStore());
61
- this.editor = editor;
62
- this._foldingLimitReporter = new RangesLimitReporter(editor);
63
- const options = this.editor.getOptions();
64
- this._isEnabled = options.get(43 /* EditorOption.folding */);
65
- this._useFoldingProviders = options.get(44 /* EditorOption.foldingStrategy */) !== 'indentation';
66
- this._unfoldOnClickAfterEndOfLine = options.get(48 /* EditorOption.unfoldOnClickAfterEndOfLine */);
67
- this._restoringViewState = false;
68
- this._currentModelHasFoldedImports = false;
69
- this._foldingImportsByDefault = options.get(46 /* EditorOption.foldingImportsByDefault */);
70
- this.updateDebounceInfo = languageFeatureDebounceService.for(languageFeaturesService.foldingRangeProvider, 'Folding', { min: 200 });
71
- this.foldingModel = null;
72
- this.hiddenRangeModel = null;
73
- this.rangeProvider = null;
74
- this.foldingRegionPromise = null;
75
- this.foldingModelPromise = null;
76
- this.updateScheduler = null;
77
- this.cursorChangedScheduler = null;
78
- this.mouseDownInfo = null;
79
- this.foldingDecorationProvider = new FoldingDecorationProvider(editor);
80
- this.foldingDecorationProvider.showFoldingControls = options.get(109 /* EditorOption.showFoldingControls */);
81
- this.foldingDecorationProvider.showFoldingHighlights = options.get(45 /* EditorOption.foldingHighlight */);
82
- this.foldingEnabled = CONTEXT_FOLDING_ENABLED.bindTo(this.contextKeyService);
83
- this.foldingEnabled.set(this._isEnabled);
84
- this._register(this.editor.onDidChangeModel(() => this.onModelChanged()));
85
- this._register(this.editor.onDidChangeConfiguration((e) => {
86
- if (e.hasChanged(43 /* EditorOption.folding */)) {
87
- this._isEnabled = this.editor.getOptions().get(43 /* EditorOption.folding */);
88
- this.foldingEnabled.set(this._isEnabled);
89
- this.onModelChanged();
90
- }
91
- if (e.hasChanged(47 /* EditorOption.foldingMaximumRegions */)) {
92
- this.onModelChanged();
93
- }
94
- if (e.hasChanged(109 /* EditorOption.showFoldingControls */) || e.hasChanged(45 /* EditorOption.foldingHighlight */)) {
95
- const options = this.editor.getOptions();
96
- this.foldingDecorationProvider.showFoldingControls = options.get(109 /* EditorOption.showFoldingControls */);
97
- this.foldingDecorationProvider.showFoldingHighlights = options.get(45 /* EditorOption.foldingHighlight */);
98
- this.triggerFoldingModelChanged();
99
- }
100
- if (e.hasChanged(44 /* EditorOption.foldingStrategy */)) {
101
- this._useFoldingProviders = this.editor.getOptions().get(44 /* EditorOption.foldingStrategy */) !== 'indentation';
102
- this.onFoldingStrategyChanged();
103
- }
104
- if (e.hasChanged(48 /* EditorOption.unfoldOnClickAfterEndOfLine */)) {
105
- this._unfoldOnClickAfterEndOfLine = this.editor.getOptions().get(48 /* EditorOption.unfoldOnClickAfterEndOfLine */);
106
- }
107
- if (e.hasChanged(46 /* EditorOption.foldingImportsByDefault */)) {
108
- this._foldingImportsByDefault = this.editor.getOptions().get(46 /* EditorOption.foldingImportsByDefault */);
109
- }
110
- }));
111
- this.onModelChanged();
112
- }
113
- /**
114
- * Store view state.
115
- */
116
- saveViewState() {
117
- const model = this.editor.getModel();
118
- if (!model || !this._isEnabled || model.isTooLargeForTokenization()) {
119
- return {};
120
- }
121
- if (this.foldingModel) { // disposed ?
122
- const collapsedRegions = this.foldingModel.getMemento();
123
- const provider = this.rangeProvider ? this.rangeProvider.id : undefined;
124
- return { collapsedRegions, lineCount: model.getLineCount(), provider, foldedImports: this._currentModelHasFoldedImports };
125
- }
126
- return undefined;
127
- }
128
- /**
129
- * Restore view state.
130
- */
131
- restoreViewState(state) {
132
- const model = this.editor.getModel();
133
- if (!model || !this._isEnabled || model.isTooLargeForTokenization() || !this.hiddenRangeModel) {
134
- return;
135
- }
136
- if (!state) {
137
- return;
138
- }
139
- this._currentModelHasFoldedImports = !!state.foldedImports;
140
- if (state.collapsedRegions && state.collapsedRegions.length > 0 && this.foldingModel) {
141
- this._restoringViewState = true;
142
- try {
143
- this.foldingModel.applyMemento(state.collapsedRegions);
144
- }
145
- finally {
146
- this._restoringViewState = false;
147
- }
148
- }
149
- }
150
- onModelChanged() {
151
- this.localToDispose.clear();
152
- const model = this.editor.getModel();
153
- if (!this._isEnabled || !model || model.isTooLargeForTokenization()) {
154
- // huge files get no view model, so they cannot support hidden areas
155
- return;
156
- }
157
- this._currentModelHasFoldedImports = false;
158
- this.foldingModel = new FoldingModel(model, this.foldingDecorationProvider);
159
- this.localToDispose.add(this.foldingModel);
160
- this.hiddenRangeModel = new HiddenRangeModel(this.foldingModel);
161
- this.localToDispose.add(this.hiddenRangeModel);
162
- this.localToDispose.add(this.hiddenRangeModel.onDidChange(hr => this.onHiddenRangesChanges(hr)));
163
- this.updateScheduler = new Delayer(this.updateDebounceInfo.get(model));
164
- this.cursorChangedScheduler = new RunOnceScheduler(() => this.revealCursor(), 200);
165
- this.localToDispose.add(this.cursorChangedScheduler);
166
- this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(() => this.onFoldingStrategyChanged()));
167
- this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(() => this.onFoldingStrategyChanged())); // covers model language changes as well
168
- this.localToDispose.add(this.editor.onDidChangeModelContent(e => this.onDidChangeModelContent(e)));
169
- this.localToDispose.add(this.editor.onDidChangeCursorPosition(() => this.onCursorPositionChanged()));
170
- this.localToDispose.add(this.editor.onMouseDown(e => this.onEditorMouseDown(e)));
171
- this.localToDispose.add(this.editor.onMouseUp(e => this.onEditorMouseUp(e)));
172
- this.localToDispose.add({
173
- dispose: () => {
174
- var _a, _b;
175
- if (this.foldingRegionPromise) {
176
- this.foldingRegionPromise.cancel();
177
- this.foldingRegionPromise = null;
178
- }
179
- (_a = this.updateScheduler) === null || _a === void 0 ? void 0 : _a.cancel();
180
- this.updateScheduler = null;
181
- this.foldingModel = null;
182
- this.foldingModelPromise = null;
183
- this.hiddenRangeModel = null;
184
- this.cursorChangedScheduler = null;
185
- (_b = this.rangeProvider) === null || _b === void 0 ? void 0 : _b.dispose();
186
- this.rangeProvider = null;
187
- }
188
- });
189
- this.triggerFoldingModelChanged();
190
- }
191
- onFoldingStrategyChanged() {
192
- var _a;
193
- (_a = this.rangeProvider) === null || _a === void 0 ? void 0 : _a.dispose();
194
- this.rangeProvider = null;
195
- this.triggerFoldingModelChanged();
196
- }
197
- getRangeProvider(editorModel) {
198
- if (this.rangeProvider) {
199
- return this.rangeProvider;
200
- }
201
- const indentRangeProvider = new IndentRangeProvider(editorModel, this.languageConfigurationService, this._foldingLimitReporter);
202
- this.rangeProvider = indentRangeProvider; // fallback
203
- if (this._useFoldingProviders && this.foldingModel) {
204
- const selectedProviders = FoldingController_1.getFoldingRangeProviders(this.languageFeaturesService, editorModel);
205
- if (selectedProviders.length > 0) {
206
- this.rangeProvider = new SyntaxRangeProvider(editorModel, selectedProviders, () => this.triggerFoldingModelChanged(), this._foldingLimitReporter, indentRangeProvider);
207
- }
208
- }
209
- return this.rangeProvider;
210
- }
211
- getFoldingModel() {
212
- return this.foldingModelPromise;
213
- }
214
- onDidChangeModelContent(e) {
215
- var _a;
216
- (_a = this.hiddenRangeModel) === null || _a === void 0 ? void 0 : _a.notifyChangeModelContent(e);
217
- this.triggerFoldingModelChanged();
218
- }
219
- triggerFoldingModelChanged() {
220
- if (this.updateScheduler) {
221
- if (this.foldingRegionPromise) {
222
- this.foldingRegionPromise.cancel();
223
- this.foldingRegionPromise = null;
224
- }
225
- this.foldingModelPromise = this.updateScheduler.trigger(() => {
226
- const foldingModel = this.foldingModel;
227
- if (!foldingModel) { // null if editor has been disposed, or folding turned off
228
- return null;
229
- }
230
- const sw = new StopWatch();
231
- const provider = this.getRangeProvider(foldingModel.textModel);
232
- const foldingRegionPromise = this.foldingRegionPromise = createCancelablePromise(token => provider.compute(token));
233
- return foldingRegionPromise.then(foldingRanges => {
234
- if (foldingRanges && foldingRegionPromise === this.foldingRegionPromise) { // new request or cancelled in the meantime?
235
- let scrollState;
236
- if (this._foldingImportsByDefault && !this._currentModelHasFoldedImports) {
237
- const hasChanges = foldingRanges.setCollapsedAllOfType(FoldingRangeKind.Imports.value, true);
238
- if (hasChanges) {
239
- scrollState = StableEditorScrollState.capture(this.editor);
240
- this._currentModelHasFoldedImports = hasChanges;
241
- }
242
- }
243
- // some cursors might have moved into hidden regions, make sure they are in expanded regions
244
- const selections = this.editor.getSelections();
245
- const selectionLineNumbers = selections ? selections.map(s => s.startLineNumber) : [];
246
- foldingModel.update(foldingRanges, selectionLineNumbers);
247
- scrollState === null || scrollState === void 0 ? void 0 : scrollState.restore(this.editor);
248
- // update debounce info
249
- const newValue = this.updateDebounceInfo.update(foldingModel.textModel, sw.elapsed());
250
- if (this.updateScheduler) {
251
- this.updateScheduler.defaultDelay = newValue;
252
- }
253
- }
254
- return foldingModel;
255
- });
256
- }).then(undefined, (err) => {
257
- onUnexpectedError(err);
258
- return null;
259
- });
260
- }
261
- }
262
- onHiddenRangesChanges(hiddenRanges) {
263
- if (this.hiddenRangeModel && hiddenRanges.length && !this._restoringViewState) {
264
- const selections = this.editor.getSelections();
265
- if (selections) {
266
- if (this.hiddenRangeModel.adjustSelections(selections)) {
267
- this.editor.setSelections(selections);
268
- }
269
- }
270
- }
271
- this.editor.setHiddenAreas(hiddenRanges, this);
272
- }
273
- onCursorPositionChanged() {
274
- if (this.hiddenRangeModel && this.hiddenRangeModel.hasRanges()) {
275
- this.cursorChangedScheduler.schedule();
276
- }
277
- }
278
- revealCursor() {
279
- const foldingModel = this.getFoldingModel();
280
- if (!foldingModel) {
281
- return;
282
- }
283
- foldingModel.then(foldingModel => {
284
- if (foldingModel) {
285
- const selections = this.editor.getSelections();
286
- if (selections && selections.length > 0) {
287
- const toToggle = [];
288
- for (const selection of selections) {
289
- const lineNumber = selection.selectionStartLineNumber;
290
- if (this.hiddenRangeModel && this.hiddenRangeModel.isHidden(lineNumber)) {
291
- toToggle.push(...foldingModel.getAllRegionsAtLine(lineNumber, r => r.isCollapsed && lineNumber > r.startLineNumber));
292
- }
293
- }
294
- if (toToggle.length) {
295
- foldingModel.toggleCollapseState(toToggle);
296
- this.reveal(selections[0].getPosition());
297
- }
298
- }
299
- }
300
- }).then(undefined, onUnexpectedError);
301
- }
302
- onEditorMouseDown(e) {
303
- this.mouseDownInfo = null;
304
- if (!this.hiddenRangeModel || !e.target || !e.target.range) {
305
- return;
306
- }
307
- if (!e.event.leftButton && !e.event.middleButton) {
308
- return;
309
- }
310
- const range = e.target.range;
311
- let iconClicked = false;
312
- switch (e.target.type) {
313
- case 4 /* MouseTargetType.GUTTER_LINE_DECORATIONS */: {
314
- const data = e.target.detail;
315
- const offsetLeftInGutter = e.target.element.offsetLeft;
316
- const gutterOffsetX = data.offsetX - offsetLeftInGutter;
317
- // const gutterOffsetX = data.offsetX - data.glyphMarginWidth - data.lineNumbersWidth - data.glyphMarginLeft;
318
- // TODO@joao TODO@alex TODO@martin this is such that we don't collide with dirty diff
319
- if (gutterOffsetX < 4) { // the whitespace between the border and the real folding icon border is 4px
320
- return;
321
- }
322
- iconClicked = true;
323
- break;
324
- }
325
- case 7 /* MouseTargetType.CONTENT_EMPTY */: {
326
- if (this._unfoldOnClickAfterEndOfLine && this.hiddenRangeModel.hasRanges()) {
327
- const data = e.target.detail;
328
- if (!data.isAfterLines) {
329
- break;
330
- }
331
- }
332
- return;
333
- }
334
- case 6 /* MouseTargetType.CONTENT_TEXT */: {
335
- if (this.hiddenRangeModel.hasRanges()) {
336
- const model = this.editor.getModel();
337
- if (model && range.startColumn === model.getLineMaxColumn(range.startLineNumber)) {
338
- break;
339
- }
340
- }
341
- return;
342
- }
343
- default:
344
- return;
345
- }
346
- this.mouseDownInfo = { lineNumber: range.startLineNumber, iconClicked };
347
- }
348
- onEditorMouseUp(e) {
349
- const foldingModel = this.foldingModel;
350
- if (!foldingModel || !this.mouseDownInfo || !e.target) {
351
- return;
352
- }
353
- const lineNumber = this.mouseDownInfo.lineNumber;
354
- const iconClicked = this.mouseDownInfo.iconClicked;
355
- const range = e.target.range;
356
- if (!range || range.startLineNumber !== lineNumber) {
357
- return;
358
- }
359
- if (iconClicked) {
360
- if (e.target.type !== 4 /* MouseTargetType.GUTTER_LINE_DECORATIONS */) {
361
- return;
362
- }
363
- }
364
- else {
365
- const model = this.editor.getModel();
366
- if (!model || range.startColumn !== model.getLineMaxColumn(lineNumber)) {
367
- return;
368
- }
369
- }
370
- const region = foldingModel.getRegionAtLine(lineNumber);
371
- if (region && region.startLineNumber === lineNumber) {
372
- const isCollapsed = region.isCollapsed;
373
- if (iconClicked || isCollapsed) {
374
- const surrounding = e.event.altKey;
375
- let toToggle = [];
376
- if (surrounding) {
377
- const filter = (otherRegion) => !otherRegion.containedBy(region) && !region.containedBy(otherRegion);
378
- const toMaybeToggle = foldingModel.getRegionsInside(null, filter);
379
- for (const r of toMaybeToggle) {
380
- if (r.isCollapsed) {
381
- toToggle.push(r);
382
- }
383
- }
384
- // if any surrounding regions are folded, unfold those. Otherwise, fold all surrounding
385
- if (toToggle.length === 0) {
386
- toToggle = toMaybeToggle;
387
- }
388
- }
389
- else {
390
- const recursive = e.event.middleButton || e.event.shiftKey;
391
- if (recursive) {
392
- for (const r of foldingModel.getRegionsInside(region)) {
393
- if (r.isCollapsed === isCollapsed) {
394
- toToggle.push(r);
395
- }
396
- }
397
- }
398
- // when recursive, first only collapse all children. If all are already folded or there are no children, also fold parent.
399
- if (isCollapsed || !recursive || toToggle.length === 0) {
400
- toToggle.push(region);
401
- }
402
- }
403
- foldingModel.toggleCollapseState(toToggle);
404
- this.reveal({ lineNumber, column: 1 });
405
- }
406
- }
407
- }
408
- reveal(position) {
409
- this.editor.revealPositionInCenterIfOutsideViewport(position, 0 /* ScrollType.Smooth */);
410
- }
411
- };
412
- FoldingController.ID = 'editor.contrib.folding';
413
- FoldingController = FoldingController_1 = __decorate([
414
- __param(1, IContextKeyService),
415
- __param(2, ILanguageConfigurationService),
416
- __param(3, INotificationService),
417
- __param(4, ILanguageFeatureDebounceService),
418
- __param(5, ILanguageFeaturesService)
419
- ], FoldingController);
420
- export { FoldingController };
421
- export class RangesLimitReporter {
422
- constructor(editor) {
423
- this.editor = editor;
424
- this._onDidChange = new Emitter();
425
- this._computed = 0;
426
- this._limited = false;
427
- }
428
- get limit() {
429
- return this.editor.getOptions().get(47 /* EditorOption.foldingMaximumRegions */);
430
- }
431
- update(computed, limited) {
432
- if (computed !== this._computed || limited !== this._limited) {
433
- this._computed = computed;
434
- this._limited = limited;
435
- this._onDidChange.fire();
436
- }
437
- }
438
- }
439
- class FoldingAction extends EditorAction {
440
- runEditorCommand(accessor, editor, args) {
441
- const languageConfigurationService = accessor.get(ILanguageConfigurationService);
442
- const foldingController = FoldingController.get(editor);
443
- if (!foldingController) {
444
- return;
445
- }
446
- const foldingModelPromise = foldingController.getFoldingModel();
447
- if (foldingModelPromise) {
448
- this.reportTelemetry(accessor, editor);
449
- return foldingModelPromise.then(foldingModel => {
450
- if (foldingModel) {
451
- this.invoke(foldingController, foldingModel, editor, args, languageConfigurationService);
452
- const selection = editor.getSelection();
453
- if (selection) {
454
- foldingController.reveal(selection.getStartPosition());
455
- }
456
- }
457
- });
458
- }
459
- }
460
- getSelectedLines(editor) {
461
- const selections = editor.getSelections();
462
- return selections ? selections.map(s => s.startLineNumber) : [];
463
- }
464
- getLineNumbers(args, editor) {
465
- if (args && args.selectionLines) {
466
- return args.selectionLines.map(l => l + 1); // to 0-bases line numbers
467
- }
468
- return this.getSelectedLines(editor);
469
- }
470
- run(_accessor, _editor) {
471
- }
472
- }
473
- function foldingArgumentsConstraint(args) {
474
- if (!types.isUndefined(args)) {
475
- if (!types.isObject(args)) {
476
- return false;
477
- }
478
- const foldingArgs = args;
479
- if (!types.isUndefined(foldingArgs.levels) && !types.isNumber(foldingArgs.levels)) {
480
- return false;
481
- }
482
- if (!types.isUndefined(foldingArgs.direction) && !types.isString(foldingArgs.direction)) {
483
- return false;
484
- }
485
- if (!types.isUndefined(foldingArgs.selectionLines) && (!Array.isArray(foldingArgs.selectionLines) || !foldingArgs.selectionLines.every(types.isNumber))) {
486
- return false;
487
- }
488
- }
489
- return true;
490
- }
491
- class UnfoldAction extends FoldingAction {
492
- constructor() {
493
- super({
494
- id: 'editor.unfold',
495
- label: nls.localize('unfoldAction.label', "Unfold"),
496
- alias: 'Unfold',
497
- precondition: CONTEXT_FOLDING_ENABLED,
498
- kbOpts: {
499
- kbExpr: EditorContextKeys.editorTextFocus,
500
- primary: 2048 /* KeyMod.CtrlCmd */ | 1024 /* KeyMod.Shift */ | 94 /* KeyCode.BracketRight */,
501
- mac: {
502
- primary: 2048 /* KeyMod.CtrlCmd */ | 512 /* KeyMod.Alt */ | 94 /* KeyCode.BracketRight */
503
- },
504
- weight: 100 /* KeybindingWeight.EditorContrib */
505
- },
506
- metadata: {
507
- description: 'Unfold the content in the editor',
508
- args: [
509
- {
510
- name: 'Unfold editor argument',
511
- description: `Property-value pairs that can be passed through this argument:
512
- * 'levels': Number of levels to unfold. If not set, defaults to 1.
513
- * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
514
- * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
515
- `,
516
- constraint: foldingArgumentsConstraint,
517
- schema: {
518
- 'type': 'object',
519
- 'properties': {
520
- 'levels': {
521
- 'type': 'number',
522
- 'default': 1
523
- },
524
- 'direction': {
525
- 'type': 'string',
526
- 'enum': ['up', 'down'],
527
- 'default': 'down'
528
- },
529
- 'selectionLines': {
530
- 'type': 'array',
531
- 'items': {
532
- 'type': 'number'
533
- }
534
- }
535
- }
536
- }
537
- }
538
- ]
539
- }
540
- });
541
- }
542
- invoke(_foldingController, foldingModel, editor, args) {
543
- const levels = args && args.levels || 1;
544
- const lineNumbers = this.getLineNumbers(args, editor);
545
- if (args && args.direction === 'up') {
546
- setCollapseStateLevelsUp(foldingModel, false, levels, lineNumbers);
547
- }
548
- else {
549
- setCollapseStateLevelsDown(foldingModel, false, levels, lineNumbers);
550
- }
551
- }
552
- }
553
- class UnFoldRecursivelyAction extends FoldingAction {
554
- constructor() {
555
- super({
556
- id: 'editor.unfoldRecursively',
557
- label: nls.localize('unFoldRecursivelyAction.label', "Unfold Recursively"),
558
- alias: 'Unfold Recursively',
559
- precondition: CONTEXT_FOLDING_ENABLED,
560
- kbOpts: {
561
- kbExpr: EditorContextKeys.editorTextFocus,
562
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 94 /* KeyCode.BracketRight */),
563
- weight: 100 /* KeybindingWeight.EditorContrib */
564
- }
565
- });
566
- }
567
- invoke(_foldingController, foldingModel, editor, _args) {
568
- setCollapseStateLevelsDown(foldingModel, false, Number.MAX_VALUE, this.getSelectedLines(editor));
569
- }
570
- }
571
- class FoldAction extends FoldingAction {
572
- constructor() {
573
- super({
574
- id: 'editor.fold',
575
- label: nls.localize('foldAction.label', "Fold"),
576
- alias: 'Fold',
577
- precondition: CONTEXT_FOLDING_ENABLED,
578
- kbOpts: {
579
- kbExpr: EditorContextKeys.editorTextFocus,
580
- primary: 2048 /* KeyMod.CtrlCmd */ | 1024 /* KeyMod.Shift */ | 92 /* KeyCode.BracketLeft */,
581
- mac: {
582
- primary: 2048 /* KeyMod.CtrlCmd */ | 512 /* KeyMod.Alt */ | 92 /* KeyCode.BracketLeft */
583
- },
584
- weight: 100 /* KeybindingWeight.EditorContrib */
585
- },
586
- metadata: {
587
- description: 'Fold the content in the editor',
588
- args: [
589
- {
590
- name: 'Fold editor argument',
591
- description: `Property-value pairs that can be passed through this argument:
592
- * 'levels': Number of levels to fold.
593
- * 'direction': If 'up', folds given number of levels up otherwise folds down.
594
- * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
595
- If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
596
- `,
597
- constraint: foldingArgumentsConstraint,
598
- schema: {
599
- 'type': 'object',
600
- 'properties': {
601
- 'levels': {
602
- 'type': 'number',
603
- },
604
- 'direction': {
605
- 'type': 'string',
606
- 'enum': ['up', 'down'],
607
- },
608
- 'selectionLines': {
609
- 'type': 'array',
610
- 'items': {
611
- 'type': 'number'
612
- }
613
- }
614
- }
615
- }
616
- }
617
- ]
618
- }
619
- });
620
- }
621
- invoke(_foldingController, foldingModel, editor, args) {
622
- const lineNumbers = this.getLineNumbers(args, editor);
623
- const levels = args && args.levels;
624
- const direction = args && args.direction;
625
- if (typeof levels !== 'number' && typeof direction !== 'string') {
626
- // fold the region at the location or if already collapsed, the first uncollapsed parent instead.
627
- setCollapseStateUp(foldingModel, true, lineNumbers);
628
- }
629
- else {
630
- if (direction === 'up') {
631
- setCollapseStateLevelsUp(foldingModel, true, levels || 1, lineNumbers);
632
- }
633
- else {
634
- setCollapseStateLevelsDown(foldingModel, true, levels || 1, lineNumbers);
635
- }
636
- }
637
- }
638
- }
639
- class ToggleFoldAction extends FoldingAction {
640
- constructor() {
641
- super({
642
- id: 'editor.toggleFold',
643
- label: nls.localize('toggleFoldAction.label', "Toggle Fold"),
644
- alias: 'Toggle Fold',
645
- precondition: CONTEXT_FOLDING_ENABLED,
646
- kbOpts: {
647
- kbExpr: EditorContextKeys.editorTextFocus,
648
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 42 /* KeyCode.KeyL */),
649
- weight: 100 /* KeybindingWeight.EditorContrib */
650
- }
651
- });
652
- }
653
- invoke(_foldingController, foldingModel, editor) {
654
- const selectedLines = this.getSelectedLines(editor);
655
- toggleCollapseState(foldingModel, 1, selectedLines);
656
- }
657
- }
658
- class FoldRecursivelyAction extends FoldingAction {
659
- constructor() {
660
- super({
661
- id: 'editor.foldRecursively',
662
- label: nls.localize('foldRecursivelyAction.label', "Fold Recursively"),
663
- alias: 'Fold Recursively',
664
- precondition: CONTEXT_FOLDING_ENABLED,
665
- kbOpts: {
666
- kbExpr: EditorContextKeys.editorTextFocus,
667
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 92 /* KeyCode.BracketLeft */),
668
- weight: 100 /* KeybindingWeight.EditorContrib */
669
- }
670
- });
671
- }
672
- invoke(_foldingController, foldingModel, editor) {
673
- const selectedLines = this.getSelectedLines(editor);
674
- setCollapseStateLevelsDown(foldingModel, true, Number.MAX_VALUE, selectedLines);
675
- }
676
- }
677
- class FoldAllBlockCommentsAction extends FoldingAction {
678
- constructor() {
679
- super({
680
- id: 'editor.foldAllBlockComments',
681
- label: nls.localize('foldAllBlockComments.label', "Fold All Block Comments"),
682
- alias: 'Fold All Block Comments',
683
- precondition: CONTEXT_FOLDING_ENABLED,
684
- kbOpts: {
685
- kbExpr: EditorContextKeys.editorTextFocus,
686
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 90 /* KeyCode.Slash */),
687
- weight: 100 /* KeybindingWeight.EditorContrib */
688
- }
689
- });
690
- }
691
- invoke(_foldingController, foldingModel, editor, args, languageConfigurationService) {
692
- if (foldingModel.regions.hasTypes()) {
693
- setCollapseStateForType(foldingModel, FoldingRangeKind.Comment.value, true);
694
- }
695
- else {
696
- const editorModel = editor.getModel();
697
- if (!editorModel) {
698
- return;
699
- }
700
- const comments = languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).comments;
701
- if (comments && comments.blockCommentStartToken) {
702
- const regExp = new RegExp('^\\s*' + escapeRegExpCharacters(comments.blockCommentStartToken));
703
- setCollapseStateForMatchingLines(foldingModel, regExp, true);
704
- }
705
- }
706
- }
707
- }
708
- class FoldAllRegionsAction extends FoldingAction {
709
- constructor() {
710
- super({
711
- id: 'editor.foldAllMarkerRegions',
712
- label: nls.localize('foldAllMarkerRegions.label', "Fold All Regions"),
713
- alias: 'Fold All Regions',
714
- precondition: CONTEXT_FOLDING_ENABLED,
715
- kbOpts: {
716
- kbExpr: EditorContextKeys.editorTextFocus,
717
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 29 /* KeyCode.Digit8 */),
718
- weight: 100 /* KeybindingWeight.EditorContrib */
719
- }
720
- });
721
- }
722
- invoke(_foldingController, foldingModel, editor, args, languageConfigurationService) {
723
- if (foldingModel.regions.hasTypes()) {
724
- setCollapseStateForType(foldingModel, FoldingRangeKind.Region.value, true);
725
- }
726
- else {
727
- const editorModel = editor.getModel();
728
- if (!editorModel) {
729
- return;
730
- }
731
- const foldingRules = languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).foldingRules;
732
- if (foldingRules && foldingRules.markers && foldingRules.markers.start) {
733
- const regExp = new RegExp(foldingRules.markers.start);
734
- setCollapseStateForMatchingLines(foldingModel, regExp, true);
735
- }
736
- }
737
- }
738
- }
739
- class UnfoldAllRegionsAction extends FoldingAction {
740
- constructor() {
741
- super({
742
- id: 'editor.unfoldAllMarkerRegions',
743
- label: nls.localize('unfoldAllMarkerRegions.label', "Unfold All Regions"),
744
- alias: 'Unfold All Regions',
745
- precondition: CONTEXT_FOLDING_ENABLED,
746
- kbOpts: {
747
- kbExpr: EditorContextKeys.editorTextFocus,
748
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 30 /* KeyCode.Digit9 */),
749
- weight: 100 /* KeybindingWeight.EditorContrib */
750
- }
751
- });
752
- }
753
- invoke(_foldingController, foldingModel, editor, args, languageConfigurationService) {
754
- if (foldingModel.regions.hasTypes()) {
755
- setCollapseStateForType(foldingModel, FoldingRangeKind.Region.value, false);
756
- }
757
- else {
758
- const editorModel = editor.getModel();
759
- if (!editorModel) {
760
- return;
761
- }
762
- const foldingRules = languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).foldingRules;
763
- if (foldingRules && foldingRules.markers && foldingRules.markers.start) {
764
- const regExp = new RegExp(foldingRules.markers.start);
765
- setCollapseStateForMatchingLines(foldingModel, regExp, false);
766
- }
767
- }
768
- }
769
- }
770
- class FoldAllExceptAction extends FoldingAction {
771
- constructor() {
772
- super({
773
- id: 'editor.foldAllExcept',
774
- label: nls.localize('foldAllExcept.label', "Fold All Except Selected"),
775
- alias: 'Fold All Except Selected',
776
- precondition: CONTEXT_FOLDING_ENABLED,
777
- kbOpts: {
778
- kbExpr: EditorContextKeys.editorTextFocus,
779
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 88 /* KeyCode.Minus */),
780
- weight: 100 /* KeybindingWeight.EditorContrib */
781
- }
782
- });
783
- }
784
- invoke(_foldingController, foldingModel, editor) {
785
- const selectedLines = this.getSelectedLines(editor);
786
- setCollapseStateForRest(foldingModel, true, selectedLines);
787
- }
788
- }
789
- class UnfoldAllExceptAction extends FoldingAction {
790
- constructor() {
791
- super({
792
- id: 'editor.unfoldAllExcept',
793
- label: nls.localize('unfoldAllExcept.label', "Unfold All Except Selected"),
794
- alias: 'Unfold All Except Selected',
795
- precondition: CONTEXT_FOLDING_ENABLED,
796
- kbOpts: {
797
- kbExpr: EditorContextKeys.editorTextFocus,
798
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 86 /* KeyCode.Equal */),
799
- weight: 100 /* KeybindingWeight.EditorContrib */
800
- }
801
- });
802
- }
803
- invoke(_foldingController, foldingModel, editor) {
804
- const selectedLines = this.getSelectedLines(editor);
805
- setCollapseStateForRest(foldingModel, false, selectedLines);
806
- }
807
- }
808
- class FoldAllAction extends FoldingAction {
809
- constructor() {
810
- super({
811
- id: 'editor.foldAll',
812
- label: nls.localize('foldAllAction.label', "Fold All"),
813
- alias: 'Fold All',
814
- precondition: CONTEXT_FOLDING_ENABLED,
815
- kbOpts: {
816
- kbExpr: EditorContextKeys.editorTextFocus,
817
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 21 /* KeyCode.Digit0 */),
818
- weight: 100 /* KeybindingWeight.EditorContrib */
819
- }
820
- });
821
- }
822
- invoke(_foldingController, foldingModel, _editor) {
823
- setCollapseStateLevelsDown(foldingModel, true);
824
- }
825
- }
826
- class UnfoldAllAction extends FoldingAction {
827
- constructor() {
828
- super({
829
- id: 'editor.unfoldAll',
830
- label: nls.localize('unfoldAllAction.label', "Unfold All"),
831
- alias: 'Unfold All',
832
- precondition: CONTEXT_FOLDING_ENABLED,
833
- kbOpts: {
834
- kbExpr: EditorContextKeys.editorTextFocus,
835
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 40 /* KeyCode.KeyJ */),
836
- weight: 100 /* KeybindingWeight.EditorContrib */
837
- }
838
- });
839
- }
840
- invoke(_foldingController, foldingModel, _editor) {
841
- setCollapseStateLevelsDown(foldingModel, false);
842
- }
843
- }
844
- class FoldLevelAction extends FoldingAction {
845
- getFoldingLevel() {
846
- return parseInt(this.id.substr(FoldLevelAction.ID_PREFIX.length));
847
- }
848
- invoke(_foldingController, foldingModel, editor) {
849
- setCollapseStateAtLevel(foldingModel, this.getFoldingLevel(), true, this.getSelectedLines(editor));
850
- }
851
- }
852
- FoldLevelAction.ID_PREFIX = 'editor.foldLevel';
853
- FoldLevelAction.ID = (level) => FoldLevelAction.ID_PREFIX + level;
854
- /** Action to go to the parent fold of current line */
855
- class GotoParentFoldAction extends FoldingAction {
856
- constructor() {
857
- super({
858
- id: 'editor.gotoParentFold',
859
- label: nls.localize('gotoParentFold.label', "Go to Parent Fold"),
860
- alias: 'Go to Parent Fold',
861
- precondition: CONTEXT_FOLDING_ENABLED,
862
- kbOpts: {
863
- kbExpr: EditorContextKeys.editorTextFocus,
864
- weight: 100 /* KeybindingWeight.EditorContrib */
865
- }
866
- });
867
- }
868
- invoke(_foldingController, foldingModel, editor) {
869
- const selectedLines = this.getSelectedLines(editor);
870
- if (selectedLines.length > 0) {
871
- const startLineNumber = getParentFoldLine(selectedLines[0], foldingModel);
872
- if (startLineNumber !== null) {
873
- editor.setSelection({
874
- startLineNumber: startLineNumber,
875
- startColumn: 1,
876
- endLineNumber: startLineNumber,
877
- endColumn: 1
878
- });
879
- }
880
- }
881
- }
882
- }
883
- /** Action to go to the previous fold of current line */
884
- class GotoPreviousFoldAction extends FoldingAction {
885
- constructor() {
886
- super({
887
- id: 'editor.gotoPreviousFold',
888
- label: nls.localize('gotoPreviousFold.label', "Go to Previous Folding Range"),
889
- alias: 'Go to Previous Folding Range',
890
- precondition: CONTEXT_FOLDING_ENABLED,
891
- kbOpts: {
892
- kbExpr: EditorContextKeys.editorTextFocus,
893
- weight: 100 /* KeybindingWeight.EditorContrib */
894
- }
895
- });
896
- }
897
- invoke(_foldingController, foldingModel, editor) {
898
- const selectedLines = this.getSelectedLines(editor);
899
- if (selectedLines.length > 0) {
900
- const startLineNumber = getPreviousFoldLine(selectedLines[0], foldingModel);
901
- if (startLineNumber !== null) {
902
- editor.setSelection({
903
- startLineNumber: startLineNumber,
904
- startColumn: 1,
905
- endLineNumber: startLineNumber,
906
- endColumn: 1
907
- });
908
- }
909
- }
910
- }
911
- }
912
- /** Action to go to the next fold of current line */
913
- class GotoNextFoldAction extends FoldingAction {
914
- constructor() {
915
- super({
916
- id: 'editor.gotoNextFold',
917
- label: nls.localize('gotoNextFold.label', "Go to Next Folding Range"),
918
- alias: 'Go to Next Folding Range',
919
- precondition: CONTEXT_FOLDING_ENABLED,
920
- kbOpts: {
921
- kbExpr: EditorContextKeys.editorTextFocus,
922
- weight: 100 /* KeybindingWeight.EditorContrib */
923
- }
924
- });
925
- }
926
- invoke(_foldingController, foldingModel, editor) {
927
- const selectedLines = this.getSelectedLines(editor);
928
- if (selectedLines.length > 0) {
929
- const startLineNumber = getNextFoldLine(selectedLines[0], foldingModel);
930
- if (startLineNumber !== null) {
931
- editor.setSelection({
932
- startLineNumber: startLineNumber,
933
- startColumn: 1,
934
- endLineNumber: startLineNumber,
935
- endColumn: 1
936
- });
937
- }
938
- }
939
- }
940
- }
941
- class FoldRangeFromSelectionAction extends FoldingAction {
942
- constructor() {
943
- super({
944
- id: 'editor.createFoldingRangeFromSelection',
945
- label: nls.localize('createManualFoldRange.label', "Create Folding Range from Selection"),
946
- alias: 'Create Folding Range from Selection',
947
- precondition: CONTEXT_FOLDING_ENABLED,
948
- kbOpts: {
949
- kbExpr: EditorContextKeys.editorTextFocus,
950
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 87 /* KeyCode.Comma */),
951
- weight: 100 /* KeybindingWeight.EditorContrib */
952
- }
953
- });
954
- }
955
- invoke(_foldingController, foldingModel, editor) {
956
- var _a;
957
- const collapseRanges = [];
958
- const selections = editor.getSelections();
959
- if (selections) {
960
- for (const selection of selections) {
961
- let endLineNumber = selection.endLineNumber;
962
- if (selection.endColumn === 1) {
963
- --endLineNumber;
964
- }
965
- if (endLineNumber > selection.startLineNumber) {
966
- collapseRanges.push({
967
- startLineNumber: selection.startLineNumber,
968
- endLineNumber: endLineNumber,
969
- type: undefined,
970
- isCollapsed: true,
971
- source: 1 /* FoldSource.userDefined */
972
- });
973
- editor.setSelection({
974
- startLineNumber: selection.startLineNumber,
975
- startColumn: 1,
976
- endLineNumber: selection.startLineNumber,
977
- endColumn: 1
978
- });
979
- }
980
- }
981
- if (collapseRanges.length > 0) {
982
- collapseRanges.sort((a, b) => {
983
- return a.startLineNumber - b.startLineNumber;
984
- });
985
- const newRanges = FoldingRegions.sanitizeAndMerge(foldingModel.regions, collapseRanges, (_a = editor.getModel()) === null || _a === void 0 ? void 0 : _a.getLineCount());
986
- foldingModel.updatePost(FoldingRegions.fromFoldRanges(newRanges));
987
- }
988
- }
989
- }
990
- }
991
- class RemoveFoldRangeFromSelectionAction extends FoldingAction {
992
- constructor() {
993
- super({
994
- id: 'editor.removeManualFoldingRanges',
995
- label: nls.localize('removeManualFoldingRanges.label', "Remove Manual Folding Ranges"),
996
- alias: 'Remove Manual Folding Ranges',
997
- precondition: CONTEXT_FOLDING_ENABLED,
998
- kbOpts: {
999
- kbExpr: EditorContextKeys.editorTextFocus,
1000
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 89 /* KeyCode.Period */),
1001
- weight: 100 /* KeybindingWeight.EditorContrib */
1002
- }
1003
- });
1004
- }
1005
- invoke(foldingController, foldingModel, editor) {
1006
- const selections = editor.getSelections();
1007
- if (selections) {
1008
- const ranges = [];
1009
- for (const selection of selections) {
1010
- const { startLineNumber, endLineNumber } = selection;
1011
- ranges.push(endLineNumber >= startLineNumber ? { startLineNumber, endLineNumber } : { endLineNumber, startLineNumber });
1012
- }
1013
- foldingModel.removeManualRanges(ranges);
1014
- foldingController.triggerFoldingModelChanged();
1015
- }
1016
- }
1017
- }
1018
- registerEditorContribution(FoldingController.ID, FoldingController, 0 /* EditorContributionInstantiation.Eager */); // eager because it uses `saveViewState`/`restoreViewState`
1019
- registerEditorAction(UnfoldAction);
1020
- registerEditorAction(UnFoldRecursivelyAction);
1021
- registerEditorAction(FoldAction);
1022
- registerEditorAction(FoldRecursivelyAction);
1023
- registerEditorAction(FoldAllAction);
1024
- registerEditorAction(UnfoldAllAction);
1025
- registerEditorAction(FoldAllBlockCommentsAction);
1026
- registerEditorAction(FoldAllRegionsAction);
1027
- registerEditorAction(UnfoldAllRegionsAction);
1028
- registerEditorAction(FoldAllExceptAction);
1029
- registerEditorAction(UnfoldAllExceptAction);
1030
- registerEditorAction(ToggleFoldAction);
1031
- registerEditorAction(GotoParentFoldAction);
1032
- registerEditorAction(GotoPreviousFoldAction);
1033
- registerEditorAction(GotoNextFoldAction);
1034
- registerEditorAction(FoldRangeFromSelectionAction);
1035
- registerEditorAction(RemoveFoldRangeFromSelectionAction);
1036
- for (let i = 1; i <= 7; i++) {
1037
- registerInstantiatedEditorAction(new FoldLevelAction({
1038
- id: FoldLevelAction.ID(i),
1039
- label: nls.localize('foldLevelAction.label', "Fold Level {0}", i),
1040
- alias: `Fold Level ${i}`,
1041
- precondition: CONTEXT_FOLDING_ENABLED,
1042
- kbOpts: {
1043
- kbExpr: EditorContextKeys.editorTextFocus,
1044
- primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | (21 /* KeyCode.Digit0 */ + i)),
1045
- weight: 100 /* KeybindingWeight.EditorContrib */
1046
- }
1047
- }));
1048
- }
1049
- CommandsRegistry.registerCommand('_executeFoldingRangeProvider', async function (accessor, ...args) {
1050
- const [resource] = args;
1051
- if (!(resource instanceof URI)) {
1052
- throw illegalArgument();
1053
- }
1054
- const languageFeaturesService = accessor.get(ILanguageFeaturesService);
1055
- const model = accessor.get(IModelService).getModel(resource);
1056
- if (!model) {
1057
- throw illegalArgument();
1058
- }
1059
- const configurationService = accessor.get(IConfigurationService);
1060
- if (!configurationService.getValue('editor.folding', { resource })) {
1061
- return [];
1062
- }
1063
- const languageConfigurationService = accessor.get(ILanguageConfigurationService);
1064
- const strategy = configurationService.getValue('editor.foldingStrategy', { resource });
1065
- const foldingLimitReporter = {
1066
- get limit() {
1067
- return configurationService.getValue('editor.foldingMaximumRegions', { resource });
1068
- },
1069
- update: (computed, limited) => { }
1070
- };
1071
- const indentRangeProvider = new IndentRangeProvider(model, languageConfigurationService, foldingLimitReporter);
1072
- let rangeProvider = indentRangeProvider;
1073
- if (strategy !== 'indentation') {
1074
- const providers = FoldingController.getFoldingRangeProviders(languageFeaturesService, model);
1075
- if (providers.length) {
1076
- rangeProvider = new SyntaxRangeProvider(model, providers, () => { }, foldingLimitReporter, indentRangeProvider);
1077
- }
1078
- }
1079
- const ranges = await rangeProvider.compute(CancellationToken.None);
1080
- const result = [];
1081
- try {
1082
- if (ranges) {
1083
- for (let i = 0; i < ranges.length; i++) {
1084
- const type = ranges.getType(i);
1085
- result.push({ start: ranges.getStartLineNumber(i), end: ranges.getEndLineNumber(i), kind: type ? FoldingRangeKind.fromValue(type) : undefined });
1086
- }
1087
- }
1088
- return result;
1089
- }
1090
- finally {
1091
- rangeProvider.dispose();
1092
- }
1093
- });