@lvce-editor/extension-host-worker 8.16.0 → 8.18.0

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 (222) hide show
  1. package/dist/extension-api/index.js +1422 -0
  2. package/dist/extension-api/parts/Activation/Activation.js +13 -0
  3. package/dist/extension-api/parts/AssertCompletionProvider/AssertCompletionProvider.js +25 -0
  4. package/dist/extension-api/parts/AssertFormattingProvider/AssertFormattingProvider.js +22 -0
  5. package/dist/extension-api/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.js +19 -0
  6. package/dist/extension-api/parts/Command/Command.js +0 -0
  7. package/dist/extension-api/parts/CommandCallback/CommandCallback.js +0 -0
  8. package/dist/extension-api/parts/CommandMap/CommandMap.js +14 -0
  9. package/dist/extension-api/parts/CommandRegistry/CommandRegistry.js +53 -0
  10. package/dist/extension-api/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.js +0 -0
  11. package/dist/extension-api/parts/Completion/Completion.js +11 -0
  12. package/dist/extension-api/parts/CompletionItem/CompletionItem.js +0 -0
  13. package/dist/extension-api/parts/CompletionProvider/CompletionProvider.js +0 -0
  14. package/dist/extension-api/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +78 -0
  15. package/dist/extension-api/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.js +0 -0
  16. package/dist/extension-api/parts/CompletionProviderState/CompletionProviderState.js +10 -0
  17. package/dist/extension-api/parts/CompletionTextDocument/CompletionTextDocument.js +0 -0
  18. package/dist/extension-api/parts/Disposable/Disposable.js +0 -0
  19. package/dist/extension-api/parts/ExecuteCommand/ExecuteCommand.js +7 -0
  20. package/dist/extension-api/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.js +5 -0
  21. package/dist/extension-api/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.js +4 -0
  22. package/dist/extension-api/parts/ExecuteHoverProvider/ExecuteHoverProvider.js +4 -0
  23. package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +20 -0
  24. package/dist/extension-api/parts/ExtensionApiError/ExtensionApiError.js +9 -0
  25. package/dist/extension-api/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js +15 -0
  26. package/dist/extension-api/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js +21 -0
  27. package/dist/extension-api/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.js +11 -0
  28. package/dist/extension-api/parts/Formatting/Formatting.js +10 -0
  29. package/dist/extension-api/parts/FormattingEdit/FormattingEdit.js +0 -0
  30. package/dist/extension-api/parts/FormattingProvider/FormattingProvider.js +0 -0
  31. package/dist/extension-api/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +42 -0
  32. package/dist/extension-api/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.js +0 -0
  33. package/dist/extension-api/parts/FormattingProviderState/FormattingProviderState.js +10 -0
  34. package/dist/extension-api/parts/FormattingTextDocument/FormattingTextDocument.js +0 -0
  35. package/dist/extension-api/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.js +4 -0
  36. package/dist/extension-api/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js +4 -0
  37. package/dist/extension-api/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.js +4 -0
  38. package/dist/extension-api/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.js +4 -0
  39. package/dist/extension-api/parts/GetStatusBarItems/GetStatusBarItems.js +4 -0
  40. package/dist/extension-api/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.js +17 -0
  41. package/dist/extension-api/parts/Hover/Hover.js +10 -0
  42. package/dist/extension-api/parts/HoverProvider/HoverProvider.js +0 -0
  43. package/dist/extension-api/parts/HoverProviderRegistry/HoverProviderRegistry.js +64 -0
  44. package/dist/extension-api/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.js +0 -0
  45. package/dist/extension-api/parts/HoverResult/HoverResult.js +0 -0
  46. package/dist/extension-api/parts/HoverTextDocument/HoverTextDocument.js +0 -0
  47. package/dist/extension-api/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +7 -0
  48. package/dist/extension-api/parts/ProviderRegistry/ProviderRegistry.js +95 -0
  49. package/dist/extension-api/parts/QuickPick/QuickPick.js +7 -0
  50. package/dist/extension-api/parts/QuickPickItem/QuickPickItem.js +0 -0
  51. package/dist/extension-api/parts/RegisterCompletionProvider/RegisterCompletionProvider.js +4 -0
  52. package/dist/extension-api/parts/RegisterFormattingProvider/RegisterFormattingProvider.js +4 -0
  53. package/dist/extension-api/parts/RegisterHoverProvider/RegisterHoverProvider.js +4 -0
  54. package/dist/extension-api/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.js +4 -0
  55. package/dist/extension-api/parts/RegisteredCommand/RegisteredCommand.js +0 -0
  56. package/dist/extension-api/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.js +0 -0
  57. package/dist/extension-api/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.js +0 -0
  58. package/dist/extension-api/parts/RegisteredHoverProvider/RegisteredHoverProvider.js +0 -0
  59. package/dist/extension-api/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.js +0 -0
  60. package/dist/extension-api/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.js +4 -0
  61. package/dist/extension-api/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js +4 -0
  62. package/dist/extension-api/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.js +4 -0
  63. package/dist/extension-api/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.js +4 -0
  64. package/dist/extension-api/parts/Rpc/Rpc.js +14 -0
  65. package/dist/extension-api/parts/ShowQuickPickOptions/ShowQuickPickOptions.js +0 -0
  66. package/dist/extension-api/parts/StatusBar/StatusBar.js +8 -0
  67. package/dist/extension-api/parts/StatusBarItem/StatusBarItem.js +0 -0
  68. package/dist/extension-api/parts/StatusBarItemProvider/StatusBarItemProvider.js +0 -0
  69. package/dist/extension-api/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.js +0 -0
  70. package/dist/extension-api/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +52 -0
  71. package/dist/extension-api/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.js +0 -0
  72. package/dist/extension-api/parts/StatusBarItemProviderState/StatusBarItemProviderState.js +10 -0
  73. package/dist/extensionHostWorkerMain.js +1412 -1235
  74. package/extension-api/LICENSE +21 -0
  75. package/extension-api/README.md +23 -0
  76. package/extension-api/dist/index.d.ts +20 -0
  77. package/extension-api/dist/index.js +9 -0
  78. package/extension-api/dist/parts/Activation/Activation.d.ts +1 -0
  79. package/extension-api/dist/parts/Activation/Activation.js +10 -0
  80. package/extension-api/dist/parts/AssertCompletionProvider/AssertCompletionProvider.d.ts +2 -0
  81. package/extension-api/dist/parts/AssertCompletionProvider/AssertCompletionProvider.js +22 -0
  82. package/extension-api/dist/parts/AssertFormattingProvider/AssertFormattingProvider.d.ts +2 -0
  83. package/extension-api/dist/parts/AssertFormattingProvider/AssertFormattingProvider.js +19 -0
  84. package/extension-api/dist/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.d.ts +2 -0
  85. package/extension-api/dist/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.js +16 -0
  86. package/extension-api/dist/parts/Command/Command.d.ts +5 -0
  87. package/extension-api/dist/parts/Command/Command.js +1 -0
  88. package/extension-api/dist/parts/CommandCallback/CommandCallback.d.ts +1 -0
  89. package/extension-api/dist/parts/CommandCallback/CommandCallback.js +1 -0
  90. package/extension-api/dist/parts/CommandMap/CommandMap.d.ts +13 -0
  91. package/extension-api/dist/parts/CommandMap/CommandMap.js +11 -0
  92. package/extension-api/dist/parts/CommandRegistry/CommandRegistry.d.ts +7 -0
  93. package/extension-api/dist/parts/CommandRegistry/CommandRegistry.js +47 -0
  94. package/extension-api/dist/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.d.ts +4 -0
  95. package/extension-api/dist/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.js +1 -0
  96. package/extension-api/dist/parts/Completion/Completion.d.ts +9 -0
  97. package/extension-api/dist/parts/Completion/Completion.js +4 -0
  98. package/extension-api/dist/parts/CompletionItem/CompletionItem.d.ts +3 -0
  99. package/extension-api/dist/parts/CompletionItem/CompletionItem.js +1 -0
  100. package/extension-api/dist/parts/CompletionProvider/CompletionProvider.d.ts +8 -0
  101. package/extension-api/dist/parts/CompletionProvider/CompletionProvider.js +1 -0
  102. package/extension-api/dist/parts/CompletionProviderRegistry/CompletionProviderRegistry.d.ts +13 -0
  103. package/extension-api/dist/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +66 -0
  104. package/extension-api/dist/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.d.ts +4 -0
  105. package/extension-api/dist/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.js +1 -0
  106. package/extension-api/dist/parts/CompletionProviderState/CompletionProviderState.d.ts +1 -0
  107. package/extension-api/dist/parts/CompletionProviderState/CompletionProviderState.js +1 -0
  108. package/extension-api/dist/parts/CompletionTextDocument/CompletionTextDocument.d.ts +6 -0
  109. package/extension-api/dist/parts/CompletionTextDocument/CompletionTextDocument.js +1 -0
  110. package/extension-api/dist/parts/Disposable/Disposable.d.ts +3 -0
  111. package/extension-api/dist/parts/Disposable/Disposable.js +1 -0
  112. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.d.ts +1 -0
  113. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.js +4 -0
  114. package/extension-api/dist/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.d.ts +1 -0
  115. package/extension-api/dist/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.js +1 -0
  116. package/extension-api/dist/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.d.ts +1 -0
  117. package/extension-api/dist/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.js +1 -0
  118. package/extension-api/dist/parts/ExecuteHoverProvider/ExecuteHoverProvider.d.ts +1 -0
  119. package/extension-api/dist/parts/ExecuteHoverProvider/ExecuteHoverProvider.js +1 -0
  120. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +12 -0
  121. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +17 -0
  122. package/extension-api/dist/parts/ExtensionApiError/ExtensionApiError.d.ts +3 -0
  123. package/extension-api/dist/parts/ExtensionApiError/ExtensionApiError.js +6 -0
  124. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +14 -0
  125. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js +12 -0
  126. package/extension-api/dist/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.d.ts +1 -0
  127. package/extension-api/dist/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js +18 -0
  128. package/extension-api/dist/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.d.ts +2 -0
  129. package/extension-api/dist/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.js +8 -0
  130. package/extension-api/dist/parts/Formatting/Formatting.d.ts +9 -0
  131. package/extension-api/dist/parts/Formatting/Formatting.js +4 -0
  132. package/extension-api/dist/parts/FormattingEdit/FormattingEdit.d.ts +5 -0
  133. package/extension-api/dist/parts/FormattingEdit/FormattingEdit.js +1 -0
  134. package/extension-api/dist/parts/FormattingProvider/FormattingProvider.d.ts +7 -0
  135. package/extension-api/dist/parts/FormattingProvider/FormattingProvider.js +1 -0
  136. package/extension-api/dist/parts/FormattingProviderRegistry/FormattingProviderRegistry.d.ts +12 -0
  137. package/extension-api/dist/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +34 -0
  138. package/extension-api/dist/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.d.ts +4 -0
  139. package/extension-api/dist/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.js +1 -0
  140. package/extension-api/dist/parts/FormattingProviderState/FormattingProviderState.d.ts +1 -0
  141. package/extension-api/dist/parts/FormattingProviderState/FormattingProviderState.js +1 -0
  142. package/extension-api/dist/parts/FormattingTextDocument/FormattingTextDocument.d.ts +6 -0
  143. package/extension-api/dist/parts/FormattingTextDocument/FormattingTextDocument.js +1 -0
  144. package/extension-api/dist/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.d.ts +1 -0
  145. package/extension-api/dist/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.js +1 -0
  146. package/extension-api/dist/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.d.ts +1 -0
  147. package/extension-api/dist/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js +1 -0
  148. package/extension-api/dist/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.d.ts +1 -0
  149. package/extension-api/dist/parts/GetHoverProviderRegistrySnapshot/GetHoverProviderRegistrySnapshot.js +1 -0
  150. package/extension-api/dist/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.d.ts +1 -0
  151. package/extension-api/dist/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.js +1 -0
  152. package/extension-api/dist/parts/GetStatusBarItems/GetStatusBarItems.d.ts +1 -0
  153. package/extension-api/dist/parts/GetStatusBarItems/GetStatusBarItems.js +1 -0
  154. package/extension-api/dist/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.d.ts +9 -0
  155. package/extension-api/dist/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.js +10 -0
  156. package/extension-api/dist/parts/Hover/Hover.d.ts +9 -0
  157. package/extension-api/dist/parts/Hover/Hover.js +4 -0
  158. package/extension-api/dist/parts/HoverProvider/HoverProvider.d.ts +7 -0
  159. package/extension-api/dist/parts/HoverProvider/HoverProvider.js +1 -0
  160. package/extension-api/dist/parts/HoverProviderRegistry/HoverProviderRegistry.d.ts +12 -0
  161. package/extension-api/dist/parts/HoverProviderRegistry/HoverProviderRegistry.js +56 -0
  162. package/extension-api/dist/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.d.ts +4 -0
  163. package/extension-api/dist/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.js +1 -0
  164. package/extension-api/dist/parts/HoverResult/HoverResult.d.ts +6 -0
  165. package/extension-api/dist/parts/HoverResult/HoverResult.js +1 -0
  166. package/extension-api/dist/parts/HoverTextDocument/HoverTextDocument.d.ts +6 -0
  167. package/extension-api/dist/parts/HoverTextDocument/HoverTextDocument.js +1 -0
  168. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.d.ts +1 -0
  169. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +4 -0
  170. package/extension-api/dist/parts/ProviderRegistry/ProviderRegistry.d.ts +21 -0
  171. package/extension-api/dist/parts/ProviderRegistry/ProviderRegistry.js +86 -0
  172. package/extension-api/dist/parts/QuickPick/QuickPick.d.ts +2 -0
  173. package/extension-api/dist/parts/QuickPick/QuickPick.js +4 -0
  174. package/extension-api/dist/parts/QuickPickItem/QuickPickItem.d.ts +5 -0
  175. package/extension-api/dist/parts/QuickPickItem/QuickPickItem.js +1 -0
  176. package/extension-api/dist/parts/RegisterCompletionProvider/RegisterCompletionProvider.d.ts +1 -0
  177. package/extension-api/dist/parts/RegisterCompletionProvider/RegisterCompletionProvider.js +1 -0
  178. package/extension-api/dist/parts/RegisterFormattingProvider/RegisterFormattingProvider.d.ts +1 -0
  179. package/extension-api/dist/parts/RegisterFormattingProvider/RegisterFormattingProvider.js +1 -0
  180. package/extension-api/dist/parts/RegisterHoverProvider/RegisterHoverProvider.d.ts +1 -0
  181. package/extension-api/dist/parts/RegisterHoverProvider/RegisterHoverProvider.js +1 -0
  182. package/extension-api/dist/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.d.ts +1 -0
  183. package/extension-api/dist/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.js +1 -0
  184. package/extension-api/dist/parts/RegisteredCommand/RegisteredCommand.d.ts +4 -0
  185. package/extension-api/dist/parts/RegisteredCommand/RegisteredCommand.js +1 -0
  186. package/extension-api/dist/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.d.ts +8 -0
  187. package/extension-api/dist/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.js +1 -0
  188. package/extension-api/dist/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.d.ts +7 -0
  189. package/extension-api/dist/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.js +1 -0
  190. package/extension-api/dist/parts/RegisteredHoverProvider/RegisteredHoverProvider.d.ts +7 -0
  191. package/extension-api/dist/parts/RegisteredHoverProvider/RegisteredHoverProvider.js +1 -0
  192. package/extension-api/dist/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.d.ts +5 -0
  193. package/extension-api/dist/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.js +1 -0
  194. package/extension-api/dist/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.d.ts +1 -0
  195. package/extension-api/dist/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.js +1 -0
  196. package/extension-api/dist/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.d.ts +1 -0
  197. package/extension-api/dist/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js +1 -0
  198. package/extension-api/dist/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.d.ts +1 -0
  199. package/extension-api/dist/parts/ResetHoverProviderRegistry/ResetHoverProviderRegistry.js +1 -0
  200. package/extension-api/dist/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.d.ts +1 -0
  201. package/extension-api/dist/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.js +1 -0
  202. package/extension-api/dist/parts/Rpc/Rpc.d.ts +3 -0
  203. package/extension-api/dist/parts/Rpc/Rpc.js +10 -0
  204. package/extension-api/dist/parts/ShowQuickPickOptions/ShowQuickPickOptions.d.ts +5 -0
  205. package/extension-api/dist/parts/ShowQuickPickOptions/ShowQuickPickOptions.js +1 -0
  206. package/extension-api/dist/parts/StatusBar/StatusBar.d.ts +8 -0
  207. package/extension-api/dist/parts/StatusBar/StatusBar.js +3 -0
  208. package/extension-api/dist/parts/StatusBarItem/StatusBarItem.d.ts +7 -0
  209. package/extension-api/dist/parts/StatusBarItem/StatusBarItem.js +1 -0
  210. package/extension-api/dist/parts/StatusBarItemProvider/StatusBarItemProvider.d.ts +5 -0
  211. package/extension-api/dist/parts/StatusBarItemProvider/StatusBarItemProvider.js +1 -0
  212. package/extension-api/dist/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.d.ts +4 -0
  213. package/extension-api/dist/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.js +1 -0
  214. package/extension-api/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.d.ts +11 -0
  215. package/extension-api/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +44 -0
  216. package/extension-api/dist/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.d.ts +4 -0
  217. package/extension-api/dist/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.js +1 -0
  218. package/extension-api/dist/parts/StatusBarItemProviderState/StatusBarItemProviderState.d.ts +1 -0
  219. package/extension-api/dist/parts/StatusBarItemProviderState/StatusBarItemProviderState.js +1 -0
  220. package/extension-api/package.json +32 -0
  221. package/extension-api/tsconfig.tsbuildinfo +1 -0
  222. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Lvce Editor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,23 @@
1
+ # @lvce-editor/api
2
+
3
+ Extension API for Lvce Editor extensions.
4
+
5
+ ```sh
6
+ npm install @lvce-editor/api
7
+ ```
8
+
9
+ ```ts
10
+ import { activate, registerCommand } from '@lvce-editor/api'
11
+
12
+ export const main = () => {
13
+ activate()
14
+ registerCommand({
15
+ id: 'example.hello',
16
+ execute() {
17
+ console.log('Hello from an extension')
18
+ },
19
+ })
20
+ }
21
+ ```
22
+
23
+ The package is published as unbundled ESM with TypeScript declaration files, so extensions can bundle it with their own build tooling.
@@ -0,0 +1,20 @@
1
+ export { activate } from './parts/Activation/Activation.ts';
2
+ export { executeCommand } from './parts/ExecuteCommand/ExecuteCommand.ts';
3
+ export { showQuickPick } from './parts/QuickPick/QuickPick.ts';
4
+ export { registerCommand } from './parts/CommandRegistry/CommandRegistry.ts';
5
+ export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from './parts/Completion/Completion.ts';
6
+ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from './parts/Formatting/Formatting.ts';
7
+ export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
8
+ export { getStatusBarItemProviderRegistrySnapshot, registerStatusBarItemProvider, resetStatusBarItemProviderRegistry, } from './parts/StatusBar/StatusBar.ts';
9
+ export { handleExtensionManagementMessagePort } from './parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.ts';
10
+ export type { Command } from './parts/Command/Command.ts';
11
+ export type { CommandCallback } from './parts/CommandCallback/CommandCallback.ts';
12
+ export type { CommandRegistrySnapshot } from './parts/CommandRegistrySnapshot/CommandRegistrySnapshot.ts';
13
+ export type { CompletionItem, CompletionProvider, CompletionProviderRegistrySnapshot, RegisteredCompletionProvider, } from './parts/Completion/Completion.ts';
14
+ export type { Disposable } from './parts/Disposable/Disposable.ts';
15
+ export type { FormattingEdit, FormattingProvider, FormattingProviderRegistrySnapshot, RegisteredFormattingProvider, } from './parts/Formatting/Formatting.ts';
16
+ export type { HandleExtensionManagementMessagePortOptions } from './parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.ts';
17
+ export type { HoverProvider, HoverProviderRegistrySnapshot, HoverResult, RegisteredHoverProvider } from './parts/Hover/Hover.ts';
18
+ export type { QuickPickItem } from './parts/QuickPickItem/QuickPickItem.ts';
19
+ export type { ShowQuickPickOptions } from './parts/ShowQuickPickOptions/ShowQuickPickOptions.ts';
20
+ export type { StatusBarItem, StatusBarItemProvider, StatusBarItemProviderHandle, StatusBarItemProviderRegistrySnapshot, } from './parts/StatusBar/StatusBar.ts';
@@ -0,0 +1,9 @@
1
+ export { activate } from "./parts/Activation/Activation.js";
2
+ export { executeCommand } from "./parts/ExecuteCommand/ExecuteCommand.js";
3
+ export { showQuickPick } from "./parts/QuickPick/QuickPick.js";
4
+ export { registerCommand } from "./parts/CommandRegistry/CommandRegistry.js";
5
+ export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from "./parts/Completion/Completion.js";
6
+ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from "./parts/Formatting/Formatting.js";
7
+ export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
8
+ export { getStatusBarItemProviderRegistrySnapshot, registerStatusBarItemProvider, resetStatusBarItemProviderRegistry, } from "./parts/StatusBar/StatusBar.js";
9
+ export { handleExtensionManagementMessagePort } from "./parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.js";
@@ -0,0 +1 @@
1
+ export declare const activate: () => Promise<void>;
@@ -0,0 +1,10 @@
1
+ import { listen } from "../ExtensionApiWorkerListen/ExtensionApiWorkerListen.js";
2
+ import * as Rpc from "../Rpc/Rpc.js";
3
+ let rpcPromise;
4
+ export const activate = async () => {
5
+ if (!rpcPromise) {
6
+ rpcPromise = listen();
7
+ }
8
+ const rpc = await rpcPromise;
9
+ Rpc.set(rpc);
10
+ };
@@ -0,0 +1,2 @@
1
+ import type { CompletionProvider } from '../CompletionProvider/CompletionProvider.ts';
2
+ export declare const assertCompletionProvider: (provider: CompletionProvider) => void;
@@ -0,0 +1,22 @@
1
+ import { hasCompletionProvider } from "../CompletionProviderState/CompletionProviderState.js";
2
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
3
+ export const assertCompletionProvider = (provider) => {
4
+ if (!provider) {
5
+ throw new ExtensionApiError('completion provider is not defined');
6
+ }
7
+ if (!provider.id) {
8
+ throw new ExtensionApiError('completion provider is missing id');
9
+ }
10
+ if (!provider.languageId) {
11
+ throw new ExtensionApiError(`completion provider ${provider.id} is missing languageId`);
12
+ }
13
+ if (typeof provider.provideCompletions !== 'function') {
14
+ throw new ExtensionApiError(`completion provider ${provider.id} is missing provideCompletions function`);
15
+ }
16
+ if (provider.resolveCompletionItem !== undefined && typeof provider.resolveCompletionItem !== 'function') {
17
+ throw new ExtensionApiError(`completion provider ${provider.id} has invalid resolveCompletionItem function`);
18
+ }
19
+ if (hasCompletionProvider(provider.id)) {
20
+ throw new ExtensionApiError(`completion provider ${provider.id} is already registered`);
21
+ }
22
+ };
@@ -0,0 +1,2 @@
1
+ import type { FormattingProvider } from '../FormattingProvider/FormattingProvider.ts';
2
+ export declare const assertFormattingProvider: (provider: FormattingProvider) => void;
@@ -0,0 +1,19 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ import { hasFormattingProvider } from "../FormattingProviderState/FormattingProviderState.js";
3
+ export const assertFormattingProvider = (provider) => {
4
+ if (!provider) {
5
+ throw new ExtensionApiError('formatting provider is not defined');
6
+ }
7
+ if (typeof provider.id !== 'string' || provider.id.length === 0) {
8
+ throw new ExtensionApiError('formatting provider is missing id');
9
+ }
10
+ if (typeof provider.languageId !== 'string' || provider.languageId.length === 0) {
11
+ throw new ExtensionApiError(`formatting provider ${provider.id} is missing languageId`);
12
+ }
13
+ if (typeof provider.format !== 'function') {
14
+ throw new ExtensionApiError(`formatting provider ${provider.id} is missing format function`);
15
+ }
16
+ if (hasFormattingProvider(provider.id)) {
17
+ throw new ExtensionApiError(`formatting provider ${provider.id} is already registered`);
18
+ }
19
+ };
@@ -0,0 +1,2 @@
1
+ import type { StatusBarItemProvider } from '../StatusBarItemProvider/StatusBarItemProvider.ts';
2
+ export declare const assertStatusBarItemProvider: (provider: StatusBarItemProvider) => void;
@@ -0,0 +1,16 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ import { hasStatusBarItemProvider } from "../StatusBarItemProviderState/StatusBarItemProviderState.js";
3
+ export const assertStatusBarItemProvider = (provider) => {
4
+ if (!provider) {
5
+ throw new ExtensionApiError('status bar item provider is not defined');
6
+ }
7
+ if (typeof provider.id !== 'string' || provider.id.length === 0) {
8
+ throw new ExtensionApiError('status bar item provider is missing id');
9
+ }
10
+ if (typeof provider.getStatusBarItem !== 'function') {
11
+ throw new ExtensionApiError(`status bar item provider ${provider.id} is missing getStatusBarItem function`);
12
+ }
13
+ if (hasStatusBarItemProvider(provider.id)) {
14
+ throw new ExtensionApiError(`status bar item provider ${provider.id} is already registered`);
15
+ }
16
+ };
@@ -0,0 +1,5 @@
1
+ import type { CommandCallback } from '../CommandCallback/CommandCallback.ts';
2
+ export interface Command<TArgs extends readonly unknown[] = readonly unknown[], TResult = unknown> {
3
+ readonly execute: CommandCallback<TArgs, TResult>;
4
+ readonly id: string;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type CommandCallback<TArgs extends readonly unknown[] = readonly unknown[], TResult = unknown> = (...args: TArgs) => TResult | Promise<TResult>;
@@ -0,0 +1,13 @@
1
+ export declare const commandMap: {
2
+ initialize(type: string, port: MessagePort): Promise<void>;
3
+ 'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
4
+ 'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
5
+ 'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
6
+ 'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
7
+ 'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
8
+ 'ExtensionApi.getCommandRegistrySnapshot': () => import("../CommandRegistrySnapshot/CommandRegistrySnapshot.ts").CommandRegistrySnapshot;
9
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': () => import("../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts").CompletionProviderRegistrySnapshot;
10
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
11
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
12
+ 'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
13
+ };
@@ -0,0 +1,11 @@
1
+ import { commandMap as extensionApiCommandMap } from "../ExtensionApiCommandMap/ExtensionApiCommandMap.js";
2
+ import { handleExtensionManagementMessagePort } from "../ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js";
3
+ export const commandMap = {
4
+ ...extensionApiCommandMap,
5
+ async initialize(type, port) {
6
+ if (type !== 'message-port') {
7
+ throw new Error(`unsupported initialize type ${type}`);
8
+ }
9
+ await handleExtensionManagementMessagePort(port);
10
+ },
11
+ };
@@ -0,0 +1,7 @@
1
+ import type { Command } from '../Command/Command.ts';
2
+ import type { CommandRegistrySnapshot } from '../CommandRegistrySnapshot/CommandRegistrySnapshot.ts';
3
+ import type { Disposable } from '../Disposable/Disposable.ts';
4
+ export declare const registerCommand: <TArgs extends readonly unknown[], TResult>(command: Command<TArgs, TResult>) => Disposable;
5
+ export declare const getCommandRegistrySnapshot: () => CommandRegistrySnapshot;
6
+ export declare const executeCommand: (id: string, ...args: readonly unknown[]) => Promise<unknown>;
7
+ export declare const resetCommandRegistry: () => void;
@@ -0,0 +1,47 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ const commands = Object.create(null);
3
+ const assertCommand = (command) => {
4
+ if (!command) {
5
+ throw new ExtensionApiError('command is not defined');
6
+ }
7
+ if (typeof command.id !== 'string' || command.id.length === 0) {
8
+ throw new ExtensionApiError('command is missing id');
9
+ }
10
+ if (typeof command.execute !== 'function') {
11
+ throw new ExtensionApiError(`command ${command.id} is missing execute function`);
12
+ }
13
+ if (command.id in commands) {
14
+ throw new ExtensionApiError(`command ${command.id} is already registered`);
15
+ }
16
+ };
17
+ export const registerCommand = (command) => {
18
+ assertCommand(command);
19
+ commands[command.id] = {
20
+ execute(...args) {
21
+ return command.execute(...args);
22
+ },
23
+ id: command.id,
24
+ };
25
+ return {
26
+ dispose() {
27
+ delete commands[command.id];
28
+ },
29
+ };
30
+ };
31
+ export const getCommandRegistrySnapshot = () => {
32
+ return {
33
+ commands: Object.values(commands),
34
+ };
35
+ };
36
+ export const executeCommand = async (id, ...args) => {
37
+ const command = commands[id];
38
+ if (!command) {
39
+ throw new ExtensionApiError(`command ${id} not found`);
40
+ }
41
+ return command.execute(...args);
42
+ };
43
+ export const resetCommandRegistry = () => {
44
+ for (const id of Object.keys(commands)) {
45
+ delete commands[id];
46
+ }
47
+ };
@@ -0,0 +1,4 @@
1
+ import type { RegisteredCommand } from '../RegisteredCommand/RegisteredCommand.ts';
2
+ export interface CommandRegistrySnapshot {
3
+ readonly commands: readonly RegisteredCommand[];
4
+ }
@@ -0,0 +1,9 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from '../ExecuteCompletionProvider/ExecuteCompletionProvider.ts';
2
+ export { getCompletionProviderRegistrySnapshot } from '../GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.ts';
3
+ export { registerCompletionProvider } from '../RegisterCompletionProvider/RegisterCompletionProvider.ts';
4
+ export { resetCompletionProviderRegistry } from '../ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.ts';
5
+ export type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
6
+ export type { CompletionProvider } from '../CompletionProvider/CompletionProvider.ts';
7
+ export type { CompletionProviderRegistrySnapshot } from '../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts';
8
+ export type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
9
+ export type { RegisteredCompletionProvider } from '../RegisteredCompletionProvider/RegisteredCompletionProvider.ts';
@@ -0,0 +1,4 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from "../ExecuteCompletionProvider/ExecuteCompletionProvider.js";
2
+ export { getCompletionProviderRegistrySnapshot } from "../GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.js";
3
+ export { registerCompletionProvider } from "../RegisterCompletionProvider/RegisterCompletionProvider.js";
4
+ export { resetCompletionProviderRegistry } from "../ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.js";
@@ -0,0 +1,3 @@
1
+ export interface CompletionItem {
2
+ readonly [key: string]: unknown;
3
+ }
@@ -0,0 +1,8 @@
1
+ import type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
2
+ import type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
3
+ export interface CompletionProvider {
4
+ readonly id: string;
5
+ readonly languageId: string;
6
+ readonly provideCompletions: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => readonly CompletionItem[] | Promise<readonly CompletionItem[]>;
7
+ readonly resolveCompletionItem?: (textDocument: TextDocument, offset: number, name: string, completionItem: CompletionItem, ...args: readonly unknown[]) => CompletionItem | undefined | Promise<CompletionItem | undefined>;
8
+ }
@@ -0,0 +1,13 @@
1
+ import type { CompletionItem } from '../CompletionItem/CompletionItem.ts';
2
+ import type { CompletionProvider } from '../CompletionProvider/CompletionProvider.ts';
3
+ import type { CompletionProviderRegistrySnapshot } from '../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts';
4
+ import type { TextDocument } from '../CompletionTextDocument/CompletionTextDocument.ts';
5
+ import type { Disposable } from '../Disposable/Disposable.ts';
6
+ import type { RegisteredCompletionProvider } from '../RegisteredCompletionProvider/RegisteredCompletionProvider.ts';
7
+ export declare const hasCompletionProvider: (id: string) => boolean;
8
+ export declare const registerCompletionProvider: (provider: CompletionProvider) => Disposable;
9
+ export declare const executeCompletionProvider: (textDocument: TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly CompletionItem[]>;
10
+ export declare const executeResolveCompletionItemProvider: (textDocument: TextDocument, offset: number, name: string, completionItem: CompletionItem, ...args: readonly unknown[]) => Promise<CompletionItem | undefined>;
11
+ export declare const getCompletionProviders: () => RegisteredCompletionProvider[];
12
+ export declare const getCompletionProviderRegistrySnapshot: () => CompletionProviderRegistrySnapshot;
13
+ export declare const resetCompletionProviderRegistry: () => void;
@@ -0,0 +1,66 @@
1
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
2
+ import { createProviderRegistry } from "../ProviderRegistry/ProviderRegistry.js";
3
+ const getType = (value) => {
4
+ if (value === null) {
5
+ return 'null';
6
+ }
7
+ if (typeof value === 'string') {
8
+ return JSON.stringify(value);
9
+ }
10
+ return typeof value;
11
+ };
12
+ const validateCompletionResult = (completion) => {
13
+ if (!Array.isArray(completion)) {
14
+ throw new ExtensionApiError(`invalid completion result: completion must be of type array but is ${getType(completion)}`);
15
+ }
16
+ for (const item of completion) {
17
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
18
+ throw new ExtensionApiError(`invalid completion result: expected completion item to be of type object but was of type ${getType(item)}`);
19
+ }
20
+ }
21
+ return completion;
22
+ };
23
+ const registry = createProviderRegistry({
24
+ mapProvider(provider) {
25
+ return {
26
+ id: provider.id,
27
+ languageId: provider.languageId,
28
+ provideCompletions(textDocument, offset, ...args) {
29
+ return provider.provideCompletions(textDocument, offset, ...args);
30
+ },
31
+ resolveCompletionItem: provider.resolveCompletionItem
32
+ ? (textDocument, offset, name, completionItem, ...args) => provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args)
33
+ : undefined,
34
+ };
35
+ },
36
+ optionalMethods: ['resolveCompletionItem'],
37
+ providerName: 'completion provider',
38
+ requiredMethods: ['provideCompletions'],
39
+ requireLanguageId: true,
40
+ });
41
+ export const hasCompletionProvider = registry.hasProvider;
42
+ export const registerCompletionProvider = (provider) => {
43
+ const registeredProvider = registry.registerProvider(provider);
44
+ return {
45
+ dispose() {
46
+ registry.deleteProvider(registeredProvider.id);
47
+ },
48
+ };
49
+ };
50
+ export const executeCompletionProvider = async (textDocument, offset, ...args) => {
51
+ return registry.executeProviderByLanguageId(textDocument.languageId, 'provideCompletions', [textDocument, offset, ...args], validateCompletionResult);
52
+ };
53
+ export const executeResolveCompletionItemProvider = async (textDocument, offset, name, completionItem, ...args) => {
54
+ const provider = registry.getProviderByLanguageId(textDocument.languageId);
55
+ if (!provider) {
56
+ throw new ExtensionApiError(`No completion provider found for ${textDocument.languageId}`);
57
+ }
58
+ return provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args);
59
+ };
60
+ export const getCompletionProviders = registry.getProviders;
61
+ export const getCompletionProviderRegistrySnapshot = () => {
62
+ return {
63
+ providers: registry.getProviders(),
64
+ };
65
+ };
66
+ export const resetCompletionProviderRegistry = registry.reset;
@@ -0,0 +1,4 @@
1
+ import type { RegisteredCompletionProvider } from '../RegisteredCompletionProvider/RegisteredCompletionProvider.ts';
2
+ export interface CompletionProviderRegistrySnapshot {
3
+ readonly providers: readonly RegisteredCompletionProvider[];
4
+ }
@@ -0,0 +1 @@
1
+ export { getCompletionProviders, hasCompletionProvider, resetCompletionProviderRegistry as clearCompletionProviders, } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { getCompletionProviders, hasCompletionProvider, resetCompletionProviderRegistry as clearCompletionProviders, } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1,6 @@
1
+ export interface TextDocument {
2
+ readonly documentId?: number;
3
+ readonly languageId: string;
4
+ readonly text: string;
5
+ readonly uri: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface Disposable {
2
+ dispose(): void;
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare const executeCommand: (id: string, ...args: readonly unknown[]) => Promise<unknown>;
@@ -0,0 +1,4 @@
1
+ import * as Rpc from "../Rpc/Rpc.js";
2
+ export const executeCommand = async (id, ...args) => {
3
+ return Rpc.invoke('Extensions.executeCommand', id, ...args);
4
+ };
@@ -0,0 +1 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from '../CompletionProviderRegistry/CompletionProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeCompletionProvider, executeResolveCompletionItemProvider } from "../CompletionProviderRegistry/CompletionProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { executeFormattingProvider } from '../FormattingProviderRegistry/FormattingProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeFormattingProvider } from "../FormattingProviderRegistry/FormattingProviderRegistry.js";
@@ -0,0 +1 @@
1
+ export { executeHoverProvider } from '../HoverProviderRegistry/HoverProviderRegistry.ts';
@@ -0,0 +1 @@
1
+ export { executeHoverProvider } from "../HoverProviderRegistry/HoverProviderRegistry.js";
@@ -0,0 +1,12 @@
1
+ export declare const commandMap: {
2
+ 'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
3
+ 'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
4
+ 'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
5
+ 'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
6
+ 'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
7
+ 'ExtensionApi.getCommandRegistrySnapshot': () => import("../CommandRegistrySnapshot/CommandRegistrySnapshot.ts").CommandRegistrySnapshot;
8
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': () => import("../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts").CompletionProviderRegistrySnapshot;
9
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
10
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
11
+ 'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
12
+ };
@@ -0,0 +1,17 @@
1
+ import { executeCommand, getCommandRegistrySnapshot } from "../CommandRegistry/CommandRegistry.js";
2
+ import { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot } from "../Completion/Completion.js";
3
+ import { executeFormattingProvider, getFormattingProviderRegistrySnapshot } from "../Formatting/Formatting.js";
4
+ import { getStatusBarItems } from "../GetStatusBarItems/GetStatusBarItems.js";
5
+ import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover/Hover.js";
6
+ export const commandMap = {
7
+ 'ExtensionApi.executeCommand': executeCommand,
8
+ 'ExtensionApi.executeCompletionProvider': executeCompletionProvider,
9
+ 'ExtensionApi.executeFormattingProvider': executeFormattingProvider,
10
+ 'ExtensionApi.executeHoverProvider': executeHoverProvider,
11
+ 'ExtensionApi.executeResolveCompletionItemProvider': executeResolveCompletionItemProvider,
12
+ 'ExtensionApi.getCommandRegistrySnapshot': getCommandRegistrySnapshot,
13
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': getCompletionProviderRegistrySnapshot,
14
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': getFormattingProviderRegistrySnapshot,
15
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': getHoverProviderRegistrySnapshot,
16
+ 'ExtensionApi.getStatusBarItems': getStatusBarItems,
17
+ };
@@ -0,0 +1,3 @@
1
+ export declare class ExtensionApiError extends Error {
2
+ constructor(message: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export class ExtensionApiError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = 'ExtensionApiError';
5
+ }
6
+ }
@@ -0,0 +1,14 @@
1
+ export declare const commandMap: {
2
+ 'HandleMessagePort.handleExtensionManagementMessagePort': (port: MessagePort) => Promise<void>;
3
+ initialize(type: string, port: MessagePort): Promise<void>;
4
+ 'ExtensionApi.executeCommand': (id: string, ...args: readonly unknown[]) => Promise<unknown>;
5
+ 'ExtensionApi.executeCompletionProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<readonly import("../CompletionItem/CompletionItem.ts").CompletionItem[]>;
6
+ 'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
7
+ 'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
8
+ 'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
9
+ 'ExtensionApi.getCommandRegistrySnapshot': () => import("../CommandRegistrySnapshot/CommandRegistrySnapshot.ts").CommandRegistrySnapshot;
10
+ 'ExtensionApi.getCompletionProviderRegistrySnapshot': () => import("../CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.ts").CompletionProviderRegistrySnapshot;
11
+ 'ExtensionApi.getFormattingProviderRegistrySnapshot': () => import("../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts").FormattingProviderRegistrySnapshot;
12
+ 'ExtensionApi.getHoverProviderRegistrySnapshot': () => import("../HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.ts").HoverProviderRegistrySnapshot;
13
+ 'ExtensionApi.getStatusBarItems': () => readonly import("../StatusBarItem/StatusBarItem.ts").StatusBarItem[];
14
+ };
@@ -0,0 +1,12 @@
1
+ import { commandMap as extensionApiCommandMap } from "../ExtensionApiCommandMap/ExtensionApiCommandMap.js";
2
+ import { handleExtensionManagementMessagePort } from "../ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js";
3
+ export const commandMap = {
4
+ ...extensionApiCommandMap,
5
+ 'HandleMessagePort.handleExtensionManagementMessagePort': handleExtensionManagementMessagePort,
6
+ async initialize(type, port) {
7
+ if (type !== 'message-port') {
8
+ throw new Error(`unsupported initialize type ${type}`);
9
+ }
10
+ await handleExtensionManagementMessagePort(port);
11
+ },
12
+ };
@@ -0,0 +1 @@
1
+ export declare const handleExtensionManagementMessagePort: (port: MessagePort) => Promise<void>;
@@ -0,0 +1,18 @@
1
+ import { PlainMessagePortRpc } from '@lvce-editor/rpc';
2
+ import * as ExtensionApiCommandMap from "../ExtensionApiCommandMap/ExtensionApiCommandMap.js";
3
+ const commandMap = {
4
+ ...ExtensionApiCommandMap.commandMap,
5
+ async initialize(type, port) {
6
+ if (type !== 'message-port') {
7
+ throw new Error(`unsupported initialize type ${type}`);
8
+ }
9
+ await handleExtensionManagementMessagePort(port);
10
+ },
11
+ };
12
+ export const handleExtensionManagementMessagePort = async (port) => {
13
+ await PlainMessagePortRpc.create({
14
+ commandMap,
15
+ isMessagePortOpen: true,
16
+ messagePort: port,
17
+ });
18
+ };
@@ -0,0 +1,2 @@
1
+ import { type Rpc } from '@lvce-editor/rpc';
2
+ export declare const listen: () => Promise<Rpc>;
@@ -0,0 +1,8 @@
1
+ import { WebWorkerRpcClient } from '@lvce-editor/rpc';
2
+ import * as ExtensionApiWorkerCommandMap from "../ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js";
3
+ export const listen = async () => {
4
+ const rpc = WebWorkerRpcClient.create({
5
+ commandMap: ExtensionApiWorkerCommandMap.commandMap,
6
+ });
7
+ return rpc;
8
+ };
@@ -0,0 +1,9 @@
1
+ export { executeFormattingProvider } from '../ExecuteFormattingProvider/ExecuteFormattingProvider.ts';
2
+ export { getFormattingProviderRegistrySnapshot } from '../GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.ts';
3
+ export { registerFormattingProvider } from '../RegisterFormattingProvider/RegisterFormattingProvider.ts';
4
+ export { resetFormattingProviderRegistry } from '../ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.ts';
5
+ export type { FormattingEdit } from '../FormattingEdit/FormattingEdit.ts';
6
+ export type { FormattingProvider } from '../FormattingProvider/FormattingProvider.ts';
7
+ export type { FormattingProviderRegistrySnapshot } from '../FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.ts';
8
+ export type { TextDocument } from '../FormattingTextDocument/FormattingTextDocument.ts';
9
+ export type { RegisteredFormattingProvider } from '../RegisteredFormattingProvider/RegisteredFormattingProvider.ts';
@@ -0,0 +1,4 @@
1
+ export { executeFormattingProvider } from "../ExecuteFormattingProvider/ExecuteFormattingProvider.js";
2
+ export { getFormattingProviderRegistrySnapshot } from "../GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js";
3
+ export { registerFormattingProvider } from "../RegisterFormattingProvider/RegisterFormattingProvider.js";
4
+ export { resetFormattingProviderRegistry } from "../ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js";