@eclipse-glsp/client 2.6.0-next.1 → 2.6.0-next.12

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 (174) hide show
  1. package/css/command-palette.css +2 -0
  2. package/css/navigation.css +2 -2
  3. package/css/search.css +12 -3
  4. package/lib/base/auto-complete/auto-complete-widget.d.ts +2 -2
  5. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  6. package/lib/base/auto-complete/auto-complete-widget.js +5 -2
  7. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  8. package/lib/base/auto-complete/autocomplete-suggestion-provider.d.ts +56 -0
  9. package/lib/base/auto-complete/autocomplete-suggestion-provider.d.ts.map +1 -0
  10. package/lib/base/auto-complete/autocomplete-suggestion-provider.js +56 -0
  11. package/lib/base/auto-complete/autocomplete-suggestion-provider.js.map +1 -0
  12. package/lib/base/auto-complete/base-autocomplete-palette.d.ts +4 -9
  13. package/lib/base/auto-complete/base-autocomplete-palette.d.ts.map +1 -1
  14. package/lib/base/auto-complete/base-autocomplete-palette.js +2 -2
  15. package/lib/base/auto-complete/base-autocomplete-palette.js.map +1 -1
  16. package/lib/base/default.module.d.ts.map +1 -1
  17. package/lib/base/default.module.js +4 -0
  18. package/lib/base/default.module.js.map +1 -1
  19. package/lib/base/messages.json +68 -57
  20. package/lib/base/tool-manager/tool-manager.d.ts +2 -2
  21. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -1
  22. package/lib/base/tool-manager/tool-manager.js +4 -4
  23. package/lib/base/tool-manager/tool-manager.js.map +1 -1
  24. package/lib/default-modules.d.ts +1 -1
  25. package/lib/default-modules.d.ts.map +1 -1
  26. package/lib/default-modules.js +4 -1
  27. package/lib/default-modules.js.map +1 -1
  28. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -1
  29. package/lib/features/accessibility/accessibility-module.js +2 -4
  30. package/lib/features/accessibility/accessibility-module.js.map +1 -1
  31. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.d.ts +21 -15
  32. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.d.ts.map +1 -1
  33. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js +59 -45
  34. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js.map +1 -1
  35. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts.map +1 -1
  36. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js +2 -3
  37. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -1
  38. package/lib/features/accessibility/{keyboard-pointer/keyboard-pointer-module.d.ts → keyboard/keyboard-module.d.ts} +2 -2
  39. package/lib/features/accessibility/keyboard/keyboard-module.d.ts.map +1 -0
  40. package/lib/features/accessibility/{keyboard-pointer/keyboard-pointer-module.js → keyboard/keyboard-module.js} +7 -4
  41. package/lib/features/accessibility/keyboard/keyboard-module.js.map +1 -0
  42. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.d.ts +15 -12
  43. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.d.ts.map +1 -1
  44. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.js +40 -22
  45. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.js.map +1 -1
  46. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.d.ts +1 -1
  47. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js +2 -2
  48. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js.map +1 -1
  49. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +1 -1
  50. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  51. package/lib/features/bounds/glsp-hidden-bounds-updater.js +4 -1
  52. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  53. package/lib/features/change-bounds/movement-restrictor.d.ts +12 -4
  54. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  55. package/lib/features/change-bounds/movement-restrictor.js +44 -17
  56. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  57. package/lib/features/command-palette/command-palette.d.ts +3 -1
  58. package/lib/features/command-palette/command-palette.d.ts.map +1 -1
  59. package/lib/features/command-palette/command-palette.js +37 -0
  60. package/lib/features/command-palette/command-palette.js.map +1 -1
  61. package/lib/features/context-menu/delete-element-context-menu.d.ts +4 -4
  62. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  63. package/lib/features/context-menu/delete-element-context-menu.js +6 -2
  64. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  65. package/lib/features/context-menu/server-context-menu-provider.d.ts +4 -4
  66. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  67. package/lib/features/context-menu/server-context-menu-provider.js +4 -5
  68. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  69. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -5
  70. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  71. package/lib/features/copy-paste/copy-paste-context-menu.js +16 -11
  72. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  73. package/lib/features/decoration/decoration-module.d.ts +1 -1
  74. package/lib/features/decoration/decoration-module.d.ts.map +1 -1
  75. package/lib/features/decoration/decoration-module.js +2 -1
  76. package/lib/features/decoration/decoration-module.js.map +1 -1
  77. package/lib/features/decoration/decoration-placer.d.ts +9 -3
  78. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  79. package/lib/features/decoration/decoration-placer.js +32 -1
  80. package/lib/features/decoration/decoration-placer.js.map +1 -1
  81. package/{src/features/accessibility/edge-autocomplete/edge-autocomplete-context.ts → lib/features/search-palette/search-palette-key-listener.d.ts} +5 -9
  82. package/lib/features/search-palette/search-palette-key-listener.d.ts.map +1 -0
  83. package/lib/features/search-palette/search-palette-key-listener.js +45 -0
  84. package/lib/features/search-palette/search-palette-key-listener.js.map +1 -0
  85. package/lib/features/{accessibility/search → search-palette}/search-palette-module.d.ts +4 -3
  86. package/lib/features/search-palette/search-palette-module.d.ts.map +1 -0
  87. package/lib/features/search-palette/search-palette-module.js +39 -0
  88. package/lib/features/search-palette/search-palette-module.js.map +1 -0
  89. package/lib/features/search-palette/search-palette.d.ts +51 -0
  90. package/lib/features/search-palette/search-palette.d.ts.map +1 -0
  91. package/lib/features/search-palette/search-palette.js +141 -0
  92. package/lib/features/search-palette/search-palette.js.map +1 -0
  93. package/{src/base/auto-complete/autocomplete-suggestion-providers.ts → lib/features/search-palette/suggestions/edge-element-suggestions.d.ts} +11 -22
  94. package/lib/features/search-palette/suggestions/edge-element-suggestions.d.ts.map +1 -0
  95. package/lib/features/search-palette/suggestions/edge-element-suggestions.js +72 -0
  96. package/lib/features/search-palette/suggestions/edge-element-suggestions.js.map +1 -0
  97. package/lib/features/search-palette/suggestions/named-element-suggestions.d.ts +30 -0
  98. package/lib/features/search-palette/suggestions/named-element-suggestions.d.ts.map +1 -0
  99. package/lib/features/search-palette/suggestions/named-element-suggestions.js +83 -0
  100. package/lib/features/search-palette/suggestions/named-element-suggestions.js.map +1 -0
  101. package/lib/features/validation/marker-navigator.d.ts +3 -3
  102. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  103. package/lib/features/validation/marker-navigator.js +8 -7
  104. package/lib/features/validation/marker-navigator.js.map +1 -1
  105. package/lib/features/viewport/reposition.d.ts.map +1 -1
  106. package/lib/features/viewport/reposition.js +1 -5
  107. package/lib/features/viewport/reposition.js.map +1 -1
  108. package/lib/index.d.ts +7 -6
  109. package/lib/index.d.ts.map +1 -1
  110. package/lib/index.js +7 -6
  111. package/lib/index.js.map +1 -1
  112. package/lib/standalone-modules.d.ts +1 -1
  113. package/lib/standalone-modules.d.ts.map +1 -1
  114. package/lib/standalone-modules.js +2 -0
  115. package/lib/standalone-modules.js.map +1 -1
  116. package/lib/utils/gmodel-util.d.ts +32 -2
  117. package/lib/utils/gmodel-util.d.ts.map +1 -1
  118. package/lib/utils/gmodel-util.js +29 -1
  119. package/lib/utils/gmodel-util.js.map +1 -1
  120. package/package.json +3 -3
  121. package/src/base/auto-complete/auto-complete-widget.ts +7 -4
  122. package/src/base/auto-complete/autocomplete-suggestion-provider.ts +86 -0
  123. package/src/base/auto-complete/base-autocomplete-palette.ts +6 -6
  124. package/src/base/default.module.ts +5 -0
  125. package/src/base/messages.json +68 -57
  126. package/src/base/tool-manager/tool-manager.ts +4 -4
  127. package/src/default-modules.ts +4 -1
  128. package/src/features/accessibility/accessibility-module.ts +1 -3
  129. package/src/features/accessibility/edge-autocomplete/edge-autocomplete-palette.ts +75 -52
  130. package/src/features/accessibility/element-navigation/diagram-navigation-tool.ts +2 -4
  131. package/src/features/accessibility/{keyboard-pointer/keyboard-pointer-module.ts → keyboard/keyboard-module.ts} +12 -5
  132. package/src/features/accessibility/keyboard-grid/keyboard-grid-search-palette.ts +36 -22
  133. package/src/features/accessibility/keyboard-grid/keyboard-node-grid.ts +3 -3
  134. package/src/features/bounds/glsp-hidden-bounds-updater.ts +5 -1
  135. package/src/features/change-bounds/movement-restrictor.ts +72 -19
  136. package/src/features/command-palette/command-palette.ts +41 -1
  137. package/src/features/context-menu/delete-element-context-menu.ts +9 -5
  138. package/src/features/context-menu/server-context-menu-provider.ts +8 -9
  139. package/src/features/copy-paste/copy-paste-context-menu.ts +21 -17
  140. package/src/features/decoration/decoration-module.ts +2 -1
  141. package/src/features/decoration/decoration-placer.ts +49 -4
  142. package/src/features/{accessibility/search/search-palette-module.ts → search-palette/search-palette-key-listener.ts} +15 -14
  143. package/src/features/search-palette/search-palette-module.ts +48 -0
  144. package/src/features/search-palette/search-palette.ts +164 -0
  145. package/src/features/search-palette/suggestions/edge-element-suggestions.ts +71 -0
  146. package/src/features/search-palette/suggestions/named-element-suggestions.ts +88 -0
  147. package/src/features/validation/marker-navigator.ts +9 -8
  148. package/src/features/viewport/reposition.ts +1 -7
  149. package/src/index.ts +7 -6
  150. package/src/standalone-modules.ts +2 -0
  151. package/src/utils/gmodel-util.ts +59 -1
  152. package/lib/base/auto-complete/autocomplete-suggestion-providers.d.ts +0 -35
  153. package/lib/base/auto-complete/autocomplete-suggestion-providers.d.ts.map +0 -1
  154. package/lib/base/auto-complete/autocomplete-suggestion-providers.js +0 -18
  155. package/lib/base/auto-complete/autocomplete-suggestion-providers.js.map +0 -1
  156. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.d.ts +0 -23
  157. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.d.ts.map +0 -1
  158. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.js +0 -18
  159. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.js.map +0 -1
  160. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.d.ts.map +0 -1
  161. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.js.map +0 -1
  162. package/lib/features/accessibility/search/search-palette-module.d.ts.map +0 -1
  163. package/lib/features/accessibility/search/search-palette-module.js +0 -32
  164. package/lib/features/accessibility/search/search-palette-module.js.map +0 -1
  165. package/lib/features/accessibility/search/search-palette.d.ts +0 -51
  166. package/lib/features/accessibility/search/search-palette.d.ts.map +0 -1
  167. package/lib/features/accessibility/search/search-palette.js +0 -186
  168. package/lib/features/accessibility/search/search-palette.js.map +0 -1
  169. package/lib/features/accessibility/search/search-tool.d.ts +0 -33
  170. package/lib/features/accessibility/search/search-tool.d.ts.map +0 -1
  171. package/lib/features/accessibility/search/search-tool.js +0 -84
  172. package/lib/features/accessibility/search/search-tool.js.map +0 -1
  173. package/src/features/accessibility/search/search-palette.ts +0 -218
  174. package/src/features/accessibility/search/search-tool.ts +0 -74
@@ -32,6 +32,7 @@ const resize_module_1 = require("./features/change-bounds/resize/resize-module")
32
32
  const copy_paste_modules_1 = require("./features/copy-paste/copy-paste-modules");
33
33
  const export_modules_1 = require("./features/export/export-modules");
34
34
  const save_module_1 = require("./features/save/save-module");
35
+ const search_palette_module_1 = require("./features/search-palette/search-palette-module");
35
36
  const select_module_1 = require("./features/select/select-module");
36
37
  const undo_redo_module_1 = require("./features/undo-redo/undo-redo-module");
37
38
  const validation_modules_1 = require("./features/validation/validation-modules");
@@ -93,6 +94,7 @@ exports.STANDALONE_MODULES = [
93
94
  exports.standaloneDefaultModule,
94
95
  shortcuts_module_1.standaloneShortcutsModule,
95
96
  resize_module_1.standaloneResizeModule,
97
+ search_palette_module_1.standaloneSearchPaletteModule,
96
98
  save_module_1.saveModule,
97
99
  undo_redo_module_1.undoRedoModule
98
100
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-modules.js","sourceRoot":"","sources":["../src/standalone-modules.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,mDAkB+B;AAC/B,yCAA+C;AAC/C,wEAA8E;AAC9E,iFAAuF;AACvF,iFAAqF;AACrF,qEAA0E;AAC1E,6DAAyD;AACzD,mEAAyE;AACzE,4EAAuE;AACvE,iFAA2F;AAC3F,2EAAgF;AAEnE,QAAA,uBAAuB,GAAG,IAAI,uBAAa,CACpD,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAA,gCAAsB,EAAC,OAAO,EAAE,uBAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3E,IAAA,gCAAsB,EAAC,OAAO,EAAE,6BAAmB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACjF,IAAA,gCAAsB,EAAC,OAAO,EAAE,8BAAoB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAClF,IAAA,gCAAsB,EAAC,OAAO,EAAE,2BAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/E,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAC7C,CAAC;AAEF;;;GAGG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAI9B,MAAM,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ,CAAA;AAPY,sDAAqB;AAEpB;IADT,IAAA,kBAAM,EAAC,eAAK,CAAC,OAAO,CAAC;;qDACI;gCAFjB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAOjC;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAW;IACrC,OAAO,CAAC,QAAuB,EAAE,KAAoB;QAC1D,IAAI,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,6BAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAPY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;GACA,iBAAiB,CAO7B;AAED;;;;;;;;;GASG;AAEU,QAAA,kBAAkB,GAAG;IAC9B,2CAAwB;IACxB,8CAAyB;IACzB,oDAA+B;IAC/B,sCAAsB;IACtB,uCAAsB;IACtB,+BAAuB;IACvB,4CAAyB;IACzB,sCAAsB;IACtB,wBAAU;IACV,iCAAc;CACR,CAAC;AAEE,QAAA,wBAAwB,GAAwB;IACzD,GAAG,EAAE,CAAC,GAAG,0BAAkB,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"standalone-modules.js","sourceRoot":"","sources":["../src/standalone-modules.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,mDAkB+B;AAC/B,yCAA+C;AAC/C,wEAA8E;AAC9E,iFAAuF;AACvF,iFAAqF;AACrF,qEAA0E;AAC1E,6DAAyD;AACzD,2FAAgG;AAChG,mEAAyE;AACzE,4EAAuE;AACvE,iFAA2F;AAC3F,2EAAgF;AAEnE,QAAA,uBAAuB,GAAG,IAAI,uBAAa,CACpD,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAA,gCAAsB,EAAC,OAAO,EAAE,uBAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3E,IAAA,gCAAsB,EAAC,OAAO,EAAE,6BAAmB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACjF,IAAA,gCAAsB,EAAC,OAAO,EAAE,8BAAoB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAClF,IAAA,gCAAsB,EAAC,OAAO,EAAE,2BAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/E,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAC7C,CAAC;AAEF;;;GAGG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAI9B,MAAM,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ,CAAA;AAPY,sDAAqB;AAEpB;IADT,IAAA,kBAAM,EAAC,eAAK,CAAC,OAAO,CAAC;;qDACI;gCAFjB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAOjC;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAW;IACrC,OAAO,CAAC,QAAuB,EAAE,KAAoB;QAC1D,IAAI,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,6BAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAPY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;GACA,iBAAiB,CAO7B;AAED;;;;;;;;;GASG;AAEU,QAAA,kBAAkB,GAAG;IAC9B,2CAAwB;IACxB,8CAAyB;IACzB,oDAA+B;IAC/B,sCAAsB;IACtB,uCAAsB;IACtB,+BAAuB;IACvB,4CAAyB;IACzB,sCAAsB;IACtB,qDAA6B;IAC7B,wBAAU;IACV,iCAAc;CACR,CAAC;AAEE,QAAA,wBAAwB,GAAwB;IACzD,GAAG,EAAE,CAAC,GAAG,0BAAkB,CAAC;CAC/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { BoundsAware, EdgeRouterRegistry, ElementAndBounds, ElementAndRoutingPoints, FluentIterable, GModelElement, GModelElementSchema, GParentElement, GRoutableElement, GRoutingHandle, Locateable, ModelIndexImpl, Point, RoutedPoint, Selectable, TypeGuard } from '@eclipse-glsp/sprotty';
16
+ import { BoundsAware, EdgeRouterRegistry, ElementAndBounds, ElementAndRoutingPoints, FluentIterable, GChildElement, GModelElement, GModelElementSchema, GParentElement, GRoutableElement, GRoutingHandle, Locateable, ModelIndexImpl, Point, RoutedPoint, Selectable, TypeGuard } from '@eclipse-glsp/sprotty';
17
17
  import { ResizeHandleLocation } from '../features/change-bounds/model';
18
18
  /**
19
19
  * Helper type to represent a filter predicate for {@link GModelElement}s. This is used to retrieve
@@ -45,6 +45,36 @@ export declare function forEachElement<T>(index: ModelIndexImpl, predicate: Mode
45
45
  * (correctly casted to also include the additional type of the predicate).
46
46
  */
47
47
  export declare function getMatchingElements<T>(index: ModelIndexImpl, predicate: ModelFilterPredicate<T>): (GModelElement & T)[];
48
+ /**
49
+ * Retrieves an array of all parent elements for the given element that match the given type guard.
50
+ * @param element The {@link GModelElement} for which the parent elements should be retrieved.
51
+ * @param guard The type guard that should be used.
52
+ * @returns An array of all parent elements that match the type guard
53
+ * (correctly casted to also include the additional type of the guard).
54
+ */
55
+ export declare function getParents<T extends GParentElement>(element: GModelElement, guard: TypeGuard<T>): T[];
56
+ /**
57
+ * Retrieves an array of all parent elements for the given element that match the given {@link ModelFilterPredicate}.
58
+ * @param element The {@link GModelElement} for which the parent elements should be retrieved.
59
+ * @param predicate The filter predicate that should be used.
60
+ * @returns An array of all parent elements that match the filter predicate
61
+ * (correctly casted to also include the additional type of the predicate).
62
+ */
63
+ export declare function getParents<T>(element: GModelElement, predicate: ModelFilterPredicate<T>): (GParentElement & T)[];
64
+ /** * Retrieves an array of all child elements for the given element that match the given type guard.
65
+ * @param element The {@link GModelElement} for which the child elements should be retrieved.
66
+ * @param guard The type guard that should be used.
67
+ * @returns An array of all child elements that match the type guard
68
+ * (correctly casted to also include the additional type of the guard).
69
+ */
70
+ export declare function getChildren<T extends GChildElement>(element: GModelElement, guard: TypeGuard<T>): T[];
71
+ /** * Retrieves an array of all child elements for the given element that match the given {@link ModelFilterPredicate}.
72
+ * @param element The {@link GModelElement} for which the child elements should be retrieved.
73
+ * @param predicate The filter predicate that should be used.
74
+ * @returns An array of all child elements that match the filter predicate
75
+ * (correctly casted to also include the additional type of the predicate).
76
+ */
77
+ export declare function getChildren<T>(element: GModelElement, predicate: ModelFilterPredicate<T>): (GChildElement & T)[];
48
78
  /**
49
79
  * Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
50
80
  * have no corresponding element in the index will be ignored.
@@ -1 +1 @@
1
- {"version":3,"file":"gmodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ exports.ROUTE_KINDS = exports.ROUTING_POINT_KINDS = exports.ALL_ROUTING_POINTS =
4
4
  exports.filter = filter;
5
5
  exports.forEachElement = forEachElement;
6
6
  exports.getMatchingElements = getMatchingElements;
7
+ exports.getParents = getParents;
8
+ exports.getChildren = getChildren;
7
9
  exports.getElements = getElements;
8
10
  exports.getSelectedElementCount = getSelectedElementCount;
9
11
  exports.hasSelectedElements = hasSelectedElements;
@@ -33,7 +35,7 @@ exports.getDescendantIds = getDescendantIds;
33
35
  exports.isNotDescendantOfAnyElement = isNotDescendantOfAnyElement;
34
36
  exports.removeDescendants = removeDescendants;
35
37
  /********************************************************************************
36
- * Copyright (c) 2019-2024 EclipseSource and others.
38
+ * Copyright (c) 2019-2025 EclipseSource and others.
37
39
  *
38
40
  * This program and the accompanying materials are made available under the
39
41
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -78,6 +80,32 @@ function forEachElement(index, predicate, runnable) {
78
80
  function getMatchingElements(index, predicate) {
79
81
  return Array.from(filter(index, predicate));
80
82
  }
83
+ function getParents(element, filterPredicate) {
84
+ const parents = [];
85
+ let current = element;
86
+ while (current instanceof sprotty_1.GChildElement) {
87
+ const parent = current.parent;
88
+ if (filterPredicate(parent)) {
89
+ parents.push(parent);
90
+ }
91
+ current = parent;
92
+ }
93
+ return parents;
94
+ }
95
+ function getChildren(element, filterPredicate) {
96
+ const children = [];
97
+ if (element instanceof sprotty_1.GParentElement) {
98
+ for (const child of element.children) {
99
+ if (filterPredicate(child)) {
100
+ children.push(child);
101
+ }
102
+ if (child instanceof sprotty_1.GParentElement) {
103
+ children.push(...getChildren(child, filterPredicate));
104
+ }
105
+ }
106
+ }
107
+ return children;
108
+ }
81
109
  /**
82
110
  * Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
83
111
  * have no corresponding element in the index will be ignored.
@@ -1 +1 @@
1
- {"version":3,"file":"gmodel-util.js","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmodel-util.js","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "2.6.0-next.1+01f1f42",
3
+ "version": "2.6.0-next.12+acbf000",
4
4
  "description": "A sprotty-based client for GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -46,7 +46,7 @@
46
46
  "watch": "tsc -w"
47
47
  },
48
48
  "dependencies": {
49
- "@eclipse-glsp/sprotty": "2.6.0-next.1+01f1f42",
49
+ "@eclipse-glsp/sprotty": "2.6.0-next.12+acbf000",
50
50
  "autocompleter": "^9.1.2",
51
51
  "file-saver": "^2.0.5",
52
52
  "lodash": "4.17.21",
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "01f1f4272ccf94d881e6329fccbdc017fc927a56"
66
+ "gitHead": "acbf000fc0503af38a3f9f8a221537643aaa614b"
67
67
  }
@@ -21,7 +21,8 @@ import {
21
21
  ValidationStatus,
22
22
  codiconCSSClasses,
23
23
  matchesKeystroke,
24
- toArray
24
+ toArray,
25
+ type MaybePromise
25
26
  } from '@eclipse-glsp/sprotty';
26
27
  import { AutocompleteResult, AutocompleteSettings } from 'autocompleter';
27
28
  import { AutoCompleteValue } from './auto-complete-actions';
@@ -48,7 +49,7 @@ export interface InputValueInitializer {
48
49
  }
49
50
 
50
51
  export interface SuggestionSubmitHandler {
51
- executeFromSuggestion(input: LabeledAction | Action | Action[]): void;
52
+ executeFromSuggestion(input: LabeledAction | Action | Action[]): MaybePromise<void>;
52
53
  }
53
54
 
54
55
  export interface TextSubmitHandler {
@@ -303,8 +304,9 @@ export class AutoCompleteWidget {
303
304
  // trigger update of suggestions with an keyup event
304
305
  window.setTimeout(() => this.inputElement.dispatchEvent(new Event('input')));
305
306
  } else {
306
- this.executeFromSuggestion(item);
307
- this.notifyClose('submission');
307
+ Promise.resolve(this.executeFromSuggestion(item)).then(() => {
308
+ this.notifyClose('submission');
309
+ });
308
310
  }
309
311
  }
310
312
 
@@ -362,6 +364,7 @@ export class AutoCompleteWidget {
362
364
  if (this.autoCompleteResult) {
363
365
  this.autoCompleteResult.destroy();
364
366
  }
367
+ this.observer?.disconnect();
365
368
  }
366
369
  }
367
370
 
@@ -0,0 +1,86 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import {
18
+ GModelRoot,
19
+ InstanceRegistry,
20
+ LazyInjector,
21
+ TYPES,
22
+ type GModelElement,
23
+ type LabeledAction,
24
+ type MaybePromise
25
+ } from '@eclipse-glsp/sprotty';
26
+ import { inject, injectable } from 'inversify';
27
+
28
+ /**
29
+ * Interface for autocomplete suggestions.
30
+ */
31
+ export interface AutocompleteSuggestion {
32
+ element?: GModelElement;
33
+ action: LabeledAction;
34
+ }
35
+
36
+ /**
37
+ * A provider for autocomplete suggestions.
38
+ */
39
+ export interface IAutocompleteSuggestionProvider {
40
+ id: string;
41
+
42
+ /**
43
+ * Returns whether this provider can handle the given autocomplete context.
44
+ * @param context The context to check.
45
+ */
46
+ canHandle(context: string): boolean;
47
+
48
+ /**
49
+ * Provides suggestions for the given input
50
+ */
51
+ getSuggestions(root: Readonly<GModelRoot>, text: string, context?: unknown): Promise<AutocompleteSuggestion[]>;
52
+ }
53
+
54
+ /**
55
+ * Default contexts for autocomplete suggestions.
56
+ */
57
+ export namespace AutocompleteSuggestionProviderContext {
58
+ export const CANVAS = 'canvas' as const;
59
+ }
60
+
61
+ /**
62
+ * Registry for autocomplete suggestion providers.
63
+ */
64
+ export interface AutocompleteSuggestionRegistry extends InstanceRegistry<IAutocompleteSuggestionProvider> {
65
+ providersForContext(context: string[]): IAutocompleteSuggestionProvider[];
66
+ }
67
+
68
+ @injectable()
69
+ export class DefaultAutocompleteSuggestionRegistry
70
+ extends InstanceRegistry<IAutocompleteSuggestionProvider>
71
+ implements AutocompleteSuggestionRegistry
72
+ {
73
+ @inject(LazyInjector)
74
+ protected lazyInjector: LazyInjector;
75
+
76
+ preLoadDiagram(): MaybePromise<void> {
77
+ const suggestionProviders = this.lazyInjector.getAll<IAutocompleteSuggestionProvider>(TYPES.IAutocompleteSuggestionProvider);
78
+ suggestionProviders.forEach(provider => {
79
+ this.register(provider.id, provider);
80
+ });
81
+ }
82
+
83
+ providersForContext(searchContext: string[]): IAutocompleteSuggestionProvider[] {
84
+ return Array.from(this.elements.values()).filter(provider => searchContext.some(c => provider.canHandle(c)));
85
+ }
86
+ }
@@ -14,12 +14,12 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { Action, GModelRoot, IActionDispatcher, LabeledAction, TYPES } from '@eclipse-glsp/sprotty';
17
+ import { Action, GModelRoot, IActionDispatcher, LabeledAction, TYPES, type MaybePromise } from '@eclipse-glsp/sprotty';
18
18
  import { inject } from 'inversify';
19
19
  import '../../../css/autocomplete-palette.css';
20
- import { GLSPAbstractUIExtension } from '../ui-extension/ui-extension';
21
- import { AutoCompleteWidget, CloseReason, toActionArray } from './auto-complete-widget';
22
20
  import { messages } from '../messages';
21
+ import { GLSPAbstractUIExtension } from '../ui-extension/ui-extension';
22
+ import { AutoCompleteWidget, CloseReason, toActionArray, type AutoCompleteSettings } from './auto-complete-widget';
23
23
 
24
24
  /**
25
25
  * A reusable base implementation for `UIExtensions` that want to provide autocomplete functionality
@@ -27,7 +27,7 @@ import { messages } from '../messages';
27
27
  *
28
28
  */
29
29
  export abstract class BaseAutocompletePalette extends GLSPAbstractUIExtension {
30
- protected readonly autoSuggestionSettings = {
30
+ protected readonly autoSuggestionSettings: AutoCompleteSettings = {
31
31
  noSuggestionsMessage: messages.autocomplete.no_suggestions,
32
32
  suggestionsClass: 'command-palette-suggestions',
33
33
  debounceWaitMs: 50,
@@ -87,7 +87,7 @@ export abstract class BaseAutocompletePalette extends GLSPAbstractUIExtension {
87
87
  this.hide();
88
88
  }
89
89
 
90
- protected executeSuggestion(input: LabeledAction | Action[] | Action): void {
91
- this.actionDispatcher.dispatchAll(toActionArray(input));
90
+ protected executeSuggestion(input: LabeledAction | Action[] | Action): MaybePromise<void> {
91
+ return this.actionDispatcher.dispatchAll(toActionArray(input));
92
92
  }
93
93
  }
@@ -36,6 +36,7 @@ import '@vscode/codicons/dist/codicon.css';
36
36
  import '../../css/glsp-sprotty.css';
37
37
  import { GLSPActionDispatcher } from './action-dispatcher';
38
38
  import { GLSPActionHandlerRegistry } from './action-handler-registry';
39
+ import { DefaultAutocompleteSuggestionRegistry } from './auto-complete/autocomplete-suggestion-provider';
39
40
  import { GLSPCommandStack } from './command-stack';
40
41
  import { EditorContextService } from './editor-context-service';
41
42
  import { ModifyCssFeedbackCommand } from './feedback/css-feedback';
@@ -148,6 +149,10 @@ export const defaultModule = new FeatureModule(
148
149
 
149
150
  // Shortcut manager initialization ------------------------------------
150
151
  bindAsService(context, TYPES.IShortcutManager, ShortcutManager);
152
+
153
+ // Autocomplete suggestion provider initialization ------------------------------------
154
+ bind(TYPES.IAutocompleteSuggestionProviderRegistry).to(DefaultAutocompleteSuggestionRegistry).inSingletonScope();
155
+ bind(TYPES.IDiagramStartup).toService(TYPES.IAutocompleteSuggestionProviderRegistry);
151
156
  },
152
157
  {
153
158
  featureId: Symbol('default')
@@ -1,87 +1,98 @@
1
1
  {
2
- "navigation": {
3
- "default_navigation_mode_activated": "Navigation On: Use arrow keys to select preceding (←) or succeding (→) elements. Use the up (↑) and down (↓) arrows to navigate paths. Press 'N' to exit.",
4
- "default_navigation_mode_deactivated": "Navigation Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
5
- "local_navigation_mode_activated": "Position based Nav On: Navigate nearest elements using arrow keys: (↑) for above, (↓) for below, (←) for previous, (→) for next element. Press 'ALT+N' to exit.",
6
- "local_navigation_mode_deactivated": "Position based Nav Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
7
- "shortcut_local_mode": "Activate local navigation mode",
8
- "shortcut_global_mode": "Activate global navigation mode"
2
+ "autocomplete": {
3
+ "no_suggestions": "No suggestions available"
4
+ },
5
+ "context_menu": {
6
+ "copy": "Copy",
7
+ "cut": "Cut",
8
+ "delete": "Delete",
9
+ "marker": {
10
+ "navigation": "Go to",
11
+ "next": "Next marker",
12
+ "previous": "Previous marker"
13
+ },
14
+ "paste": "Paste"
15
+ },
16
+ "diagram": {
17
+ "label": "Diagram"
9
18
  },
10
19
  "focus": {
11
20
  "focus_not_set": "Focus not set",
12
- "focus_on": "Currently focused: ",
13
21
  "focus_off": "Currently no element is focused.",
22
+ "focus_on": "Currently focused: ",
14
23
  "focus_within": "Within",
15
- "shortcut_focus_palette": "Focus on tool palette",
16
- "shortcut_focus_graph": "Focus on graph"
24
+ "shortcut_focus_graph": "Focus on graph",
25
+ "shortcut_focus_palette": "Focus on tool palette"
26
+ },
27
+ "grid": {
28
+ "shortcut_zoom_in": "Zoom in via grid",
29
+ "zoom_in_grid": "Select a digit from 1-9 to zoom in on the respective box."
30
+ },
31
+ "issue_marker": {
32
+ "severity_error": "ERROR",
33
+ "severity_info": "INFO",
34
+ "severity_warning": "WARNING"
35
+ },
36
+ "move": {
37
+ "shortcut_move": "Move element"
38
+ },
39
+ "navigation": {
40
+ "default_navigation_mode_activated": "Navigation On: Use arrow keys to select preceding (←) or succeding (→) elements. Use the up (↑) and down (↓) arrows to navigate paths. Press 'N' to exit.",
41
+ "default_navigation_mode_deactivated": "Navigation Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
42
+ "local_navigation_mode_activated": "Position based Nav On: Navigate nearest elements using arrow keys: (↑) for above, (↓) for below, (←) for previous, (→) for next element. Press 'ALT+N' to exit.",
43
+ "local_navigation_mode_deactivated": "Position based Nav Off: Press 'N' for default navigation, 'ALT+N' for position based navigation.",
44
+ "shortcut_global_mode": "Activate global navigation mode",
45
+ "shortcut_local_mode": "Activate local navigation mode"
17
46
  },
18
47
  "resize": {
19
48
  "resize_mode_activated": "Resize On: Use plus(+) and minus(-) to resize, 'CTRL'+'0' for default size. Press 'ESC' to exit.",
20
49
  "resize_mode_deactivated": "Resize Off: Press 'ALT'+'A' for resize mode.",
21
50
  "shortcut_activate": "Activate resize mode for selected element",
22
51
  "shortcut_deactivate": "Deactivate resize handler",
23
- "shortcut_increase": "Increase size of element",
24
52
  "shortcut_decrease": "Decrease size of element",
53
+ "shortcut_increase": "Increase size of element",
25
54
  "shortcut_reset": "Set element size to default"
26
55
  },
27
- "move": {
28
- "shortcut_move": "Move element"
29
- },
30
- "grid": {
31
- "zoom_in_grid": "Select a digit from 1-9 to zoom in on the respective box.",
32
- "shortcut_zoom_in": "Zoom in via grid"
33
- },
34
56
  "search": {
35
- "shortcut_activate": "Activate search for elements",
57
+ "label": "Search Field",
36
58
  "placeholder": "Search for elements...",
37
- "label": "Search Field"
59
+ "shortcut_activate": "Activate search for elements"
60
+ },
61
+ "shortcut": {
62
+ "group_focus": "Focus",
63
+ "group_graph": "Graph",
64
+ "group_grid": "Grid",
65
+ "group_move": "Move",
66
+ "group_navigation": "Navigation",
67
+ "group_resize": "Resize",
68
+ "group_search": "Search",
69
+ "group_tool_palette": "Tool Palette",
70
+ "group_viewport": "Viewport",
71
+ "group_zoom": "Zoom",
72
+ "header_command": "Command",
73
+ "header_shortcut": "Keybinding",
74
+ "menu_title": "Shortcut Menu",
75
+ "title": "Keyboard Shortcuts"
38
76
  },
39
77
  "tool_palette": {
40
- "label": "Tool Palette",
78
+ "debug_mode_button": "Debug Mode",
41
79
  "delete_button": "Enable deletion tool",
80
+ "label": "Tool Palette",
42
81
  "marquee_button": "Enable marquee tool",
43
82
  "marquee_message": "Currently marquee tool is only usable with mouse.",
44
- "search_placeholder": "Search...",
83
+ "maximize": "Maximize palette",
84
+ "minimize": "Minimize palette",
85
+ "no_items": "No results found.",
86
+ "reset_viewport_button": "Reset Viewport",
45
87
  "search_button": "Filter palette entries",
88
+ "search_placeholder": "Search...",
46
89
  "selection_button": "Enable selection tool",
47
- "validate_button": "Validate model",
48
- "reset_viewport_button": "Reset Viewport",
49
90
  "toggle_grid_button": "Toggle Grid",
50
- "debug_mode_button": "Debug Mode",
51
- "minimize": "Minimize palette",
52
- "maximize": "Maximize palette",
53
- "no_items": "No results found."
91
+ "validate_button": "Validate model"
54
92
  },
55
93
  "viewport": {
56
94
  "shortcut_move_viewport": "Move viewport",
57
- "shortcut_zoom_viewport": "Zoom viewport",
58
- "shortcut_zoom_element": "Zoom element"
59
- },
60
- "shortcut": {
61
- "title": "Keyboard Shortcuts",
62
- "header_command": "Command",
63
- "header_shortcut": "Keybinding",
64
- "menu_title": "Shortcut Menu",
65
- "group_move": "Move",
66
- "group_graph": "Graph",
67
- "group_resize": "Resize",
68
- "group_focus": "Focus",
69
- "group_zoom": "Zoom",
70
- "group_navigation": "Navigation",
71
- "group_grid": "Grid",
72
- "group_search": "Search",
73
- "group_tool_palette": "Tool Palette",
74
- "group_viewport": "Viewport"
75
- },
76
- "diagram": {
77
- "label": "Diagram"
78
- },
79
- "autocomplete": {
80
- "no_suggestions": "No suggestions available"
81
- },
82
- "issue_marker": {
83
- "severity_error": "ERROR",
84
- "severity_warning": "WARNING",
85
- "severity_info": "INFO"
95
+ "shortcut_zoom_element": "Zoom element",
96
+ "shortcut_zoom_viewport": "Zoom viewport"
86
97
  }
87
98
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2024 EclipseSource and others.
2
+ * Copyright (c) 2019-2025 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -133,8 +133,8 @@ export class ToolManager implements IToolManager, IDiagramStartup, IEditModeList
133
133
  this.actives.splice(0, this.actives.length);
134
134
  }
135
135
 
136
- enableDefaultTools(): void {
137
- if (this.defaultToolsEnabled) {
136
+ enableDefaultTools(force = false): void {
137
+ if (this.defaultToolsEnabled && !force) {
138
138
  return;
139
139
  }
140
140
  this.enable(pluck(this.defaultTools, 'id'));
@@ -171,7 +171,7 @@ export class ToolManager implements IToolManager, IDiagramStartup, IEditModeList
171
171
  if (newValue === EditMode.READONLY) {
172
172
  this.disableEditTools();
173
173
  } else if (newValue === EditMode.EDITABLE) {
174
- this.enableDefaultTools();
174
+ this.enableDefaultTools(true);
175
175
  }
176
176
  }
177
177
  }
@@ -47,6 +47,7 @@ import { labelEditModule } from './features/label-edit/label-edit-module';
47
47
  import { layoutModule } from './features/layout/layout-module';
48
48
  import { navigationModule } from './features/navigation/navigation-module';
49
49
  import { routingModule } from './features/routing/routing-module';
50
+ import { searchPaletteDefaultSuggestionsModule, searchPaletteModule } from './features/search-palette/search-palette-module';
50
51
  import { selectModule } from './features/select/select-module';
51
52
  import { sourceModelWatcherModule } from './features/source-model-watcher/source-model-watcher-module';
52
53
  import { statusModule } from './features/status/status-module';
@@ -101,7 +102,9 @@ export const DEFAULT_MODULES = [
101
102
  zorderModule,
102
103
  svgMetadataModule,
103
104
  statusModule,
104
- resizeModule
105
+ resizeModule,
106
+ searchPaletteModule,
107
+ searchPaletteDefaultSuggestionsModule
105
108
  ] as const;
106
109
 
107
110
  /**
@@ -17,9 +17,8 @@
17
17
  import { FeatureModule } from '@eclipse-glsp/sprotty';
18
18
  import { configureElementNavigationTool } from './element-navigation/element-navigation-module';
19
19
  import { configureFocusTrackerTool } from './focus-tracker/focus-tracker-module';
20
- import { configureKeyboardControlTools } from './keyboard-pointer/keyboard-pointer-module';
21
20
  import { configureKeyboardToolPaletteTool } from './keyboard-tool-palette/keyboard-tool-palette-module';
22
- import { configureSearchPaletteModule } from './search/search-palette-module';
21
+ import { configureKeyboardControlTools } from './keyboard/keyboard-module';
23
22
  import { configureToastTool } from './toast/toast-module';
24
23
  import { configureViewKeyTools } from './view-key-tools/view-key-tools-module';
25
24
 
@@ -30,7 +29,6 @@ export const accessibilityModule = new FeatureModule(
30
29
  (bind, unbind, isBound, rebind) => {
31
30
  const context = { bind, unbind, isBound, rebind };
32
31
  configureViewKeyTools(context);
33
- configureSearchPaletteModule(context);
34
32
  configureKeyboardToolPaletteTool(context);
35
33
  configureKeyboardControlTools(context);
36
34
  configureElementNavigationTool(context);