naider 1.7.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 (359) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +884 -0
  3. package/SPEC-X.nx +276 -0
  4. package/SPEC.naide +431 -0
  5. package/bin/naide.js +519 -0
  6. package/examples/ai-app.naide +21 -0
  7. package/examples/ai-app.nx +21 -0
  8. package/examples/async.naide +50 -0
  9. package/examples/async.nx +40 -0
  10. package/examples/crud.naide +79 -0
  11. package/examples/crud.nx +64 -0
  12. package/examples/fullapp.naide +74 -0
  13. package/examples/fullapp.nx +74 -0
  14. package/examples/hello.naide +33 -0
  15. package/examples/hello.nx +29 -0
  16. package/examples/model.naide +44 -0
  17. package/examples/server.naide +28 -0
  18. package/examples/server.nx +27 -0
  19. package/examples/sql-app.naide +23 -0
  20. package/examples/sql-app.nx +23 -0
  21. package/examples/todo-api.naide +34 -0
  22. package/examples/todo-api.nx +31 -0
  23. package/lsp/server.js +172 -0
  24. package/package.json +56 -0
  25. package/src/generator.js +1313 -0
  26. package/src/index.js +41 -0
  27. package/src/lexer.js +402 -0
  28. package/src/parser.js +1671 -0
  29. package/src/preprocess.js +308 -0
  30. package/src/runtime.js +969 -0
  31. package/src/tokens.js +218 -0
  32. package/vscode-naide/README.md +38 -0
  33. package/vscode-naide/extension.js +41 -0
  34. package/vscode-naide/language-configuration-naide.json +32 -0
  35. package/vscode-naide/language-configuration-nx.json +32 -0
  36. package/vscode-naide/naide-lang-1.1.0.vsix +0 -0
  37. package/vscode-naide/node_modules/.bin/semver +16 -0
  38. package/vscode-naide/node_modules/.bin/semver.cmd +17 -0
  39. package/vscode-naide/node_modules/.bin/semver.ps1 +28 -0
  40. package/vscode-naide/node_modules/.package-lock.json +86 -0
  41. package/vscode-naide/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  42. package/vscode-naide/node_modules/balanced-match/LICENSE.md +21 -0
  43. package/vscode-naide/node_modules/balanced-match/README.md +97 -0
  44. package/vscode-naide/node_modules/balanced-match/index.js +62 -0
  45. package/vscode-naide/node_modules/balanced-match/package.json +48 -0
  46. package/vscode-naide/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  47. package/vscode-naide/node_modules/brace-expansion/LICENSE +21 -0
  48. package/vscode-naide/node_modules/brace-expansion/README.md +157 -0
  49. package/vscode-naide/node_modules/brace-expansion/index.js +394 -0
  50. package/vscode-naide/node_modules/brace-expansion/package.json +49 -0
  51. package/vscode-naide/node_modules/minimatch/LICENSE +15 -0
  52. package/vscode-naide/node_modules/minimatch/README.md +296 -0
  53. package/vscode-naide/node_modules/minimatch/changelog.md +35 -0
  54. package/vscode-naide/node_modules/minimatch/lib/path.js +4 -0
  55. package/vscode-naide/node_modules/minimatch/minimatch.js +996 -0
  56. package/vscode-naide/node_modules/minimatch/package.json +35 -0
  57. package/vscode-naide/node_modules/semver/LICENSE +15 -0
  58. package/vscode-naide/node_modules/semver/README.md +680 -0
  59. package/vscode-naide/node_modules/semver/bin/semver.js +195 -0
  60. package/vscode-naide/node_modules/semver/classes/comparator.js +143 -0
  61. package/vscode-naide/node_modules/semver/classes/index.js +7 -0
  62. package/vscode-naide/node_modules/semver/classes/range.js +577 -0
  63. package/vscode-naide/node_modules/semver/classes/semver.js +350 -0
  64. package/vscode-naide/node_modules/semver/functions/clean.js +8 -0
  65. package/vscode-naide/node_modules/semver/functions/cmp.js +54 -0
  66. package/vscode-naide/node_modules/semver/functions/coerce.js +62 -0
  67. package/vscode-naide/node_modules/semver/functions/compare-build.js +9 -0
  68. package/vscode-naide/node_modules/semver/functions/compare-loose.js +5 -0
  69. package/vscode-naide/node_modules/semver/functions/compare.js +7 -0
  70. package/vscode-naide/node_modules/semver/functions/diff.js +60 -0
  71. package/vscode-naide/node_modules/semver/functions/eq.js +5 -0
  72. package/vscode-naide/node_modules/semver/functions/gt.js +5 -0
  73. package/vscode-naide/node_modules/semver/functions/gte.js +5 -0
  74. package/vscode-naide/node_modules/semver/functions/inc.js +21 -0
  75. package/vscode-naide/node_modules/semver/functions/lt.js +5 -0
  76. package/vscode-naide/node_modules/semver/functions/lte.js +5 -0
  77. package/vscode-naide/node_modules/semver/functions/major.js +5 -0
  78. package/vscode-naide/node_modules/semver/functions/minor.js +5 -0
  79. package/vscode-naide/node_modules/semver/functions/neq.js +5 -0
  80. package/vscode-naide/node_modules/semver/functions/parse.js +18 -0
  81. package/vscode-naide/node_modules/semver/functions/patch.js +5 -0
  82. package/vscode-naide/node_modules/semver/functions/prerelease.js +8 -0
  83. package/vscode-naide/node_modules/semver/functions/rcompare.js +5 -0
  84. package/vscode-naide/node_modules/semver/functions/rsort.js +5 -0
  85. package/vscode-naide/node_modules/semver/functions/satisfies.js +12 -0
  86. package/vscode-naide/node_modules/semver/functions/sort.js +5 -0
  87. package/vscode-naide/node_modules/semver/functions/truncate.js +48 -0
  88. package/vscode-naide/node_modules/semver/functions/valid.js +8 -0
  89. package/vscode-naide/node_modules/semver/index.js +93 -0
  90. package/vscode-naide/node_modules/semver/internal/constants.js +37 -0
  91. package/vscode-naide/node_modules/semver/internal/debug.js +11 -0
  92. package/vscode-naide/node_modules/semver/internal/identifiers.js +29 -0
  93. package/vscode-naide/node_modules/semver/internal/lrucache.js +42 -0
  94. package/vscode-naide/node_modules/semver/internal/parse-options.js +17 -0
  95. package/vscode-naide/node_modules/semver/internal/re.js +223 -0
  96. package/vscode-naide/node_modules/semver/package.json +78 -0
  97. package/vscode-naide/node_modules/semver/preload.js +4 -0
  98. package/vscode-naide/node_modules/semver/range.bnf +17 -0
  99. package/vscode-naide/node_modules/semver/ranges/gtr.js +6 -0
  100. package/vscode-naide/node_modules/semver/ranges/intersects.js +9 -0
  101. package/vscode-naide/node_modules/semver/ranges/ltr.js +6 -0
  102. package/vscode-naide/node_modules/semver/ranges/max-satisfying.js +27 -0
  103. package/vscode-naide/node_modules/semver/ranges/min-satisfying.js +26 -0
  104. package/vscode-naide/node_modules/semver/ranges/min-version.js +63 -0
  105. package/vscode-naide/node_modules/semver/ranges/outside.js +82 -0
  106. package/vscode-naide/node_modules/semver/ranges/simplify.js +49 -0
  107. package/vscode-naide/node_modules/semver/ranges/subset.js +249 -0
  108. package/vscode-naide/node_modules/semver/ranges/to-comparators.js +10 -0
  109. package/vscode-naide/node_modules/semver/ranges/valid.js +13 -0
  110. package/vscode-naide/node_modules/vscode-jsonrpc/License.txt +11 -0
  111. package/vscode-naide/node_modules/vscode-jsonrpc/README.md +69 -0
  112. package/vscode-naide/node_modules/vscode-jsonrpc/browser.d.ts +6 -0
  113. package/vscode-naide/node_modules/vscode-jsonrpc/browser.js +7 -0
  114. package/vscode-naide/node_modules/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  115. package/vscode-naide/node_modules/vscode-jsonrpc/lib/browser/main.js +76 -0
  116. package/vscode-naide/node_modules/vscode-jsonrpc/lib/browser/ril.d.ts +12 -0
  117. package/vscode-naide/node_modules/vscode-jsonrpc/lib/browser/ril.js +156 -0
  118. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  119. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/api.js +81 -0
  120. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  121. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/cancellation.js +96 -0
  122. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/connection.d.ts +358 -0
  123. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/connection.js +1212 -0
  124. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  125. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/disposable.js +16 -0
  126. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  127. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/encoding.js +70 -0
  128. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  129. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/events.js +128 -0
  130. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  131. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/is.js +35 -0
  132. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/linkedMap.d.ts +53 -0
  133. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/linkedMap.js +398 -0
  134. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  135. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js +152 -0
  136. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  137. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageReader.js +197 -0
  138. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  139. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messageWriter.js +115 -0
  140. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  141. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/messages.js +306 -0
  142. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  143. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/ral.js +23 -0
  144. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  145. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/semaphore.js +68 -0
  146. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  147. package/vscode-naide/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +76 -0
  148. package/vscode-naide/node_modules/vscode-jsonrpc/lib/node/main.d.ts +63 -0
  149. package/vscode-naide/node_modules/vscode-jsonrpc/lib/node/main.js +257 -0
  150. package/vscode-naide/node_modules/vscode-jsonrpc/lib/node/ril.d.ts +13 -0
  151. package/vscode-naide/node_modules/vscode-jsonrpc/lib/node/ril.js +161 -0
  152. package/vscode-naide/node_modules/vscode-jsonrpc/node.cmd +5 -0
  153. package/vscode-naide/node_modules/vscode-jsonrpc/node.d.ts +6 -0
  154. package/vscode-naide/node_modules/vscode-jsonrpc/node.js +7 -0
  155. package/vscode-naide/node_modules/vscode-jsonrpc/package.json +45 -0
  156. package/vscode-naide/node_modules/vscode-jsonrpc/thirdpartynotices.txt +16 -0
  157. package/vscode-naide/node_modules/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  158. package/vscode-naide/node_modules/vscode-languageclient/License.txt +11 -0
  159. package/vscode-naide/node_modules/vscode-languageclient/README.md +17 -0
  160. package/vscode-naide/node_modules/vscode-languageclient/browser.d.ts +6 -0
  161. package/vscode-naide/node_modules/vscode-languageclient/browser.js +7 -0
  162. package/vscode-naide/node_modules/vscode-languageclient/lib/browser/main.d.ts +8 -0
  163. package/vscode-naide/node_modules/vscode-languageclient/lib/browser/main.js +37 -0
  164. package/vscode-naide/node_modules/vscode-languageclient/lib/common/api.d.ts +36 -0
  165. package/vscode-naide/node_modules/vscode-languageclient/lib/common/api.js +27 -0
  166. package/vscode-naide/node_modules/vscode-languageclient/lib/common/callHierarchy.d.ts +37 -0
  167. package/vscode-naide/node_modules/vscode-languageclient/lib/common/callHierarchy.js +97 -0
  168. package/vscode-naide/node_modules/vscode-languageclient/lib/common/client.d.ts +476 -0
  169. package/vscode-naide/node_modules/vscode-languageclient/lib/common/client.js +1600 -0
  170. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeAction.d.ts +19 -0
  171. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeAction.js +99 -0
  172. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeConverter.d.ts +78 -0
  173. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeConverter.js +876 -0
  174. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeLens.d.ts +23 -0
  175. package/vscode-naide/node_modules/vscode-languageclient/lib/common/codeLens.js +78 -0
  176. package/vscode-naide/node_modules/vscode-languageclient/lib/common/colorProvider.d.ts +25 -0
  177. package/vscode-naide/node_modules/vscode-languageclient/lib/common/colorProvider.js +74 -0
  178. package/vscode-naide/node_modules/vscode-languageclient/lib/common/completion.d.ts +20 -0
  179. package/vscode-naide/node_modules/vscode-languageclient/lib/common/completion.js +126 -0
  180. package/vscode-naide/node_modules/vscode-languageclient/lib/common/configuration.d.ts +69 -0
  181. package/vscode-naide/node_modules/vscode-languageclient/lib/common/configuration.js +209 -0
  182. package/vscode-naide/node_modules/vscode-languageclient/lib/common/declaration.d.ts +16 -0
  183. package/vscode-naide/node_modules/vscode-languageclient/lib/common/declaration.js +54 -0
  184. package/vscode-naide/node_modules/vscode-languageclient/lib/common/definition.d.ts +16 -0
  185. package/vscode-naide/node_modules/vscode-languageclient/lib/common/definition.js +55 -0
  186. package/vscode-naide/node_modules/vscode-languageclient/lib/common/diagnostic.d.ts +122 -0
  187. package/vscode-naide/node_modules/vscode-languageclient/lib/common/diagnostic.js +814 -0
  188. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentHighlight.d.ts +15 -0
  189. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentHighlight.js +50 -0
  190. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentLink.d.ts +19 -0
  191. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentLink.js +71 -0
  192. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentSymbol.d.ts +17 -0
  193. package/vscode-naide/node_modules/vscode-languageclient/lib/common/documentSymbol.js +104 -0
  194. package/vscode-naide/node_modules/vscode-languageclient/lib/common/executeCommand.d.ts +21 -0
  195. package/vscode-naide/node_modules/vscode-languageclient/lib/common/executeCommand.js +72 -0
  196. package/vscode-naide/node_modules/vscode-languageclient/lib/common/features.d.ts +418 -0
  197. package/vscode-naide/node_modules/vscode-languageclient/lib/common/features.js +291 -0
  198. package/vscode-naide/node_modules/vscode-languageclient/lib/common/fileOperations.d.ts +116 -0
  199. package/vscode-naide/node_modules/vscode-languageclient/lib/common/fileOperations.js +333 -0
  200. package/vscode-naide/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.d.ts +18 -0
  201. package/vscode-naide/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.js +95 -0
  202. package/vscode-naide/node_modules/vscode-languageclient/lib/common/foldingRange.d.ts +19 -0
  203. package/vscode-naide/node_modules/vscode-languageclient/lib/common/foldingRange.js +65 -0
  204. package/vscode-naide/node_modules/vscode-languageclient/lib/common/formatting.d.ts +39 -0
  205. package/vscode-naide/node_modules/vscode-languageclient/lib/common/formatting.js +182 -0
  206. package/vscode-naide/node_modules/vscode-languageclient/lib/common/hover.d.ts +16 -0
  207. package/vscode-naide/node_modules/vscode-languageclient/lib/common/hover.js +58 -0
  208. package/vscode-naide/node_modules/vscode-languageclient/lib/common/implementation.d.ts +16 -0
  209. package/vscode-naide/node_modules/vscode-languageclient/lib/common/implementation.js +54 -0
  210. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlayHint.d.ts +20 -0
  211. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlayHint.js +92 -0
  212. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlineCompletion.d.ts +18 -0
  213. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlineCompletion.js +54 -0
  214. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlineValue.d.ts +18 -0
  215. package/vscode-naide/node_modules/vscode-languageclient/lib/common/inlineValue.js +65 -0
  216. package/vscode-naide/node_modules/vscode-languageclient/lib/common/linkedEditingRange.d.ts +21 -0
  217. package/vscode-naide/node_modules/vscode-languageclient/lib/common/linkedEditingRange.js +53 -0
  218. package/vscode-naide/node_modules/vscode-languageclient/lib/common/notebook.d.ts +96 -0
  219. package/vscode-naide/node_modules/vscode-languageclient/lib/common/notebook.js +851 -0
  220. package/vscode-naide/node_modules/vscode-languageclient/lib/common/progress.d.ts +11 -0
  221. package/vscode-naide/node_modules/vscode-languageclient/lib/common/progress.js +44 -0
  222. package/vscode-naide/node_modules/vscode-languageclient/lib/common/progressPart.d.ts +24 -0
  223. package/vscode-naide/node_modules/vscode-languageclient/lib/common/progressPart.js +96 -0
  224. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.d.ts +6 -0
  225. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.js +16 -0
  226. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCodeAction.d.ts +6 -0
  227. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCodeAction.js +14 -0
  228. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCodeLens.d.ts +5 -0
  229. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCodeLens.js +13 -0
  230. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.d.ts +11 -0
  231. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.js +13 -0
  232. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolConverter.d.ts +167 -0
  233. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolConverter.js +1134 -0
  234. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.d.ts +18 -0
  235. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.js +25 -0
  236. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.d.ts +5 -0
  237. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.js +13 -0
  238. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolInlayHint.d.ts +5 -0
  239. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolInlayHint.js +13 -0
  240. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.d.ts +6 -0
  241. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.js +16 -0
  242. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.d.ts +7 -0
  243. package/vscode-naide/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.js +18 -0
  244. package/vscode-naide/node_modules/vscode-languageclient/lib/common/reference.d.ts +20 -0
  245. package/vscode-naide/node_modules/vscode-languageclient/lib/common/reference.js +53 -0
  246. package/vscode-naide/node_modules/vscode-languageclient/lib/common/rename.d.ts +27 -0
  247. package/vscode-naide/node_modules/vscode-languageclient/lib/common/rename.js +113 -0
  248. package/vscode-naide/node_modules/vscode-languageclient/lib/common/selectionRange.d.ts +16 -0
  249. package/vscode-naide/node_modules/vscode-languageclient/lib/common/selectionRange.js +57 -0
  250. package/vscode-naide/node_modules/vscode-languageclient/lib/common/semanticTokens.d.ts +33 -0
  251. package/vscode-naide/node_modules/vscode-languageclient/lib/common/semanticTokens.js +179 -0
  252. package/vscode-naide/node_modules/vscode-languageclient/lib/common/signatureHelp.d.ts +16 -0
  253. package/vscode-naide/node_modules/vscode-languageclient/lib/common/signatureHelp.js +71 -0
  254. package/vscode-naide/node_modules/vscode-languageclient/lib/common/textSynchronization.d.ts +101 -0
  255. package/vscode-naide/node_modules/vscode-languageclient/lib/common/textSynchronization.js +402 -0
  256. package/vscode-naide/node_modules/vscode-languageclient/lib/common/typeDefinition.d.ts +16 -0
  257. package/vscode-naide/node_modules/vscode-languageclient/lib/common/typeDefinition.js +55 -0
  258. package/vscode-naide/node_modules/vscode-languageclient/lib/common/typeHierarchy.d.ts +31 -0
  259. package/vscode-naide/node_modules/vscode-languageclient/lib/common/typeHierarchy.js +96 -0
  260. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/async.d.ts +41 -0
  261. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/async.js +276 -0
  262. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/is.d.ts +12 -0
  263. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/is.js +57 -0
  264. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/uuid.d.ts +22 -0
  265. package/vscode-naide/node_modules/vscode-languageclient/lib/common/utils/uuid.js +97 -0
  266. package/vscode-naide/node_modules/vscode-languageclient/lib/common/workspaceFolder.d.ts +30 -0
  267. package/vscode-naide/node_modules/vscode-languageclient/lib/common/workspaceFolder.js +148 -0
  268. package/vscode-naide/node_modules/vscode-languageclient/lib/common/workspaceSymbol.d.ts +19 -0
  269. package/vscode-naide/node_modules/vscode-languageclient/lib/common/workspaceSymbol.js +79 -0
  270. package/vscode-naide/node_modules/vscode-languageclient/lib/node/main.d.ts +100 -0
  271. package/vscode-naide/node_modules/vscode-languageclient/lib/node/main.js +570 -0
  272. package/vscode-naide/node_modules/vscode-languageclient/lib/node/processes.d.ts +6 -0
  273. package/vscode-naide/node_modules/vscode-languageclient/lib/node/processes.js +47 -0
  274. package/vscode-naide/node_modules/vscode-languageclient/lib/node/terminateProcess.sh +16 -0
  275. package/vscode-naide/node_modules/vscode-languageclient/node.cmd +5 -0
  276. package/vscode-naide/node_modules/vscode-languageclient/node.d.ts +6 -0
  277. package/vscode-naide/node_modules/vscode-languageclient/node.js +7 -0
  278. package/vscode-naide/node_modules/vscode-languageclient/package.json +50 -0
  279. package/vscode-naide/node_modules/vscode-languageserver-protocol/License.txt +11 -0
  280. package/vscode-naide/node_modules/vscode-languageserver-protocol/README.md +16 -0
  281. package/vscode-naide/node_modules/vscode-languageserver-protocol/browser.d.ts +6 -0
  282. package/vscode-naide/node_modules/vscode-languageserver-protocol/browser.js +7 -0
  283. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/browser/main.d.ts +4 -0
  284. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/browser/main.js +28 -0
  285. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/api.d.ts +58 -0
  286. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/api.js +77 -0
  287. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts +187 -0
  288. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/connection.js +15 -0
  289. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts +51 -0
  290. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/messages.js +44 -0
  291. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.d.ts +1 -0
  292. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.$.js +43 -0
  293. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts +86 -0
  294. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js +42 -0
  295. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts +66 -0
  296. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js +32 -0
  297. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts +35 -0
  298. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js +24 -0
  299. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts +3252 -0
  300. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts +37 -0
  301. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js +22 -0
  302. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts +341 -0
  303. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js +74 -0
  304. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts +306 -0
  305. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js +101 -0
  306. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts +109 -0
  307. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js +30 -0
  308. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts +38 -0
  309. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js +21 -0
  310. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts +110 -0
  311. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js +43 -0
  312. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts +57 -0
  313. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js +22 -0
  314. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts +86 -0
  315. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js +30 -0
  316. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.js +943 -0
  317. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts +52 -0
  318. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js +19 -0
  319. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts +106 -0
  320. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js +68 -0
  321. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts +400 -0
  322. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js +214 -0
  323. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts +107 -0
  324. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js +37 -0
  325. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts +41 -0
  326. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js +20 -0
  327. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts +223 -0
  328. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js +57 -0
  329. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts +72 -0
  330. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js +22 -0
  331. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts +38 -0
  332. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js +21 -0
  333. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts +83 -0
  334. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js +42 -0
  335. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts +74 -0
  336. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js +27 -0
  337. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/utils/is.d.ts +9 -0
  338. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js +46 -0
  339. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/node/main.d.ts +6 -0
  340. package/vscode-naide/node_modules/vscode-languageserver-protocol/lib/node/main.js +28 -0
  341. package/vscode-naide/node_modules/vscode-languageserver-protocol/metaModel.schema.json +783 -0
  342. package/vscode-naide/node_modules/vscode-languageserver-protocol/node.cmd +5 -0
  343. package/vscode-naide/node_modules/vscode-languageserver-protocol/node.d.ts +6 -0
  344. package/vscode-naide/node_modules/vscode-languageserver-protocol/node.js +7 -0
  345. package/vscode-naide/node_modules/vscode-languageserver-protocol/package.json +45 -0
  346. package/vscode-naide/node_modules/vscode-languageserver-protocol/thirdpartynotices.txt +31 -0
  347. package/vscode-naide/node_modules/vscode-languageserver-types/License.txt +11 -0
  348. package/vscode-naide/node_modules/vscode-languageserver-types/README.md +17 -0
  349. package/vscode-naide/node_modules/vscode-languageserver-types/lib/esm/main.d.ts +3139 -0
  350. package/vscode-naide/node_modules/vscode-languageserver-types/lib/esm/main.js +2222 -0
  351. package/vscode-naide/node_modules/vscode-languageserver-types/lib/esm/package.json +3 -0
  352. package/vscode-naide/node_modules/vscode-languageserver-types/lib/umd/main.d.ts +3139 -0
  353. package/vscode-naide/node_modules/vscode-languageserver-types/lib/umd/main.js +2272 -0
  354. package/vscode-naide/node_modules/vscode-languageserver-types/package.json +38 -0
  355. package/vscode-naide/node_modules/vscode-languageserver-types/thirdpartynotices.txt +16 -0
  356. package/vscode-naide/package-lock.json +96 -0
  357. package/vscode-naide/package.json +59 -0
  358. package/vscode-naide/syntaxes/naide.tmLanguage.json +194 -0
  359. package/vscode-naide/syntaxes/naidex.tmLanguage.json +287 -0
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DocumentOnTypeFormattingFeature = exports.DocumentRangeFormattingFeature = exports.DocumentFormattingFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const UUID = require("./utils/uuid");
11
+ const features_1 = require("./features");
12
+ var FileFormattingOptions;
13
+ (function (FileFormattingOptions) {
14
+ function fromConfiguration(document) {
15
+ const filesConfig = vscode_1.workspace.getConfiguration('files', document);
16
+ return {
17
+ trimTrailingWhitespace: filesConfig.get('trimTrailingWhitespace'),
18
+ trimFinalNewlines: filesConfig.get('trimFinalNewlines'),
19
+ insertFinalNewline: filesConfig.get('insertFinalNewline'),
20
+ };
21
+ }
22
+ FileFormattingOptions.fromConfiguration = fromConfiguration;
23
+ })(FileFormattingOptions || (FileFormattingOptions = {}));
24
+ class DocumentFormattingFeature extends features_1.TextDocumentLanguageFeature {
25
+ constructor(client) {
26
+ super(client, vscode_languageserver_protocol_1.DocumentFormattingRequest.type);
27
+ }
28
+ fillClientCapabilities(capabilities) {
29
+ (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'formatting').dynamicRegistration = true;
30
+ }
31
+ initialize(capabilities, documentSelector) {
32
+ const options = this.getRegistrationOptions(documentSelector, capabilities.documentFormattingProvider);
33
+ if (!options) {
34
+ return;
35
+ }
36
+ this.register({ id: UUID.generateUuid(), registerOptions: options });
37
+ }
38
+ registerLanguageProvider(options) {
39
+ const selector = options.documentSelector;
40
+ const provider = {
41
+ provideDocumentFormattingEdits: (document, options, token) => {
42
+ const client = this._client;
43
+ const provideDocumentFormattingEdits = (document, options, token) => {
44
+ const params = {
45
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
46
+ options: client.code2ProtocolConverter.asFormattingOptions(options, FileFormattingOptions.fromConfiguration(document))
47
+ };
48
+ return client.sendRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type, params, token).then((result) => {
49
+ if (token.isCancellationRequested) {
50
+ return null;
51
+ }
52
+ return client.protocol2CodeConverter.asTextEdits(result, token);
53
+ }, (error) => {
54
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type, token, error, null);
55
+ });
56
+ };
57
+ const middleware = client.middleware;
58
+ return middleware.provideDocumentFormattingEdits
59
+ ? middleware.provideDocumentFormattingEdits(document, options, token, provideDocumentFormattingEdits)
60
+ : provideDocumentFormattingEdits(document, options, token);
61
+ }
62
+ };
63
+ return [vscode_1.languages.registerDocumentFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider), provider];
64
+ }
65
+ }
66
+ exports.DocumentFormattingFeature = DocumentFormattingFeature;
67
+ class DocumentRangeFormattingFeature extends features_1.TextDocumentLanguageFeature {
68
+ constructor(client) {
69
+ super(client, vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type);
70
+ }
71
+ fillClientCapabilities(capabilities) {
72
+ const capability = (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'rangeFormatting');
73
+ capability.dynamicRegistration = true;
74
+ capability.rangesSupport = true;
75
+ }
76
+ initialize(capabilities, documentSelector) {
77
+ const options = this.getRegistrationOptions(documentSelector, capabilities.documentRangeFormattingProvider);
78
+ if (!options) {
79
+ return;
80
+ }
81
+ this.register({ id: UUID.generateUuid(), registerOptions: options });
82
+ }
83
+ registerLanguageProvider(options) {
84
+ const selector = options.documentSelector;
85
+ const provider = {
86
+ provideDocumentRangeFormattingEdits: (document, range, options, token) => {
87
+ const client = this._client;
88
+ const provideDocumentRangeFormattingEdits = (document, range, options, token) => {
89
+ const params = {
90
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
91
+ range: client.code2ProtocolConverter.asRange(range),
92
+ options: client.code2ProtocolConverter.asFormattingOptions(options, FileFormattingOptions.fromConfiguration(document))
93
+ };
94
+ return client.sendRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type, params, token).then((result) => {
95
+ if (token.isCancellationRequested) {
96
+ return null;
97
+ }
98
+ return client.protocol2CodeConverter.asTextEdits(result, token);
99
+ }, (error) => {
100
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type, token, error, null);
101
+ });
102
+ };
103
+ const middleware = client.middleware;
104
+ return middleware.provideDocumentRangeFormattingEdits
105
+ ? middleware.provideDocumentRangeFormattingEdits(document, range, options, token, provideDocumentRangeFormattingEdits)
106
+ : provideDocumentRangeFormattingEdits(document, range, options, token);
107
+ }
108
+ };
109
+ if (options.rangesSupport) {
110
+ provider.provideDocumentRangesFormattingEdits = (document, ranges, options, token) => {
111
+ const client = this._client;
112
+ const provideDocumentRangesFormattingEdits = (document, ranges, options, token) => {
113
+ const params = {
114
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
115
+ ranges: client.code2ProtocolConverter.asRanges(ranges),
116
+ options: client.code2ProtocolConverter.asFormattingOptions(options, FileFormattingOptions.fromConfiguration(document))
117
+ };
118
+ return client.sendRequest(vscode_languageserver_protocol_1.DocumentRangesFormattingRequest.type, params, token).then((result) => {
119
+ if (token.isCancellationRequested) {
120
+ return null;
121
+ }
122
+ return client.protocol2CodeConverter.asTextEdits(result, token);
123
+ }, (error) => {
124
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.DocumentRangesFormattingRequest.type, token, error, null);
125
+ });
126
+ };
127
+ const middleware = client.middleware;
128
+ return middleware.provideDocumentRangesFormattingEdits
129
+ ? middleware.provideDocumentRangesFormattingEdits(document, ranges, options, token, provideDocumentRangesFormattingEdits)
130
+ : provideDocumentRangesFormattingEdits(document, ranges, options, token);
131
+ };
132
+ }
133
+ return [vscode_1.languages.registerDocumentRangeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider), provider];
134
+ }
135
+ }
136
+ exports.DocumentRangeFormattingFeature = DocumentRangeFormattingFeature;
137
+ class DocumentOnTypeFormattingFeature extends features_1.TextDocumentLanguageFeature {
138
+ constructor(client) {
139
+ super(client, vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type);
140
+ }
141
+ fillClientCapabilities(capabilities) {
142
+ (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'onTypeFormatting').dynamicRegistration = true;
143
+ }
144
+ initialize(capabilities, documentSelector) {
145
+ const options = this.getRegistrationOptions(documentSelector, capabilities.documentOnTypeFormattingProvider);
146
+ if (!options) {
147
+ return;
148
+ }
149
+ this.register({ id: UUID.generateUuid(), registerOptions: options });
150
+ }
151
+ registerLanguageProvider(options) {
152
+ const selector = options.documentSelector;
153
+ const provider = {
154
+ provideOnTypeFormattingEdits: (document, position, ch, options, token) => {
155
+ const client = this._client;
156
+ const provideOnTypeFormattingEdits = (document, position, ch, options, token) => {
157
+ let params = {
158
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
159
+ position: client.code2ProtocolConverter.asPosition(position),
160
+ ch: ch,
161
+ options: client.code2ProtocolConverter.asFormattingOptions(options, FileFormattingOptions.fromConfiguration(document))
162
+ };
163
+ return client.sendRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type, params, token).then((result) => {
164
+ if (token.isCancellationRequested) {
165
+ return null;
166
+ }
167
+ return client.protocol2CodeConverter.asTextEdits(result, token);
168
+ }, (error) => {
169
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type, token, error, null);
170
+ });
171
+ };
172
+ const middleware = client.middleware;
173
+ return middleware.provideOnTypeFormattingEdits
174
+ ? middleware.provideOnTypeFormattingEdits(document, position, ch, options, token, provideOnTypeFormattingEdits)
175
+ : provideOnTypeFormattingEdits(document, position, ch, options, token);
176
+ }
177
+ };
178
+ const moreTriggerCharacter = options.moreTriggerCharacter || [];
179
+ return [vscode_1.languages.registerOnTypeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider, options.firstTriggerCharacter, ...moreTriggerCharacter), provider];
180
+ }
181
+ }
182
+ exports.DocumentOnTypeFormattingFeature = DocumentOnTypeFormattingFeature;
@@ -0,0 +1,16 @@
1
+ import { TextDocument, Disposable, Position as VPosition, CancellationToken, ProviderResult, HoverProvider, Hover as VHover } from 'vscode';
2
+ import { ClientCapabilities, DocumentSelector, HoverOptions, HoverRegistrationOptions, ServerCapabilities } from 'vscode-languageserver-protocol';
3
+ import { FeatureClient, TextDocumentLanguageFeature } from './features';
4
+ export interface ProvideHoverSignature {
5
+ (this: void, document: TextDocument, position: VPosition, token: CancellationToken): ProviderResult<VHover>;
6
+ }
7
+ export interface HoverMiddleware {
8
+ provideHover?: (this: void, document: TextDocument, position: VPosition, token: CancellationToken, next: ProvideHoverSignature) => ProviderResult<VHover>;
9
+ }
10
+ export declare class HoverFeature extends TextDocumentLanguageFeature<boolean | HoverOptions, HoverRegistrationOptions, HoverProvider, HoverMiddleware> {
11
+ constructor(client: FeatureClient<HoverMiddleware>);
12
+ fillClientCapabilities(capabilities: ClientCapabilities): void;
13
+ initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void;
14
+ protected registerLanguageProvider(options: HoverRegistrationOptions): [Disposable, HoverProvider];
15
+ private registerProvider;
16
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.HoverFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const features_1 = require("./features");
11
+ const UUID = require("./utils/uuid");
12
+ class HoverFeature extends features_1.TextDocumentLanguageFeature {
13
+ constructor(client) {
14
+ super(client, vscode_languageserver_protocol_1.HoverRequest.type);
15
+ }
16
+ fillClientCapabilities(capabilities) {
17
+ const hoverCapability = ((0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'hover'));
18
+ hoverCapability.dynamicRegistration = true;
19
+ hoverCapability.contentFormat = [vscode_languageserver_protocol_1.MarkupKind.Markdown, vscode_languageserver_protocol_1.MarkupKind.PlainText];
20
+ }
21
+ initialize(capabilities, documentSelector) {
22
+ const options = this.getRegistrationOptions(documentSelector, capabilities.hoverProvider);
23
+ if (!options) {
24
+ return;
25
+ }
26
+ this.register({
27
+ id: UUID.generateUuid(),
28
+ registerOptions: options
29
+ });
30
+ }
31
+ registerLanguageProvider(options) {
32
+ const selector = options.documentSelector;
33
+ const provider = {
34
+ provideHover: (document, position, token) => {
35
+ const client = this._client;
36
+ const provideHover = (document, position, token) => {
37
+ return client.sendRequest(vscode_languageserver_protocol_1.HoverRequest.type, client.code2ProtocolConverter.asTextDocumentPositionParams(document, position), token).then((result) => {
38
+ if (token.isCancellationRequested) {
39
+ return null;
40
+ }
41
+ return client.protocol2CodeConverter.asHover(result);
42
+ }, (error) => {
43
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.HoverRequest.type, token, error, null);
44
+ });
45
+ };
46
+ const middleware = client.middleware;
47
+ return middleware.provideHover
48
+ ? middleware.provideHover(document, position, token, provideHover)
49
+ : provideHover(document, position, token);
50
+ }
51
+ };
52
+ return [this.registerProvider(selector, provider), provider];
53
+ }
54
+ registerProvider(selector, provider) {
55
+ return vscode_1.languages.registerHoverProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider);
56
+ }
57
+ }
58
+ exports.HoverFeature = HoverFeature;
@@ -0,0 +1,16 @@
1
+ import { Disposable, TextDocument, ProviderResult, Position as VPosition, Definition as VDefinition, DefinitionLink as VDefinitionLink, ImplementationProvider } from 'vscode';
2
+ import { ClientCapabilities, CancellationToken, ServerCapabilities, DocumentSelector, ImplementationRegistrationOptions, ImplementationOptions } from 'vscode-languageserver-protocol';
3
+ import { TextDocumentLanguageFeature, FeatureClient } from './features';
4
+ export interface ProvideImplementationSignature {
5
+ (this: void, document: TextDocument, position: VPosition, token: CancellationToken): ProviderResult<VDefinition | VDefinitionLink[]>;
6
+ }
7
+ export interface ImplementationMiddleware {
8
+ provideImplementation?: (this: void, document: TextDocument, position: VPosition, token: CancellationToken, next: ProvideImplementationSignature) => ProviderResult<VDefinition | VDefinitionLink[]>;
9
+ }
10
+ export declare class ImplementationFeature extends TextDocumentLanguageFeature<boolean | ImplementationOptions, ImplementationRegistrationOptions, ImplementationProvider, ImplementationMiddleware> {
11
+ constructor(client: FeatureClient<ImplementationMiddleware>);
12
+ fillClientCapabilities(capabilities: ClientCapabilities): void;
13
+ initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void;
14
+ protected registerLanguageProvider(options: ImplementationRegistrationOptions): [Disposable, ImplementationProvider];
15
+ private registerProvider;
16
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ImplementationFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const features_1 = require("./features");
11
+ class ImplementationFeature extends features_1.TextDocumentLanguageFeature {
12
+ constructor(client) {
13
+ super(client, vscode_languageserver_protocol_1.ImplementationRequest.type);
14
+ }
15
+ fillClientCapabilities(capabilities) {
16
+ let implementationSupport = (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'implementation');
17
+ implementationSupport.dynamicRegistration = true;
18
+ implementationSupport.linkSupport = true;
19
+ }
20
+ initialize(capabilities, documentSelector) {
21
+ let [id, options] = this.getRegistration(documentSelector, capabilities.implementationProvider);
22
+ if (!id || !options) {
23
+ return;
24
+ }
25
+ this.register({ id: id, registerOptions: options });
26
+ }
27
+ registerLanguageProvider(options) {
28
+ const selector = options.documentSelector;
29
+ const provider = {
30
+ provideImplementation: (document, position, token) => {
31
+ const client = this._client;
32
+ const provideImplementation = (document, position, token) => {
33
+ return client.sendRequest(vscode_languageserver_protocol_1.ImplementationRequest.type, client.code2ProtocolConverter.asTextDocumentPositionParams(document, position), token).then((result) => {
34
+ if (token.isCancellationRequested) {
35
+ return null;
36
+ }
37
+ return client.protocol2CodeConverter.asDefinitionResult(result, token);
38
+ }, (error) => {
39
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.ImplementationRequest.type, token, error, null);
40
+ });
41
+ };
42
+ const middleware = client.middleware;
43
+ return middleware.provideImplementation
44
+ ? middleware.provideImplementation(document, position, token, provideImplementation)
45
+ : provideImplementation(document, position, token);
46
+ }
47
+ };
48
+ return [this.registerProvider(selector, provider), provider];
49
+ }
50
+ registerProvider(selector, provider) {
51
+ return vscode_1.languages.registerImplementationProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider);
52
+ }
53
+ }
54
+ exports.ImplementationFeature = ImplementationFeature;
@@ -0,0 +1,20 @@
1
+ import { Disposable, TextDocument, ProviderResult, Range as VRange, InlayHint as VInlayHint, InlayHintsProvider, EventEmitter } from 'vscode';
2
+ import { ClientCapabilities, CancellationToken, ServerCapabilities, DocumentSelector, InlayHintOptions, InlayHintRegistrationOptions } from 'vscode-languageserver-protocol';
3
+ import { TextDocumentLanguageFeature, FeatureClient } from './features';
4
+ export type ProvideInlayHintsSignature = (this: void, document: TextDocument, viewPort: VRange, token: CancellationToken) => ProviderResult<VInlayHint[]>;
5
+ export type ResolveInlayHintSignature = (this: void, item: VInlayHint, token: CancellationToken) => ProviderResult<VInlayHint>;
6
+ export type InlayHintsMiddleware = {
7
+ provideInlayHints?: (this: void, document: TextDocument, viewPort: VRange, token: CancellationToken, next: ProvideInlayHintsSignature) => ProviderResult<VInlayHint[]>;
8
+ resolveInlayHint?: (this: void, item: VInlayHint, token: CancellationToken, next: ResolveInlayHintSignature) => ProviderResult<VInlayHint>;
9
+ };
10
+ export type InlayHintsProviderShape = {
11
+ provider: InlayHintsProvider;
12
+ onDidChangeInlayHints: EventEmitter<void>;
13
+ };
14
+ export declare class InlayHintsFeature extends TextDocumentLanguageFeature<boolean | InlayHintOptions, InlayHintRegistrationOptions, InlayHintsProviderShape, InlayHintsMiddleware> {
15
+ constructor(client: FeatureClient<InlayHintsMiddleware>);
16
+ fillClientCapabilities(capabilities: ClientCapabilities): void;
17
+ initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void;
18
+ protected registerLanguageProvider(options: InlayHintRegistrationOptions): [Disposable, InlayHintsProviderShape];
19
+ private registerProvider;
20
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.InlayHintsFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const features_1 = require("./features");
11
+ class InlayHintsFeature extends features_1.TextDocumentLanguageFeature {
12
+ constructor(client) {
13
+ super(client, vscode_languageserver_protocol_1.InlayHintRequest.type);
14
+ }
15
+ fillClientCapabilities(capabilities) {
16
+ const inlayHint = (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'inlayHint');
17
+ inlayHint.dynamicRegistration = true;
18
+ inlayHint.resolveSupport = {
19
+ properties: ['tooltip', 'textEdits', 'label.tooltip', 'label.location', 'label.command']
20
+ };
21
+ (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'workspace'), 'inlayHint').refreshSupport = true;
22
+ }
23
+ initialize(capabilities, documentSelector) {
24
+ this._client.onRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type, async () => {
25
+ for (const provider of this.getAllProviders()) {
26
+ provider.onDidChangeInlayHints.fire();
27
+ }
28
+ });
29
+ const [id, options] = this.getRegistration(documentSelector, capabilities.inlayHintProvider);
30
+ if (!id || !options) {
31
+ return;
32
+ }
33
+ this.register({ id: id, registerOptions: options });
34
+ }
35
+ registerLanguageProvider(options) {
36
+ const selector = options.documentSelector;
37
+ const eventEmitter = new vscode_1.EventEmitter();
38
+ const provider = {
39
+ onDidChangeInlayHints: eventEmitter.event,
40
+ provideInlayHints: (document, viewPort, token) => {
41
+ const client = this._client;
42
+ const provideInlayHints = async (document, viewPort, token) => {
43
+ const requestParams = {
44
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
45
+ range: client.code2ProtocolConverter.asRange(viewPort)
46
+ };
47
+ try {
48
+ const values = await client.sendRequest(vscode_languageserver_protocol_1.InlayHintRequest.type, requestParams, token);
49
+ if (token.isCancellationRequested) {
50
+ return null;
51
+ }
52
+ return client.protocol2CodeConverter.asInlayHints(values, token);
53
+ }
54
+ catch (error) {
55
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.InlayHintRequest.type, token, error, null);
56
+ }
57
+ };
58
+ const middleware = client.middleware;
59
+ return middleware.provideInlayHints
60
+ ? middleware.provideInlayHints(document, viewPort, token, provideInlayHints)
61
+ : provideInlayHints(document, viewPort, token);
62
+ }
63
+ };
64
+ provider.resolveInlayHint = options.resolveProvider === true
65
+ ? (hint, token) => {
66
+ const client = this._client;
67
+ const resolveInlayHint = async (item, token) => {
68
+ try {
69
+ const value = await client.sendRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type, client.code2ProtocolConverter.asInlayHint(item), token);
70
+ if (token.isCancellationRequested) {
71
+ return null;
72
+ }
73
+ const result = client.protocol2CodeConverter.asInlayHint(value, token);
74
+ return token.isCancellationRequested ? null : result;
75
+ }
76
+ catch (error) {
77
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type, token, error, null);
78
+ }
79
+ };
80
+ const middleware = client.middleware;
81
+ return middleware.resolveInlayHint
82
+ ? middleware.resolveInlayHint(hint, token, resolveInlayHint)
83
+ : resolveInlayHint(hint, token);
84
+ }
85
+ : undefined;
86
+ return [this.registerProvider(selector, provider), { provider: provider, onDidChangeInlayHints: eventEmitter }];
87
+ }
88
+ registerProvider(selector, provider) {
89
+ return vscode_1.languages.registerInlayHintsProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider);
90
+ }
91
+ }
92
+ exports.InlayHintsFeature = InlayHintsFeature;
@@ -0,0 +1,18 @@
1
+ import { TextDocument, Disposable, Position as VPosition, InlineCompletionContext as VInlineCompletionContext, CancellationToken, ProviderResult, InlineCompletionItem as VInlineCompletionItem, InlineCompletionList as VInlineCompletionList, InlineCompletionItemProvider } from 'vscode';
2
+ import { ClientCapabilities, InlineCompletionOptions, InlineCompletionRegistrationOptions, DocumentSelector, ServerCapabilities } from 'vscode-languageserver-protocol';
3
+ import { FeatureClient, TextDocumentLanguageFeature } from './features';
4
+ export interface ProvideInlineCompletionItemsSignature {
5
+ (this: void, document: TextDocument, position: VPosition, context: VInlineCompletionContext, token: CancellationToken): ProviderResult<VInlineCompletionItem[] | VInlineCompletionList>;
6
+ }
7
+ export interface InlineCompletionMiddleware {
8
+ provideInlineCompletionItems?: (this: void, document: TextDocument, position: VPosition, context: VInlineCompletionContext, token: CancellationToken, next: ProvideInlineCompletionItemsSignature) => ProviderResult<VInlineCompletionItem[] | VInlineCompletionList>;
9
+ }
10
+ export type InlineCompletionProviderShape = {
11
+ provider: InlineCompletionItemProvider;
12
+ };
13
+ export declare class InlineCompletionItemFeature extends TextDocumentLanguageFeature<boolean | InlineCompletionOptions, InlineCompletionRegistrationOptions, InlineCompletionItemProvider, InlineCompletionMiddleware> {
14
+ constructor(client: FeatureClient<InlineCompletionMiddleware>);
15
+ fillClientCapabilities(capabilities: ClientCapabilities): void;
16
+ initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void;
17
+ protected registerLanguageProvider(options: InlineCompletionRegistrationOptions): [Disposable, InlineCompletionItemProvider];
18
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.InlineCompletionItemFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const features_1 = require("./features");
11
+ const UUID = require("./utils/uuid");
12
+ class InlineCompletionItemFeature extends features_1.TextDocumentLanguageFeature {
13
+ constructor(client) {
14
+ super(client, vscode_languageserver_protocol_1.InlineCompletionRequest.type);
15
+ }
16
+ fillClientCapabilities(capabilities) {
17
+ let inlineCompletion = (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'inlineCompletion');
18
+ inlineCompletion.dynamicRegistration = true;
19
+ }
20
+ initialize(capabilities, documentSelector) {
21
+ const options = this.getRegistrationOptions(documentSelector, capabilities.inlineCompletionProvider);
22
+ if (!options) {
23
+ return;
24
+ }
25
+ this.register({
26
+ id: UUID.generateUuid(),
27
+ registerOptions: options
28
+ });
29
+ }
30
+ registerLanguageProvider(options) {
31
+ const selector = options.documentSelector;
32
+ const provider = {
33
+ provideInlineCompletionItems: (document, position, context, token) => {
34
+ const client = this._client;
35
+ const middleware = this._client.middleware;
36
+ const provideInlineCompletionItems = (document, position, context, token) => {
37
+ return client.sendRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type, client.code2ProtocolConverter.asInlineCompletionParams(document, position, context), token).then((result) => {
38
+ if (token.isCancellationRequested) {
39
+ return null;
40
+ }
41
+ return client.protocol2CodeConverter.asInlineCompletionResult(result, token);
42
+ }, (error) => {
43
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type, token, error, null);
44
+ });
45
+ };
46
+ return middleware.provideInlineCompletionItems
47
+ ? middleware.provideInlineCompletionItems(document, position, context, token, provideInlineCompletionItems)
48
+ : provideInlineCompletionItems(document, position, context, token);
49
+ }
50
+ };
51
+ return [vscode_1.languages.registerInlineCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider), provider];
52
+ }
53
+ }
54
+ exports.InlineCompletionItemFeature = InlineCompletionItemFeature;
@@ -0,0 +1,18 @@
1
+ import { Disposable, TextDocument, ProviderResult, Range as VRange, InlineValueContext as VInlineValueContext, InlineValue as VInlineValue, InlineValuesProvider, EventEmitter } from 'vscode';
2
+ import { ClientCapabilities, CancellationToken, ServerCapabilities, DocumentSelector, InlineValueOptions, InlineValueRegistrationOptions } from 'vscode-languageserver-protocol';
3
+ import { TextDocumentLanguageFeature, FeatureClient } from './features';
4
+ export type ProvideInlineValuesSignature = (this: void, document: TextDocument, viewPort: VRange, context: VInlineValueContext, token: CancellationToken) => ProviderResult<VInlineValue[]>;
5
+ export type InlineValueMiddleware = {
6
+ provideInlineValues?: (this: void, document: TextDocument, viewPort: VRange, context: VInlineValueContext, token: CancellationToken, next: ProvideInlineValuesSignature) => ProviderResult<VInlineValue[]>;
7
+ };
8
+ export type InlineValueProviderShape = {
9
+ provider: InlineValuesProvider;
10
+ onDidChangeInlineValues: EventEmitter<void>;
11
+ };
12
+ export declare class InlineValueFeature extends TextDocumentLanguageFeature<boolean | InlineValueOptions, InlineValueRegistrationOptions, InlineValueProviderShape, InlineValueMiddleware> {
13
+ constructor(client: FeatureClient<InlineValueMiddleware>);
14
+ fillClientCapabilities(capabilities: ClientCapabilities): void;
15
+ initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void;
16
+ protected registerLanguageProvider(options: InlineValueRegistrationOptions): [Disposable, InlineValueProviderShape];
17
+ private registerProvider;
18
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /* --------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ * ------------------------------------------------------------------------------------------ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.InlineValueFeature = void 0;
8
+ const vscode_1 = require("vscode");
9
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
10
+ const features_1 = require("./features");
11
+ class InlineValueFeature extends features_1.TextDocumentLanguageFeature {
12
+ constructor(client) {
13
+ super(client, vscode_languageserver_protocol_1.InlineValueRequest.type);
14
+ }
15
+ fillClientCapabilities(capabilities) {
16
+ (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'textDocument'), 'inlineValue').dynamicRegistration = true;
17
+ (0, features_1.ensure)((0, features_1.ensure)(capabilities, 'workspace'), 'inlineValue').refreshSupport = true;
18
+ }
19
+ initialize(capabilities, documentSelector) {
20
+ this._client.onRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type, async () => {
21
+ for (const provider of this.getAllProviders()) {
22
+ provider.onDidChangeInlineValues.fire();
23
+ }
24
+ });
25
+ const [id, options] = this.getRegistration(documentSelector, capabilities.inlineValueProvider);
26
+ if (!id || !options) {
27
+ return;
28
+ }
29
+ this.register({ id: id, registerOptions: options });
30
+ }
31
+ registerLanguageProvider(options) {
32
+ const selector = options.documentSelector;
33
+ const eventEmitter = new vscode_1.EventEmitter();
34
+ const provider = {
35
+ onDidChangeInlineValues: eventEmitter.event,
36
+ provideInlineValues: (document, viewPort, context, token) => {
37
+ const client = this._client;
38
+ const provideInlineValues = (document, viewPort, context, token) => {
39
+ const requestParams = {
40
+ textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
41
+ range: client.code2ProtocolConverter.asRange(viewPort),
42
+ context: client.code2ProtocolConverter.asInlineValueContext(context)
43
+ };
44
+ return client.sendRequest(vscode_languageserver_protocol_1.InlineValueRequest.type, requestParams, token).then((values) => {
45
+ if (token.isCancellationRequested) {
46
+ return null;
47
+ }
48
+ return client.protocol2CodeConverter.asInlineValues(values, token);
49
+ }, (error) => {
50
+ return client.handleFailedRequest(vscode_languageserver_protocol_1.InlineValueRequest.type, token, error, null);
51
+ });
52
+ };
53
+ const middleware = client.middleware;
54
+ return middleware.provideInlineValues
55
+ ? middleware.provideInlineValues(document, viewPort, context, token, provideInlineValues)
56
+ : provideInlineValues(document, viewPort, context, token);
57
+ }
58
+ };
59
+ return [this.registerProvider(selector, provider), { provider: provider, onDidChangeInlineValues: eventEmitter }];
60
+ }
61
+ registerProvider(selector, provider) {
62
+ return vscode_1.languages.registerInlineValuesProvider(this._client.protocol2CodeConverter.asDocumentSelector(selector), provider);
63
+ }
64
+ }
65
+ exports.InlineValueFeature = InlineValueFeature;
@@ -0,0 +1,21 @@
1
+ import * as code from 'vscode';
2
+ import * as proto from 'vscode-languageserver-protocol';
3
+ import { TextDocumentLanguageFeature, FeatureClient } from './features';
4
+ export interface ProvideLinkedEditingRangeSignature {
5
+ (this: void, document: code.TextDocument, position: code.Position, token: code.CancellationToken): code.ProviderResult<code.LinkedEditingRanges>;
6
+ }
7
+ /**
8
+ * Linked editing middleware
9
+ *
10
+ * @since 3.16.0
11
+ */
12
+ export interface LinkedEditingRangeMiddleware {
13
+ provideLinkedEditingRange?: (this: void, document: code.TextDocument, position: code.Position, token: code.CancellationToken, next: ProvideLinkedEditingRangeSignature) => code.ProviderResult<code.LinkedEditingRanges>;
14
+ }
15
+ export declare class LinkedEditingFeature extends TextDocumentLanguageFeature<boolean | proto.LinkedEditingRangeOptions, proto.LinkedEditingRangeRegistrationOptions, code.LinkedEditingRangeProvider, LinkedEditingRangeMiddleware> {
16
+ constructor(client: FeatureClient<LinkedEditingRangeMiddleware>);
17
+ fillClientCapabilities(capabilities: proto.ClientCapabilities): void;
18
+ initialize(capabilities: proto.ServerCapabilities, documentSelector: proto.DocumentSelector): void;
19
+ protected registerLanguageProvider(options: proto.LinkedEditingRangeRegistrationOptions): [code.Disposable, code.LinkedEditingRangeProvider];
20
+ private registerProvider;
21
+ }