spark-sql-language-server 0.0.1-beta.6 → 0.2.0-beta.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 (740) hide show
  1. package/out/sparksql-server-worker.js +1 -1
  2. package/out/sparksql-server-worker.js.map +1 -1
  3. package/out-tsc/assets/built-in-functions.d.ts +2 -0
  4. package/out-tsc/assets/built-in-functions.d.ts.map +1 -0
  5. package/out-tsc/assets/built-in-functions.js +4 -2
  6. package/out-tsc/assets/built-in-functions.js.map +1 -1
  7. package/out-tsc/completion-parser.d.ts +11 -0
  8. package/out-tsc/completion-parser.d.ts.map +1 -0
  9. package/out-tsc/completion-parser.js +148 -0
  10. package/out-tsc/completion-parser.js.map +1 -0
  11. package/out-tsc/constants.d.ts +9 -0
  12. package/out-tsc/constants.d.ts.map +1 -0
  13. package/out-tsc/constants.js +12 -0
  14. package/out-tsc/constants.js.map +1 -0
  15. package/out-tsc/cursor.d.ts +10 -0
  16. package/out-tsc/cursor.d.ts.map +1 -0
  17. package/out-tsc/cursor.js +3 -0
  18. package/out-tsc/cursor.js.map +1 -1
  19. package/out-tsc/execute-command.d.ts +7 -0
  20. package/out-tsc/execute-command.d.ts.map +1 -0
  21. package/out-tsc/execute-command.js +78 -0
  22. package/out-tsc/execute-command.js.map +1 -0
  23. package/out-tsc/execute-commands.d.ts +1 -0
  24. package/out-tsc/execute-commands.d.ts.map +1 -0
  25. package/out-tsc/execute-commands.js +3 -4
  26. package/out-tsc/execute-commands.js.map +1 -1
  27. package/out-tsc/formatter/boundary-writer.d.ts +30 -0
  28. package/out-tsc/formatter/boundary-writer.d.ts.map +1 -0
  29. package/out-tsc/formatter/boundary-writer.js +47 -0
  30. package/out-tsc/formatter/boundary-writer.js.map +1 -0
  31. package/out-tsc/formatter/core/comment-helper.d.ts +11 -0
  32. package/out-tsc/formatter/core/comment-helper.d.ts.map +1 -0
  33. package/out-tsc/formatter/core/comment-helper.js +139 -0
  34. package/out-tsc/formatter/core/comment-helper.js.map +1 -0
  35. package/out-tsc/formatter/core/edit-collector.d.ts +110 -0
  36. package/out-tsc/formatter/core/edit-collector.d.ts.map +1 -0
  37. package/out-tsc/formatter/core/edit-collector.js +159 -0
  38. package/out-tsc/formatter/core/edit-collector.js.map +1 -0
  39. package/out-tsc/formatter/core/formatting-context.d.ts +183 -0
  40. package/out-tsc/formatter/core/formatting-context.d.ts.map +1 -0
  41. package/out-tsc/formatter/core/formatting-context.js +294 -0
  42. package/out-tsc/formatter/core/formatting-context.js.map +1 -0
  43. package/out-tsc/formatter/core/index.d.ts +25 -0
  44. package/out-tsc/formatter/core/index.d.ts.map +1 -0
  45. package/out-tsc/formatter/core/index.js +57 -0
  46. package/out-tsc/formatter/core/index.js.map +1 -0
  47. package/out-tsc/formatter/core/pipeline/formatting-pipeline.d.ts +116 -0
  48. package/out-tsc/formatter/core/pipeline/formatting-pipeline.d.ts.map +1 -0
  49. package/out-tsc/formatter/core/pipeline/formatting-pipeline.js +237 -0
  50. package/out-tsc/formatter/core/pipeline/formatting-pipeline.js.map +1 -0
  51. package/out-tsc/formatter/core/pipeline/index.d.ts +12 -0
  52. package/out-tsc/formatter/core/pipeline/index.d.ts.map +1 -0
  53. package/out-tsc/formatter/core/pipeline/index.js +19 -0
  54. package/out-tsc/formatter/core/pipeline/index.js.map +1 -0
  55. package/out-tsc/formatter/core/pipeline/statement-separation.d.ts +5 -0
  56. package/out-tsc/formatter/core/pipeline/statement-separation.d.ts.map +1 -0
  57. package/out-tsc/formatter/core/pipeline/statement-separation.js +149 -0
  58. package/out-tsc/formatter/core/pipeline/statement-separation.js.map +1 -0
  59. package/out-tsc/formatter/core/rules/index.d.ts +11 -0
  60. package/out-tsc/formatter/core/rules/index.d.ts.map +1 -0
  61. package/out-tsc/formatter/core/rules/index.js +29 -0
  62. package/out-tsc/formatter/core/rules/index.js.map +1 -0
  63. package/out-tsc/formatter/core/rules/newline-rules.d.ts +169 -0
  64. package/out-tsc/formatter/core/rules/newline-rules.d.ts.map +1 -0
  65. package/out-tsc/formatter/core/rules/newline-rules.js +246 -0
  66. package/out-tsc/formatter/core/rules/newline-rules.js.map +1 -0
  67. package/out-tsc/formatter/core/rules/spacing-rules.d.ts +150 -0
  68. package/out-tsc/formatter/core/rules/spacing-rules.d.ts.map +1 -0
  69. package/out-tsc/formatter/core/rules/spacing-rules.js +219 -0
  70. package/out-tsc/formatter/core/rules/spacing-rules.js.map +1 -0
  71. package/out-tsc/formatter/core/strategy-bridge.d.ts +56 -0
  72. package/out-tsc/formatter/core/strategy-bridge.d.ts.map +1 -0
  73. package/out-tsc/formatter/core/strategy-bridge.js +159 -0
  74. package/out-tsc/formatter/core/strategy-bridge.js.map +1 -0
  75. package/out-tsc/formatter/core/strategy-interface.d.ts +123 -0
  76. package/out-tsc/formatter/core/strategy-interface.d.ts.map +1 -0
  77. package/out-tsc/formatter/core/strategy-interface.js +83 -0
  78. package/out-tsc/formatter/core/strategy-interface.js.map +1 -0
  79. package/out-tsc/formatter/core/token-helper.d.ts +12 -0
  80. package/out-tsc/formatter/core/token-helper.d.ts.map +1 -0
  81. package/out-tsc/formatter/core/token-helper.js +79 -0
  82. package/out-tsc/formatter/core/token-helper.js.map +1 -0
  83. package/out-tsc/formatter/core/unicode-utils.d.ts +107 -0
  84. package/out-tsc/formatter/core/unicode-utils.d.ts.map +1 -0
  85. package/out-tsc/formatter/core/unicode-utils.js +181 -0
  86. package/out-tsc/formatter/core/unicode-utils.js.map +1 -0
  87. package/out-tsc/formatter/core/whitespace-writer.d.ts +20 -0
  88. package/out-tsc/formatter/core/whitespace-writer.d.ts.map +1 -0
  89. package/out-tsc/formatter/core/whitespace-writer.js +86 -0
  90. package/out-tsc/formatter/core/whitespace-writer.js.map +1 -0
  91. package/out-tsc/formatter/formatter-adapter.d.ts +56 -0
  92. package/out-tsc/formatter/formatter-adapter.d.ts.map +1 -0
  93. package/out-tsc/formatter/formatter-adapter.js +719 -0
  94. package/out-tsc/formatter/formatter-adapter.js.map +1 -0
  95. package/out-tsc/formatter/index.d.ts +16 -0
  96. package/out-tsc/formatter/index.d.ts.map +1 -0
  97. package/out-tsc/formatter/index.js +43 -0
  98. package/out-tsc/formatter/index.js.map +1 -0
  99. package/out-tsc/formatter/pipe-step-classifier.d.ts +9 -0
  100. package/out-tsc/formatter/pipe-step-classifier.d.ts.map +1 -0
  101. package/out-tsc/formatter/pipe-step-classifier.js +49 -0
  102. package/out-tsc/formatter/pipe-step-classifier.js.map +1 -0
  103. package/out-tsc/formatter/state.d.ts +10 -0
  104. package/out-tsc/formatter/state.d.ts.map +1 -0
  105. package/out-tsc/formatter/state.js +12 -0
  106. package/out-tsc/formatter/state.js.map +1 -0
  107. package/out-tsc/formatter/strategies/block.strategy.d.ts +191 -0
  108. package/out-tsc/formatter/strategies/block.strategy.d.ts.map +1 -0
  109. package/out-tsc/formatter/strategies/block.strategy.js +238 -0
  110. package/out-tsc/formatter/strategies/block.strategy.js.map +1 -0
  111. package/out-tsc/formatter/strategies/clause-head-body.strategy.d.ts +17 -0
  112. package/out-tsc/formatter/strategies/clause-head-body.strategy.d.ts.map +1 -0
  113. package/out-tsc/formatter/strategies/clause-head-body.strategy.js +13 -0
  114. package/out-tsc/formatter/strategies/clause-head-body.strategy.js.map +1 -0
  115. package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.d.ts +68 -0
  116. package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.d.ts.map +1 -0
  117. package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.js +242 -0
  118. package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.js.map +1 -0
  119. package/out-tsc/formatter/strategies/ddl/alter-table.strategy.d.ts +146 -0
  120. package/out-tsc/formatter/strategies/ddl/alter-table.strategy.d.ts.map +1 -0
  121. package/out-tsc/formatter/strategies/ddl/alter-table.strategy.js +578 -0
  122. package/out-tsc/formatter/strategies/ddl/alter-table.strategy.js.map +1 -0
  123. package/out-tsc/formatter/strategies/ddl/create-table.strategy.d.ts +103 -0
  124. package/out-tsc/formatter/strategies/ddl/create-table.strategy.d.ts.map +1 -0
  125. package/out-tsc/formatter/strategies/ddl/create-table.strategy.js +659 -0
  126. package/out-tsc/formatter/strategies/ddl/create-table.strategy.js.map +1 -0
  127. package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.d.ts +64 -0
  128. package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.d.ts.map +1 -0
  129. package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.js +402 -0
  130. package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.js.map +1 -0
  131. package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.d.ts +119 -0
  132. package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.d.ts.map +1 -0
  133. package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.js +863 -0
  134. package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.js.map +1 -0
  135. package/out-tsc/formatter/strategies/ddl/index.d.ts +17 -0
  136. package/out-tsc/formatter/strategies/ddl/index.d.ts.map +1 -0
  137. package/out-tsc/formatter/strategies/ddl/index.js +57 -0
  138. package/out-tsc/formatter/strategies/ddl/index.js.map +1 -0
  139. package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.d.ts +26 -0
  140. package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.d.ts.map +1 -0
  141. package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.js +77 -0
  142. package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.js.map +1 -0
  143. package/out-tsc/formatter/strategies/ddl/pipeline.strategy.d.ts +99 -0
  144. package/out-tsc/formatter/strategies/ddl/pipeline.strategy.d.ts.map +1 -0
  145. package/out-tsc/formatter/strategies/ddl/pipeline.strategy.js +385 -0
  146. package/out-tsc/formatter/strategies/ddl/pipeline.strategy.js.map +1 -0
  147. package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.d.ts +48 -0
  148. package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.d.ts.map +1 -0
  149. package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.js +145 -0
  150. package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.js.map +1 -0
  151. package/out-tsc/formatter/strategies/ddl/show-utility.strategy.d.ts +71 -0
  152. package/out-tsc/formatter/strategies/ddl/show-utility.strategy.d.ts.map +1 -0
  153. package/out-tsc/formatter/strategies/ddl/show-utility.strategy.js +196 -0
  154. package/out-tsc/formatter/strategies/ddl/show-utility.strategy.js.map +1 -0
  155. package/out-tsc/formatter/strategies/dml/index.d.ts +10 -0
  156. package/out-tsc/formatter/strategies/dml/index.d.ts.map +1 -0
  157. package/out-tsc/formatter/strategies/dml/index.js +35 -0
  158. package/out-tsc/formatter/strategies/dml/index.js.map +1 -0
  159. package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.d.ts +113 -0
  160. package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.d.ts.map +1 -0
  161. package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.js +438 -0
  162. package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.js.map +1 -0
  163. package/out-tsc/formatter/strategies/dml/select-clause.strategy.d.ts +76 -0
  164. package/out-tsc/formatter/strategies/dml/select-clause.strategy.d.ts.map +1 -0
  165. package/out-tsc/formatter/strategies/dml/select-clause.strategy.js +480 -0
  166. package/out-tsc/formatter/strategies/dml/select-clause.strategy.js.map +1 -0
  167. package/out-tsc/formatter/strategies/expression/function-call.strategy.d.ts +50 -0
  168. package/out-tsc/formatter/strategies/expression/function-call.strategy.d.ts.map +1 -0
  169. package/out-tsc/formatter/strategies/expression/function-call.strategy.js +319 -0
  170. package/out-tsc/formatter/strategies/expression/function-call.strategy.js.map +1 -0
  171. package/out-tsc/formatter/strategies/expression/index.d.ts +18 -0
  172. package/out-tsc/formatter/strategies/expression/index.d.ts.map +1 -0
  173. package/out-tsc/formatter/strategies/expression/index.js +51 -0
  174. package/out-tsc/formatter/strategies/expression/index.js.map +1 -0
  175. package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.d.ts +55 -0
  176. package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.d.ts.map +1 -0
  177. package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.js +266 -0
  178. package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.js.map +1 -0
  179. package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.d.ts +38 -0
  180. package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.d.ts.map +1 -0
  181. package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.js +397 -0
  182. package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.js.map +1 -0
  183. package/out-tsc/formatter/strategies/function-call.strategy.d.ts +80 -0
  184. package/out-tsc/formatter/strategies/function-call.strategy.d.ts.map +1 -0
  185. package/out-tsc/formatter/strategies/function-call.strategy.js +136 -0
  186. package/out-tsc/formatter/strategies/function-call.strategy.js.map +1 -0
  187. package/out-tsc/formatter/strategies/index.d.ts +87 -0
  188. package/out-tsc/formatter/strategies/index.d.ts.map +1 -0
  189. package/out-tsc/formatter/strategies/index.js +121 -0
  190. package/out-tsc/formatter/strategies/index.js.map +1 -0
  191. package/out-tsc/formatter/strategies/join.strategy.d.ts +31 -0
  192. package/out-tsc/formatter/strategies/join.strategy.d.ts.map +1 -0
  193. package/out-tsc/formatter/strategies/join.strategy.js +29 -0
  194. package/out-tsc/formatter/strategies/join.strategy.js.map +1 -0
  195. package/out-tsc/formatter/strategies/keyword.strategy.d.ts +82 -0
  196. package/out-tsc/formatter/strategies/keyword.strategy.d.ts.map +1 -0
  197. package/out-tsc/formatter/strategies/keyword.strategy.js +129 -0
  198. package/out-tsc/formatter/strategies/keyword.strategy.js.map +1 -0
  199. package/out-tsc/formatter/strategies/list.strategy.d.ts +159 -0
  200. package/out-tsc/formatter/strategies/list.strategy.d.ts.map +1 -0
  201. package/out-tsc/formatter/strategies/list.strategy.js +193 -0
  202. package/out-tsc/formatter/strategies/list.strategy.js.map +1 -0
  203. package/out-tsc/formatter/strategies/pipe-aggregate.strategy.d.ts +24 -0
  204. package/out-tsc/formatter/strategies/pipe-aggregate.strategy.d.ts.map +1 -0
  205. package/out-tsc/formatter/strategies/pipe-aggregate.strategy.js +47 -0
  206. package/out-tsc/formatter/strategies/pipe-aggregate.strategy.js.map +1 -0
  207. package/out-tsc/formatter/strategies/pipe-drop.strategy.d.ts +21 -0
  208. package/out-tsc/formatter/strategies/pipe-drop.strategy.d.ts.map +1 -0
  209. package/out-tsc/formatter/strategies/pipe-drop.strategy.js +52 -0
  210. package/out-tsc/formatter/strategies/pipe-drop.strategy.js.map +1 -0
  211. package/out-tsc/formatter/strategies/pipe-extend.strategy.d.ts +21 -0
  212. package/out-tsc/formatter/strategies/pipe-extend.strategy.d.ts.map +1 -0
  213. package/out-tsc/formatter/strategies/pipe-extend.strategy.js +45 -0
  214. package/out-tsc/formatter/strategies/pipe-extend.strategy.js.map +1 -0
  215. package/out-tsc/formatter/strategies/pipe-join.strategy.d.ts +22 -0
  216. package/out-tsc/formatter/strategies/pipe-join.strategy.d.ts.map +1 -0
  217. package/out-tsc/formatter/strategies/pipe-join.strategy.js +42 -0
  218. package/out-tsc/formatter/strategies/pipe-join.strategy.js.map +1 -0
  219. package/out-tsc/formatter/strategies/pipe-pivot.strategy.d.ts +7 -0
  220. package/out-tsc/formatter/strategies/pipe-pivot.strategy.d.ts.map +1 -0
  221. package/out-tsc/formatter/strategies/pipe-pivot.strategy.js +34 -0
  222. package/out-tsc/formatter/strategies/pipe-pivot.strategy.js.map +1 -0
  223. package/out-tsc/formatter/strategies/pipe-query-organization.strategy.d.ts +7 -0
  224. package/out-tsc/formatter/strategies/pipe-query-organization.strategy.d.ts.map +1 -0
  225. package/out-tsc/formatter/strategies/pipe-query-organization.strategy.js +14 -0
  226. package/out-tsc/formatter/strategies/pipe-query-organization.strategy.js.map +1 -0
  227. package/out-tsc/formatter/strategies/pipe-sample.strategy.d.ts +7 -0
  228. package/out-tsc/formatter/strategies/pipe-sample.strategy.d.ts.map +1 -0
  229. package/out-tsc/formatter/strategies/pipe-sample.strategy.js +18 -0
  230. package/out-tsc/formatter/strategies/pipe-sample.strategy.js.map +1 -0
  231. package/out-tsc/formatter/strategies/pipe-select.strategy.d.ts +22 -0
  232. package/out-tsc/formatter/strategies/pipe-select.strategy.d.ts.map +1 -0
  233. package/out-tsc/formatter/strategies/pipe-select.strategy.js +51 -0
  234. package/out-tsc/formatter/strategies/pipe-select.strategy.js.map +1 -0
  235. package/out-tsc/formatter/strategies/pipe-set-operation.strategy.d.ts +7 -0
  236. package/out-tsc/formatter/strategies/pipe-set-operation.strategy.d.ts.map +1 -0
  237. package/out-tsc/formatter/strategies/pipe-set-operation.strategy.js +30 -0
  238. package/out-tsc/formatter/strategies/pipe-set-operation.strategy.js.map +1 -0
  239. package/out-tsc/formatter/strategies/pipe-set.strategy.d.ts +21 -0
  240. package/out-tsc/formatter/strategies/pipe-set.strategy.d.ts.map +1 -0
  241. package/out-tsc/formatter/strategies/pipe-set.strategy.js +52 -0
  242. package/out-tsc/formatter/strategies/pipe-set.strategy.js.map +1 -0
  243. package/out-tsc/formatter/strategies/pipe-step.strategy.d.ts +25 -0
  244. package/out-tsc/formatter/strategies/pipe-step.strategy.d.ts.map +1 -0
  245. package/out-tsc/{lib/SparkSqlParserVisitor.js → formatter/strategies/pipe-step.strategy.js} +1 -1
  246. package/out-tsc/formatter/strategies/pipe-step.strategy.js.map +1 -0
  247. package/out-tsc/formatter/strategies/pipe-unpivot.strategy.d.ts +7 -0
  248. package/out-tsc/formatter/strategies/pipe-unpivot.strategy.d.ts.map +1 -0
  249. package/out-tsc/formatter/strategies/pipe-unpivot.strategy.js +33 -0
  250. package/out-tsc/formatter/strategies/pipe-unpivot.strategy.js.map +1 -0
  251. package/out-tsc/formatter/strategies/pipe-where.strategy.d.ts +21 -0
  252. package/out-tsc/formatter/strategies/pipe-where.strategy.d.ts.map +1 -0
  253. package/out-tsc/formatter/strategies/pipe-where.strategy.js +44 -0
  254. package/out-tsc/formatter/strategies/pipe-where.strategy.js.map +1 -0
  255. package/out-tsc/formatter/strategies/procedure/case-statement.strategy.d.ts +20 -0
  256. package/out-tsc/formatter/strategies/procedure/case-statement.strategy.d.ts.map +1 -0
  257. package/out-tsc/formatter/strategies/procedure/case-statement.strategy.js +132 -0
  258. package/out-tsc/formatter/strategies/procedure/case-statement.strategy.js.map +1 -0
  259. package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.d.ts +43 -0
  260. package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.d.ts.map +1 -0
  261. package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.js +174 -0
  262. package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.js.map +1 -0
  263. package/out-tsc/formatter/strategies/procedure/handler.strategy.d.ts +23 -0
  264. package/out-tsc/formatter/strategies/procedure/handler.strategy.d.ts.map +1 -0
  265. package/out-tsc/formatter/strategies/procedure/handler.strategy.js +81 -0
  266. package/out-tsc/formatter/strategies/procedure/handler.strategy.js.map +1 -0
  267. package/out-tsc/formatter/strategies/procedure/if-else.strategy.d.ts +19 -0
  268. package/out-tsc/formatter/strategies/procedure/if-else.strategy.d.ts.map +1 -0
  269. package/out-tsc/formatter/strategies/procedure/if-else.strategy.js +80 -0
  270. package/out-tsc/formatter/strategies/procedure/if-else.strategy.js.map +1 -0
  271. package/out-tsc/formatter/strategies/procedure/index.d.ts +27 -0
  272. package/out-tsc/formatter/strategies/procedure/index.d.ts.map +1 -0
  273. package/out-tsc/formatter/strategies/procedure/index.js +63 -0
  274. package/out-tsc/formatter/strategies/procedure/index.js.map +1 -0
  275. package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.d.ts +19 -0
  276. package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.d.ts.map +1 -0
  277. package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.js +54 -0
  278. package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.js.map +1 -0
  279. package/out-tsc/formatter/strategies/procedure/loop.strategy.d.ts +71 -0
  280. package/out-tsc/formatter/strategies/procedure/loop.strategy.d.ts.map +1 -0
  281. package/out-tsc/formatter/strategies/procedure/loop.strategy.js +216 -0
  282. package/out-tsc/formatter/strategies/procedure/loop.strategy.js.map +1 -0
  283. package/out-tsc/formatter/strategy-based-formatter.d.ts +329 -0
  284. package/out-tsc/formatter/strategy-based-formatter.d.ts.map +1 -0
  285. package/out-tsc/formatter/strategy-based-formatter.js +3808 -0
  286. package/out-tsc/formatter/strategy-based-formatter.js.map +1 -0
  287. package/out-tsc/formatter/strategy-dispatcher.d.ts +24 -0
  288. package/out-tsc/formatter/strategy-dispatcher.d.ts.map +1 -0
  289. package/out-tsc/formatter/strategy-dispatcher.js +19 -0
  290. package/out-tsc/formatter/strategy-dispatcher.js.map +1 -0
  291. package/out-tsc/formatter/types.d.ts +2 -0
  292. package/out-tsc/formatter/types.d.ts.map +1 -0
  293. package/out-tsc/{lib/SparkSqlParserListener.js → formatter/types.js} +1 -1
  294. package/out-tsc/formatter/types.js.map +1 -0
  295. package/out-tsc/formatter/visitor/ddl/alter-table.d.ts +48 -0
  296. package/out-tsc/formatter/visitor/ddl/alter-table.d.ts.map +1 -0
  297. package/out-tsc/formatter/visitor/ddl/alter-table.js +133 -0
  298. package/out-tsc/formatter/visitor/ddl/alter-table.js.map +1 -0
  299. package/out-tsc/formatter/visitor/ddl/create-table.d.ts +54 -0
  300. package/out-tsc/formatter/visitor/ddl/create-table.d.ts.map +1 -0
  301. package/out-tsc/formatter/visitor/ddl/create-table.js +142 -0
  302. package/out-tsc/formatter/visitor/ddl/create-table.js.map +1 -0
  303. package/out-tsc/formatter/visitor/ddl/create-view.d.ts +27 -0
  304. package/out-tsc/formatter/visitor/ddl/create-view.d.ts.map +1 -0
  305. package/out-tsc/formatter/visitor/ddl/create-view.js +61 -0
  306. package/out-tsc/formatter/visitor/ddl/create-view.js.map +1 -0
  307. package/out-tsc/formatter/visitor/ddl/drop.d.ts +30 -0
  308. package/out-tsc/formatter/visitor/ddl/drop.d.ts.map +1 -0
  309. package/out-tsc/formatter/visitor/ddl/drop.js +69 -0
  310. package/out-tsc/formatter/visitor/ddl/drop.js.map +1 -0
  311. package/out-tsc/formatter/visitor/ddl/index.d.ts +10 -0
  312. package/out-tsc/formatter/visitor/ddl/index.d.ts.map +1 -0
  313. package/out-tsc/formatter/visitor/ddl/index.js +26 -0
  314. package/out-tsc/formatter/visitor/ddl/index.js.map +1 -0
  315. package/out-tsc/formatter/visitor/dml/delete.d.ts +26 -0
  316. package/out-tsc/formatter/visitor/dml/delete.d.ts.map +1 -0
  317. package/out-tsc/formatter/visitor/dml/delete.js +38 -0
  318. package/out-tsc/formatter/visitor/dml/delete.js.map +1 -0
  319. package/out-tsc/formatter/visitor/dml/index.d.ts +10 -0
  320. package/out-tsc/formatter/visitor/dml/index.d.ts.map +1 -0
  321. package/out-tsc/formatter/visitor/dml/index.js +26 -0
  322. package/out-tsc/formatter/visitor/dml/index.js.map +1 -0
  323. package/out-tsc/formatter/visitor/dml/insert.d.ts +42 -0
  324. package/out-tsc/formatter/visitor/dml/insert.d.ts.map +1 -0
  325. package/out-tsc/formatter/visitor/dml/insert.js +112 -0
  326. package/out-tsc/formatter/visitor/dml/insert.js.map +1 -0
  327. package/out-tsc/formatter/visitor/dml/merge.d.ts +40 -0
  328. package/out-tsc/formatter/visitor/dml/merge.d.ts.map +1 -0
  329. package/out-tsc/formatter/visitor/dml/merge.js +67 -0
  330. package/out-tsc/formatter/visitor/dml/merge.js.map +1 -0
  331. package/out-tsc/formatter/visitor/dml/update.d.ts +33 -0
  332. package/out-tsc/formatter/visitor/dml/update.d.ts.map +1 -0
  333. package/out-tsc/formatter/visitor/dml/update.js +49 -0
  334. package/out-tsc/formatter/visitor/dml/update.js.map +1 -0
  335. package/out-tsc/formatter/visitor/expression/arithmetic.d.ts +20 -0
  336. package/out-tsc/formatter/visitor/expression/arithmetic.d.ts.map +1 -0
  337. package/out-tsc/formatter/visitor/expression/arithmetic.js +44 -0
  338. package/out-tsc/formatter/visitor/expression/arithmetic.js.map +1 -0
  339. package/out-tsc/formatter/visitor/expression/case-when.d.ts +41 -0
  340. package/out-tsc/formatter/visitor/expression/case-when.d.ts.map +1 -0
  341. package/out-tsc/formatter/visitor/expression/case-when.js +94 -0
  342. package/out-tsc/formatter/visitor/expression/case-when.js.map +1 -0
  343. package/out-tsc/formatter/visitor/expression/comparison.d.ts +20 -0
  344. package/out-tsc/formatter/visitor/expression/comparison.d.ts.map +1 -0
  345. package/out-tsc/formatter/visitor/expression/comparison.js +26 -0
  346. package/out-tsc/formatter/visitor/expression/comparison.js.map +1 -0
  347. package/out-tsc/formatter/visitor/expression/function-call.d.ts +20 -0
  348. package/out-tsc/formatter/visitor/expression/function-call.d.ts.map +1 -0
  349. package/out-tsc/formatter/visitor/expression/function-call.js +33 -0
  350. package/out-tsc/formatter/visitor/expression/function-call.js.map +1 -0
  351. package/out-tsc/formatter/visitor/expression/index.d.ts +11 -0
  352. package/out-tsc/formatter/visitor/expression/index.d.ts.map +1 -0
  353. package/out-tsc/formatter/visitor/expression/index.js +27 -0
  354. package/out-tsc/formatter/visitor/expression/index.js.map +1 -0
  355. package/out-tsc/formatter/visitor/expression/logical.d.ts +26 -0
  356. package/out-tsc/formatter/visitor/expression/logical.d.ts.map +1 -0
  357. package/out-tsc/formatter/visitor/expression/logical.js +46 -0
  358. package/out-tsc/formatter/visitor/expression/logical.js.map +1 -0
  359. package/out-tsc/formatter/visitor/formatter-core.d.ts +79 -0
  360. package/out-tsc/formatter/visitor/formatter-core.d.ts.map +1 -0
  361. package/out-tsc/formatter/visitor/formatter-core.js +211 -0
  362. package/out-tsc/formatter/visitor/formatter-core.js.map +1 -0
  363. package/out-tsc/formatter/visitor/index.d.ts +21 -0
  364. package/out-tsc/formatter/visitor/index.d.ts.map +1 -0
  365. package/out-tsc/formatter/visitor/index.js +26 -0
  366. package/out-tsc/formatter/visitor/index.js.map +1 -0
  367. package/out-tsc/formatter/visitor/management/cache.d.ts +26 -0
  368. package/out-tsc/formatter/visitor/management/cache.d.ts.map +1 -0
  369. package/out-tsc/formatter/visitor/management/cache.js +58 -0
  370. package/out-tsc/formatter/visitor/management/cache.js.map +1 -0
  371. package/out-tsc/formatter/visitor/management/index.d.ts +8 -0
  372. package/out-tsc/formatter/visitor/management/index.d.ts.map +1 -0
  373. package/out-tsc/formatter/visitor/management/index.js +24 -0
  374. package/out-tsc/formatter/visitor/management/index.js.map +1 -0
  375. package/out-tsc/formatter/visitor/management/refresh.d.ts +26 -0
  376. package/out-tsc/formatter/visitor/management/refresh.d.ts.map +1 -0
  377. package/out-tsc/formatter/visitor/management/refresh.js +55 -0
  378. package/out-tsc/formatter/visitor/management/refresh.js.map +1 -0
  379. package/out-tsc/formatter/visitor/pipeline/delta-live-tables.d.ts +31 -0
  380. package/out-tsc/formatter/visitor/pipeline/delta-live-tables.d.ts.map +1 -0
  381. package/out-tsc/formatter/visitor/pipeline/delta-live-tables.js +46 -0
  382. package/out-tsc/formatter/visitor/pipeline/delta-live-tables.js.map +1 -0
  383. package/out-tsc/formatter/visitor/pipeline/index.d.ts +7 -0
  384. package/out-tsc/formatter/visitor/pipeline/index.d.ts.map +1 -0
  385. package/out-tsc/formatter/visitor/pipeline/index.js +23 -0
  386. package/out-tsc/formatter/visitor/pipeline/index.js.map +1 -0
  387. package/out-tsc/formatter/visitor/query/cte.d.ts +34 -0
  388. package/out-tsc/formatter/visitor/query/cte.d.ts.map +1 -0
  389. package/out-tsc/formatter/visitor/query/cte.js +54 -0
  390. package/out-tsc/formatter/visitor/query/cte.js.map +1 -0
  391. package/out-tsc/formatter/visitor/query/index.d.ts +11 -0
  392. package/out-tsc/formatter/visitor/query/index.d.ts.map +1 -0
  393. package/out-tsc/formatter/visitor/query/index.js +27 -0
  394. package/out-tsc/formatter/visitor/query/index.js.map +1 -0
  395. package/out-tsc/formatter/visitor/query/query-organization.d.ts +25 -0
  396. package/out-tsc/formatter/visitor/query/query-organization.d.ts.map +1 -0
  397. package/out-tsc/formatter/visitor/query/query-organization.js +75 -0
  398. package/out-tsc/formatter/visitor/query/query-organization.js.map +1 -0
  399. package/out-tsc/formatter/visitor/query/query.d.ts +22 -0
  400. package/out-tsc/formatter/visitor/query/query.d.ts.map +1 -0
  401. package/out-tsc/formatter/visitor/query/query.js +30 -0
  402. package/out-tsc/formatter/visitor/query/query.js.map +1 -0
  403. package/out-tsc/formatter/visitor/query/select-clause.d.ts +17 -0
  404. package/out-tsc/formatter/visitor/query/select-clause.d.ts.map +1 -0
  405. package/out-tsc/formatter/visitor/query/select-clause.js +35 -0
  406. package/out-tsc/formatter/visitor/query/select-clause.js.map +1 -0
  407. package/out-tsc/formatter/visitor/query/set-operation.d.ts +25 -0
  408. package/out-tsc/formatter/visitor/query/set-operation.d.ts.map +1 -0
  409. package/out-tsc/formatter/visitor/query/set-operation.js +52 -0
  410. package/out-tsc/formatter/visitor/query/set-operation.js.map +1 -0
  411. package/out-tsc/formatter/visitor/statements/index.d.ts +7 -0
  412. package/out-tsc/formatter/visitor/statements/index.d.ts.map +1 -0
  413. package/out-tsc/formatter/visitor/statements/index.js +23 -0
  414. package/out-tsc/formatter/visitor/statements/index.js.map +1 -0
  415. package/out-tsc/formatter/visitor/statements/program.d.ts +33 -0
  416. package/out-tsc/formatter/visitor/statements/program.d.ts.map +1 -0
  417. package/out-tsc/formatter/visitor/statements/program.js +69 -0
  418. package/out-tsc/formatter/visitor/statements/program.js.map +1 -0
  419. package/out-tsc/formatter/visitor/types/complex-types.d.ts +24 -0
  420. package/out-tsc/formatter/visitor/types/complex-types.d.ts.map +1 -0
  421. package/out-tsc/formatter/visitor/types/complex-types.js +47 -0
  422. package/out-tsc/formatter/visitor/types/complex-types.js.map +1 -0
  423. package/out-tsc/formatter/visitor/types/index.d.ts +8 -0
  424. package/out-tsc/formatter/visitor/types/index.d.ts.map +1 -0
  425. package/out-tsc/formatter/visitor/types/index.js +24 -0
  426. package/out-tsc/formatter/visitor/types/index.js.map +1 -0
  427. package/out-tsc/formatter/visitor/types/primitive-types.d.ts +22 -0
  428. package/out-tsc/formatter/visitor/types/primitive-types.d.ts.map +1 -0
  429. package/out-tsc/formatter/visitor/types/primitive-types.js +37 -0
  430. package/out-tsc/formatter/visitor/types/primitive-types.js.map +1 -0
  431. package/out-tsc/formatter/visitor/utils/context-helpers.d.ts +32 -0
  432. package/out-tsc/formatter/visitor/utils/context-helpers.d.ts.map +1 -0
  433. package/out-tsc/formatter/visitor/utils/context-helpers.js +98 -0
  434. package/out-tsc/formatter/visitor/utils/context-helpers.js.map +1 -0
  435. package/out-tsc/formatter/visitor/utils/index.d.ts +11 -0
  436. package/out-tsc/formatter/visitor/utils/index.d.ts.map +1 -0
  437. package/out-tsc/formatter/visitor/utils/index.js +45 -0
  438. package/out-tsc/formatter/visitor/utils/index.js.map +1 -0
  439. package/out-tsc/formatter/visitor/utils/keyword-formatting.d.ts +57 -0
  440. package/out-tsc/formatter/visitor/utils/keyword-formatting.d.ts.map +1 -0
  441. package/out-tsc/formatter/visitor/utils/keyword-formatting.js +87 -0
  442. package/out-tsc/formatter/visitor/utils/keyword-formatting.js.map +1 -0
  443. package/out-tsc/formatter/visitor/utils/parenthesis-formatting.d.ts +53 -0
  444. package/out-tsc/formatter/visitor/utils/parenthesis-formatting.d.ts.map +1 -0
  445. package/out-tsc/formatter/visitor/utils/parenthesis-formatting.js +88 -0
  446. package/out-tsc/formatter/visitor/utils/parenthesis-formatting.js.map +1 -0
  447. package/out-tsc/formatter/visitor/utils/space-compression.d.ts +55 -0
  448. package/out-tsc/formatter/visitor/utils/space-compression.d.ts.map +1 -0
  449. package/out-tsc/formatter/visitor/utils/space-compression.js +71 -0
  450. package/out-tsc/formatter/visitor/utils/space-compression.js.map +1 -0
  451. package/out-tsc/formatter/visitor/utils/token-helpers.d.ts +64 -0
  452. package/out-tsc/formatter/visitor/utils/token-helpers.d.ts.map +1 -0
  453. package/out-tsc/formatter/visitor/utils/token-helpers.js +249 -0
  454. package/out-tsc/formatter/visitor/utils/token-helpers.js.map +1 -0
  455. package/out-tsc/index.d.ts +2 -1
  456. package/out-tsc/index.d.ts.map +1 -0
  457. package/out-tsc/index.js +3 -1
  458. package/out-tsc/index.js.map +1 -1
  459. package/out-tsc/lib/SparkSQLLexer.d.ts +557 -0
  460. package/out-tsc/lib/SparkSQLLexer.d.ts.map +1 -0
  461. package/out-tsc/lib/SparkSQLLexer.js +3676 -0
  462. package/out-tsc/lib/SparkSQLLexer.js.map +1 -0
  463. package/out-tsc/lib/SparkSQLParser.d.ts +7884 -0
  464. package/out-tsc/lib/SparkSQLParser.d.ts.map +1 -0
  465. package/out-tsc/lib/SparkSQLParser.js +45848 -0
  466. package/out-tsc/lib/SparkSQLParser.js.map +1 -0
  467. package/out-tsc/lib/SparkSQLParserListener.d.ts +5855 -0
  468. package/out-tsc/lib/SparkSQLParserListener.d.ts.map +1 -0
  469. package/out-tsc/lib/SparkSQLParserListener.js +4 -0
  470. package/out-tsc/lib/SparkSQLParserListener.js.map +1 -0
  471. package/out-tsc/lib/SparkSQLParserVisitor.d.ts +3674 -0
  472. package/out-tsc/lib/SparkSQLParserVisitor.d.ts.map +1 -0
  473. package/out-tsc/lib/SparkSQLParserVisitor.js +4 -0
  474. package/out-tsc/lib/SparkSQLParserVisitor.js.map +1 -0
  475. package/out-tsc/lineage.typing.d.ts +64 -0
  476. package/out-tsc/lineage.typing.d.ts.map +1 -0
  477. package/out-tsc/lineage.typing.js +3 -0
  478. package/out-tsc/lineage.typing.js.map +1 -0
  479. package/out-tsc/listeners/parse-error.listener.d.ts +3 -2
  480. package/out-tsc/listeners/parse-error.listener.d.ts.map +1 -0
  481. package/out-tsc/listeners/parse-error.listener.js +4 -4
  482. package/out-tsc/listeners/parse-error.listener.js.map +1 -1
  483. package/out-tsc/listeners/schema.listener.d.ts +32 -39
  484. package/out-tsc/listeners/schema.listener.d.ts.map +1 -0
  485. package/out-tsc/listeners/schema.listener.js +58 -100
  486. package/out-tsc/listeners/schema.listener.js.map +1 -1
  487. package/out-tsc/listeners/statement.listener.d.ts +263 -5
  488. package/out-tsc/listeners/statement.listener.d.ts.map +1 -0
  489. package/out-tsc/listeners/statement.listener.js +836 -11
  490. package/out-tsc/listeners/statement.listener.js.map +1 -1
  491. package/out-tsc/listeners/structure.listener.d.ts +70 -0
  492. package/out-tsc/listeners/structure.listener.d.ts.map +1 -0
  493. package/out-tsc/listeners/structure.listener.js +211 -0
  494. package/out-tsc/listeners/structure.listener.js.map +1 -0
  495. package/out-tsc/listeners/tokens-collector.listener.d.ts +27 -0
  496. package/out-tsc/listeners/tokens-collector.listener.d.ts.map +1 -0
  497. package/out-tsc/listeners/tokens-collector.listener.js +102 -0
  498. package/out-tsc/listeners/tokens-collector.listener.js.map +1 -0
  499. package/out-tsc/lsp-server.d.ts +79 -8
  500. package/out-tsc/lsp-server.d.ts.map +1 -0
  501. package/out-tsc/lsp-server.js +672 -237
  502. package/out-tsc/lsp-server.js.map +1 -1
  503. package/out-tsc/metadata.typing.d.ts +1 -0
  504. package/out-tsc/metadata.typing.d.ts.map +1 -0
  505. package/out-tsc/monaco-config.d.ts +219 -0
  506. package/out-tsc/monaco-config.d.ts.map +1 -0
  507. package/out-tsc/monaco-config.js +1032 -0
  508. package/out-tsc/monaco-config.js.map +1 -0
  509. package/out-tsc/parsing-warehouse.d.ts +8 -3
  510. package/out-tsc/parsing-warehouse.d.ts.map +1 -0
  511. package/out-tsc/parsing-warehouse.js +62 -6
  512. package/out-tsc/parsing-warehouse.js.map +1 -1
  513. package/out-tsc/protocol-translation.d.ts +12 -5
  514. package/out-tsc/protocol-translation.d.ts.map +1 -0
  515. package/out-tsc/protocol-translation.js +72 -19
  516. package/out-tsc/protocol-translation.js.map +1 -1
  517. package/out-tsc/public-apis.d.ts +1 -0
  518. package/out-tsc/public-apis.d.ts.map +1 -0
  519. package/out-tsc/schema-registry.d.ts +10 -7
  520. package/out-tsc/schema-registry.d.ts.map +1 -0
  521. package/out-tsc/schema-registry.js +87 -106
  522. package/out-tsc/schema-registry.js.map +1 -1
  523. package/out-tsc/server-worker.d.ts +1 -0
  524. package/out-tsc/server-worker.d.ts.map +1 -0
  525. package/out-tsc/server-worker.js +159 -44
  526. package/out-tsc/server-worker.js.map +1 -1
  527. package/out-tsc/tests/folding/block-comment-folding.test.d.ts +7 -0
  528. package/out-tsc/tests/folding/block-comment-folding.test.d.ts.map +1 -0
  529. package/out-tsc/tests/folding/block-comment-folding.test.js +268 -0
  530. package/out-tsc/tests/folding/block-comment-folding.test.js.map +1 -0
  531. package/out-tsc/tests/folding/caching.test.d.ts +11 -0
  532. package/out-tsc/tests/folding/caching.test.d.ts.map +1 -0
  533. package/out-tsc/tests/folding/caching.test.js +141 -0
  534. package/out-tsc/tests/folding/caching.test.js.map +1 -0
  535. package/out-tsc/tests/folding/cte-dependency-chain.test.d.ts +15 -0
  536. package/out-tsc/tests/folding/cte-dependency-chain.test.d.ts.map +1 -0
  537. package/out-tsc/tests/folding/cte-dependency-chain.test.js +323 -0
  538. package/out-tsc/tests/folding/cte-dependency-chain.test.js.map +1 -0
  539. package/out-tsc/tests/folding/debug-format-flow.test.d.ts +2 -0
  540. package/out-tsc/tests/folding/debug-format-flow.test.d.ts.map +1 -0
  541. package/out-tsc/tests/folding/debug-format-flow.test.js +114 -0
  542. package/out-tsc/tests/folding/debug-format-flow.test.js.map +1 -0
  543. package/out-tsc/tests/folding/debug-formatted.test.d.ts +2 -0
  544. package/out-tsc/tests/folding/debug-formatted.test.d.ts.map +1 -0
  545. package/out-tsc/tests/folding/debug-formatted.test.js +175 -0
  546. package/out-tsc/tests/folding/debug-formatted.test.js.map +1 -0
  547. package/out-tsc/tests/folding/deduplication.test.d.ts +10 -0
  548. package/out-tsc/tests/folding/deduplication.test.d.ts.map +1 -0
  549. package/out-tsc/tests/folding/deduplication.test.js +206 -0
  550. package/out-tsc/tests/folding/deduplication.test.js.map +1 -0
  551. package/out-tsc/tests/folding/edge-cases.test.d.ts +8 -0
  552. package/out-tsc/tests/folding/edge-cases.test.d.ts.map +1 -0
  553. package/out-tsc/tests/folding/edge-cases.test.js +319 -0
  554. package/out-tsc/tests/folding/edge-cases.test.js.map +1 -0
  555. package/out-tsc/tests/folding/folding-level-config.test.d.ts +11 -0
  556. package/out-tsc/tests/folding/folding-level-config.test.d.ts.map +1 -0
  557. package/out-tsc/tests/folding/folding-level-config.test.js +313 -0
  558. package/out-tsc/tests/folding/folding-level-config.test.js.map +1 -0
  559. package/out-tsc/tests/folding/folding-statistics.test.d.ts +13 -0
  560. package/out-tsc/tests/folding/folding-statistics.test.d.ts.map +1 -0
  561. package/out-tsc/tests/folding/folding-statistics.test.js +144 -0
  562. package/out-tsc/tests/folding/folding-statistics.test.js.map +1 -0
  563. package/out-tsc/tests/folding/index.d.ts +8 -0
  564. package/out-tsc/tests/folding/index.d.ts.map +1 -0
  565. package/out-tsc/tests/folding/index.js +24 -0
  566. package/out-tsc/tests/folding/index.js.map +1 -0
  567. package/out-tsc/tests/folding/join-folding.test.d.ts +11 -0
  568. package/out-tsc/tests/folding/join-folding.test.d.ts.map +1 -0
  569. package/out-tsc/tests/folding/join-folding.test.js +167 -0
  570. package/out-tsc/tests/folding/join-folding.test.js.map +1 -0
  571. package/out-tsc/tests/folding/kind-classification.test.d.ts +11 -0
  572. package/out-tsc/tests/folding/kind-classification.test.d.ts.map +1 -0
  573. package/out-tsc/tests/folding/kind-classification.test.js +270 -0
  574. package/out-tsc/tests/folding/kind-classification.test.js.map +1 -0
  575. package/out-tsc/tests/folding/level1-statement.test.d.ts +8 -0
  576. package/out-tsc/tests/folding/level1-statement.test.d.ts.map +1 -0
  577. package/out-tsc/tests/folding/level1-statement.test.js +278 -0
  578. package/out-tsc/tests/folding/level1-statement.test.js.map +1 -0
  579. package/out-tsc/tests/folding/level2-query-block.test.d.ts +8 -0
  580. package/out-tsc/tests/folding/level2-query-block.test.d.ts.map +1 -0
  581. package/out-tsc/tests/folding/level2-query-block.test.js +374 -0
  582. package/out-tsc/tests/folding/level2-query-block.test.js.map +1 -0
  583. package/out-tsc/tests/folding/level3-expression.test.d.ts +8 -0
  584. package/out-tsc/tests/folding/level3-expression.test.d.ts.map +1 -0
  585. package/out-tsc/tests/folding/level3-expression.test.js +361 -0
  586. package/out-tsc/tests/folding/level3-expression.test.js.map +1 -0
  587. package/out-tsc/tests/folding/level4-structure.test.d.ts +8 -0
  588. package/out-tsc/tests/folding/level4-structure.test.d.ts.map +1 -0
  589. package/out-tsc/tests/folding/level4-structure.test.js +270 -0
  590. package/out-tsc/tests/folding/level4-structure.test.js.map +1 -0
  591. package/out-tsc/tests/folding/line-comment-folding.test.d.ts +13 -0
  592. package/out-tsc/tests/folding/line-comment-folding.test.d.ts.map +1 -0
  593. package/out-tsc/tests/folding/line-comment-folding.test.js +215 -0
  594. package/out-tsc/tests/folding/line-comment-folding.test.js.map +1 -0
  595. package/out-tsc/tests/folding/nested-folding.test.d.ts +8 -0
  596. package/out-tsc/tests/folding/nested-folding.test.d.ts.map +1 -0
  597. package/out-tsc/tests/folding/nested-folding.test.js +386 -0
  598. package/out-tsc/tests/folding/nested-folding.test.js.map +1 -0
  599. package/out-tsc/tests/folding/performance-benchmark.test.d.ts +11 -0
  600. package/out-tsc/tests/folding/performance-benchmark.test.d.ts.map +1 -0
  601. package/out-tsc/tests/folding/performance-benchmark.test.js +256 -0
  602. package/out-tsc/tests/folding/performance-benchmark.test.js.map +1 -0
  603. package/out-tsc/tests/folding/region-marker-folding.test.d.ts +11 -0
  604. package/out-tsc/tests/folding/region-marker-folding.test.d.ts.map +1 -0
  605. package/out-tsc/tests/folding/region-marker-folding.test.js +245 -0
  606. package/out-tsc/tests/folding/region-marker-folding.test.js.map +1 -0
  607. package/out-tsc/tests/folding/select-columns-folding.test.d.ts +10 -0
  608. package/out-tsc/tests/folding/select-columns-folding.test.d.ts.map +1 -0
  609. package/out-tsc/tests/folding/select-columns-folding.test.js +139 -0
  610. package/out-tsc/tests/folding/select-columns-folding.test.js.map +1 -0
  611. package/out-tsc/tests/folding/test-utils.d.ts +73 -0
  612. package/out-tsc/tests/folding/test-utils.d.ts.map +1 -0
  613. package/out-tsc/tests/folding/test-utils.js +98 -0
  614. package/out-tsc/tests/folding/test-utils.js.map +1 -0
  615. package/out-tsc/tests/folding/values-folding.test.d.ts +10 -0
  616. package/out-tsc/tests/folding/values-folding.test.d.ts.map +1 -0
  617. package/out-tsc/tests/folding/values-folding.test.js +102 -0
  618. package/out-tsc/tests/folding/values-folding.test.js.map +1 -0
  619. package/out-tsc/tests/format/ddl/datatype-constraint.test.d.ts +5 -0
  620. package/out-tsc/tests/format/ddl/datatype-constraint.test.d.ts.map +1 -0
  621. package/out-tsc/tests/format/ddl/datatype-constraint.test.js +132 -0
  622. package/out-tsc/tests/format/ddl/datatype-constraint.test.js.map +1 -0
  623. package/out-tsc/tests/format/ddl/index.test.d.ts +5 -0
  624. package/out-tsc/tests/format/ddl/index.test.d.ts.map +1 -0
  625. package/out-tsc/tests/format/ddl/index.test.js +74 -0
  626. package/out-tsc/tests/format/ddl/index.test.js.map +1 -0
  627. package/out-tsc/tests/format/ddl/materialized-view.test.d.ts +5 -0
  628. package/out-tsc/tests/format/ddl/materialized-view.test.d.ts.map +1 -0
  629. package/out-tsc/tests/format/ddl/materialized-view.test.js +92 -0
  630. package/out-tsc/tests/format/ddl/materialized-view.test.js.map +1 -0
  631. package/out-tsc/tests/format/ddl/partition.test.d.ts +5 -0
  632. package/out-tsc/tests/format/ddl/partition.test.d.ts.map +1 -0
  633. package/out-tsc/tests/format/ddl/partition.test.js +109 -0
  634. package/out-tsc/tests/format/ddl/partition.test.js.map +1 -0
  635. package/out-tsc/tests/format/ddl/variable.test.d.ts +5 -0
  636. package/out-tsc/tests/format/ddl/variable.test.d.ts.map +1 -0
  637. package/out-tsc/tests/format/ddl/variable.test.js +58 -0
  638. package/out-tsc/tests/format/ddl/variable.test.js.map +1 -0
  639. package/out-tsc/tests/format/dml/select.test.d.ts +5 -0
  640. package/out-tsc/tests/format/dml/select.test.d.ts.map +1 -0
  641. package/out-tsc/tests/format/dml/select.test.js +114 -0
  642. package/out-tsc/tests/format/dml/select.test.js.map +1 -0
  643. package/out-tsc/tests/format/dml/subquery.test.d.ts +5 -0
  644. package/out-tsc/tests/format/dml/subquery.test.d.ts.map +1 -0
  645. package/out-tsc/tests/format/dml/subquery.test.js +221 -0
  646. package/out-tsc/tests/format/dml/subquery.test.js.map +1 -0
  647. package/out-tsc/tests/format/dql/comment.test.d.ts +7 -0
  648. package/out-tsc/tests/format/dql/comment.test.d.ts.map +1 -0
  649. package/out-tsc/tests/format/dql/comment.test.js +279 -0
  650. package/out-tsc/tests/format/dql/comment.test.js.map +1 -0
  651. package/out-tsc/tests/format/dql/cte.test.d.ts +7 -0
  652. package/out-tsc/tests/format/dql/cte.test.d.ts.map +1 -0
  653. package/out-tsc/tests/format/dql/cte.test.js +31 -0
  654. package/out-tsc/tests/format/dql/cte.test.js.map +1 -0
  655. package/out-tsc/tests/format/dql/dql-detail.test.d.ts +5 -0
  656. package/out-tsc/tests/format/dql/dql-detail.test.d.ts.map +1 -0
  657. package/out-tsc/tests/format/dql/dql-detail.test.js +191 -0
  658. package/out-tsc/tests/format/dql/dql-detail.test.js.map +1 -0
  659. package/out-tsc/tests/format/dql/lateral-view.test.d.ts +7 -0
  660. package/out-tsc/tests/format/dql/lateral-view.test.d.ts.map +1 -0
  661. package/out-tsc/tests/format/dql/lateral-view.test.js +34 -0
  662. package/out-tsc/tests/format/dql/lateral-view.test.js.map +1 -0
  663. package/out-tsc/tests/format/dql/pivot.test.d.ts +7 -0
  664. package/out-tsc/tests/format/dql/pivot.test.d.ts.map +1 -0
  665. package/out-tsc/tests/format/dql/pivot.test.js +56 -0
  666. package/out-tsc/tests/format/dql/pivot.test.js.map +1 -0
  667. package/out-tsc/tests/format/dql/window.test.d.ts +7 -0
  668. package/out-tsc/tests/format/dql/window.test.d.ts.map +1 -0
  669. package/out-tsc/tests/format/dql/window.test.js +89 -0
  670. package/out-tsc/tests/format/dql/window.test.js.map +1 -0
  671. package/out-tsc/tests/format/expression/expression.test.d.ts +5 -0
  672. package/out-tsc/tests/format/expression/expression.test.d.ts.map +1 -0
  673. package/out-tsc/tests/format/expression/expression.test.js +203 -0
  674. package/out-tsc/tests/format/expression/expression.test.js.map +1 -0
  675. package/out-tsc/tests/format/pipe/pipe-operator.test.d.ts +5 -0
  676. package/out-tsc/tests/format/pipe/pipe-operator.test.d.ts.map +1 -0
  677. package/out-tsc/tests/format/pipe/pipe-operator.test.js +290 -0
  678. package/out-tsc/tests/format/pipe/pipe-operator.test.js.map +1 -0
  679. package/out-tsc/tests/format/procedure/compound-statement.test.d.ts +16 -0
  680. package/out-tsc/tests/format/procedure/compound-statement.test.d.ts.map +1 -0
  681. package/out-tsc/tests/format/procedure/compound-statement.test.js +254 -0
  682. package/out-tsc/tests/format/procedure/compound-statement.test.js.map +1 -0
  683. package/out-tsc/tests/format/resource/resource.test.d.ts +5 -0
  684. package/out-tsc/tests/format/resource/resource.test.d.ts.map +1 -0
  685. package/out-tsc/tests/format/resource/resource.test.js +69 -0
  686. package/out-tsc/tests/format/resource/resource.test.js.map +1 -0
  687. package/out-tsc/tests/format/test-utils.d.ts +40 -0
  688. package/out-tsc/tests/format/test-utils.d.ts.map +1 -0
  689. package/out-tsc/tests/format/test-utils.js +53 -0
  690. package/out-tsc/tests/format/test-utils.js.map +1 -0
  691. package/out-tsc/tests/lsp-server.test.d.ts +2 -0
  692. package/out-tsc/tests/lsp-server.test.d.ts.map +1 -0
  693. package/out-tsc/tests/lsp-server.test.js +1525 -0
  694. package/out-tsc/tests/lsp-server.test.js.map +1 -0
  695. package/out-tsc/tests/spark-sql-inputs.test.d.ts +17 -0
  696. package/out-tsc/tests/spark-sql-inputs.test.d.ts.map +1 -0
  697. package/out-tsc/tests/spark-sql-inputs.test.js +570 -0
  698. package/out-tsc/tests/spark-sql-inputs.test.js.map +1 -0
  699. package/out-tsc/tests/validation.test.d.ts +2 -0
  700. package/out-tsc/tests/validation.test.d.ts.map +1 -0
  701. package/out-tsc/tests/validation.test.js +115 -0
  702. package/out-tsc/tests/validation.test.js.map +1 -0
  703. package/out-tsc/typings.d.ts +115 -1
  704. package/out-tsc/typings.d.ts.map +1 -0
  705. package/out-tsc/typings.js +28 -0
  706. package/out-tsc/typings.js.map +1 -1
  707. package/out-tsc/utils.d.ts +1 -0
  708. package/out-tsc/utils.d.ts.map +1 -0
  709. package/out-tsc/utils.js +4 -5
  710. package/out-tsc/utils.js.map +1 -1
  711. package/out-tsc/visitors/completion.visitor.d.ts +85 -0
  712. package/out-tsc/visitors/completion.visitor.d.ts.map +1 -0
  713. package/out-tsc/visitors/completion.visitor.js +379 -0
  714. package/out-tsc/visitors/completion.visitor.js.map +1 -0
  715. package/out-tsc/visitors/lineage.visitor.d.ts +34 -0
  716. package/out-tsc/visitors/lineage.visitor.d.ts.map +1 -0
  717. package/out-tsc/visitors/lineage.visitor.js +181 -0
  718. package/out-tsc/visitors/lineage.visitor.js.map +1 -0
  719. package/out-tsc/visitors/space-replacer-format.visitor.d.ts +1641 -0
  720. package/out-tsc/visitors/space-replacer-format.visitor.d.ts.map +1 -0
  721. package/out-tsc/visitors/space-replacer-format.visitor.js +7529 -0
  722. package/out-tsc/visitors/space-replacer-format.visitor.js.map +1 -0
  723. package/out-tsc/visitors/sparksql-relation.visitor.d.ts +154 -0
  724. package/out-tsc/visitors/sparksql-relation.visitor.d.ts.map +1 -0
  725. package/out-tsc/visitors/sparksql-relation.visitor.js +749 -0
  726. package/out-tsc/visitors/sparksql-relation.visitor.js.map +1 -0
  727. package/package.json +36 -9
  728. package/out-tsc/constant.d.ts +0 -3
  729. package/out-tsc/constant.js +0 -7
  730. package/out-tsc/constant.js.map +0 -1
  731. package/out-tsc/lib/SparkSqlLexer.d.ts +0 -421
  732. package/out-tsc/lib/SparkSqlLexer.js +0 -2750
  733. package/out-tsc/lib/SparkSqlLexer.js.map +0 -1
  734. package/out-tsc/lib/SparkSqlParser.d.ts +0 -6203
  735. package/out-tsc/lib/SparkSqlParser.js +0 -34733
  736. package/out-tsc/lib/SparkSqlParser.js.map +0 -1
  737. package/out-tsc/lib/SparkSqlParserListener.d.ts +0 -1158
  738. package/out-tsc/lib/SparkSqlParserListener.js.map +0 -1
  739. package/out-tsc/lib/SparkSqlParserVisitor.d.ts +0 -773
  740. package/out-tsc/lib/SparkSqlParserVisitor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"statement.listener.js","sourceRoot":"","sources":["../../src/listeners/statement.listener.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2DAA6C;AAM7C,MAAa,iBAAiB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAFlC,WAAM,GAAgB,EAAE,CAAC;IAEY,CAAC;IAE9C,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,GAA+B;QACtD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACrF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC5B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAC9C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CACrC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AAlBD,8CAkBC"}
1
+ {"version":3,"file":"statement.listener.js","sourceRoot":"","sources":["../../src/listeners/statement.listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import * as lsp from 'vscode-languageserver';
2
+ import { TextDocument } from 'vscode-languageserver-textdocument';
3
+ import { CreateTableContext, CreateViewContext, FromClauseContext, InsertIntoTableContext, JoinRelationContext, QueryContext, RelationContext, SetOperationContext, WhereClauseContext, AggregationClauseContext } from '../lib/SparkSQLParser';
4
+ import { SparkSQLParserListener } from '../lib/SparkSQLParserListener';
5
+ export declare enum StructureNodeTypeEnum {
6
+ SINK = "sink",
7
+ SINK_DB = "sink_db",
8
+ SOURCE = "source",
9
+ SOURCE_DB = "source_db",
10
+ DIM = "dim",
11
+ SNAPSHOT = "snapshot",
12
+ VIEW = "view",
13
+ SELECT = "select",
14
+ FILTER = "filter",
15
+ GROUP = "group",
16
+ UNION = "union",
17
+ EXCEPT = "except",
18
+ INTERSECT = "intersect",
19
+ JOIN = "join",
20
+ TOP_N = "top_n",
21
+ CORRELATE = "correlate",
22
+ UD_TF = "ud_tf",
23
+ CEP = "cep"
24
+ }
25
+ export interface StructureNodeEdge {
26
+ from: number;
27
+ to: number;
28
+ }
29
+ export interface StructureNodeData {
30
+ id: number;
31
+ name: string;
32
+ type: StructureNodeTypeEnum;
33
+ range: lsp.Range;
34
+ }
35
+ export interface StructureResult {
36
+ nodes: StructureNodeData[];
37
+ edges: StructureNodeEdge[];
38
+ }
39
+ export declare class SparkStructureListener implements SparkSQLParserListener {
40
+ private document;
41
+ private nodes;
42
+ private edges;
43
+ private id;
44
+ private originalText;
45
+ constructor(document: TextDocument);
46
+ private getId;
47
+ private addStructureNode;
48
+ getNodes(): StructureNodeData[];
49
+ getEdges(): StructureNodeEdge[];
50
+ enterInsertIntoTable(ctx: InsertIntoTableContext): void;
51
+ enterQuery(ctx: QueryContext): void;
52
+ enterWhereClause(ctx: WhereClauseContext): void;
53
+ enterAggregationClause(ctx: AggregationClauseContext): void;
54
+ enterSetOperation(ctx: SetOperationContext): void;
55
+ enterJoinRelation(ctx: JoinRelationContext): void;
56
+ enterRelation(ctx: RelationContext): void;
57
+ enterFromClause(_ctx: FromClauseContext): void;
58
+ enterCreateTable(ctx: CreateTableContext): void;
59
+ enterCreateView(ctx: CreateViewContext): void;
60
+ }
61
+ export declare function ignoreInsertSource(nodes: StructureNodeData[], edges: StructureNodeEdge[]): {
62
+ nodes: StructureNodeData[];
63
+ edges: StructureNodeEdge[];
64
+ };
65
+ export declare function addFromCreateContext(nodes: StructureNodeData[], edges: StructureNodeEdge[]): {
66
+ nodes: StructureNodeData[];
67
+ edges: StructureNodeEdge[];
68
+ };
69
+ export declare function removeEdgesByNodeId(ids: number[], edges: StructureNodeEdge[]): StructureNodeEdge[];
70
+ //# sourceMappingURL=structure.listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.listener.d.ts","sourceRoot":"","sources":["../../src/listeners/structure.listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SparkStructureListener = exports.StructureNodeTypeEnum = void 0;
37
+ exports.ignoreInsertSource = ignoreInsertSource;
38
+ exports.addFromCreateContext = addFromCreateContext;
39
+ exports.removeEdgesByNodeId = removeEdgesByNodeId;
40
+ const lsp = __importStar(require("vscode-languageserver"));
41
+ const protocol_translation_1 = require("../protocol-translation");
42
+ const utils_1 = require("../utils");
43
+ var StructureNodeTypeEnum;
44
+ (function (StructureNodeTypeEnum) {
45
+ StructureNodeTypeEnum["SINK"] = "sink";
46
+ StructureNodeTypeEnum["SINK_DB"] = "sink_db";
47
+ StructureNodeTypeEnum["SOURCE"] = "source";
48
+ StructureNodeTypeEnum["SOURCE_DB"] = "source_db";
49
+ StructureNodeTypeEnum["DIM"] = "dim";
50
+ StructureNodeTypeEnum["SNAPSHOT"] = "snapshot";
51
+ StructureNodeTypeEnum["VIEW"] = "view";
52
+ StructureNodeTypeEnum["SELECT"] = "select";
53
+ StructureNodeTypeEnum["FILTER"] = "filter";
54
+ StructureNodeTypeEnum["GROUP"] = "group";
55
+ StructureNodeTypeEnum["UNION"] = "union";
56
+ StructureNodeTypeEnum["EXCEPT"] = "except";
57
+ StructureNodeTypeEnum["INTERSECT"] = "intersect";
58
+ StructureNodeTypeEnum["JOIN"] = "join";
59
+ StructureNodeTypeEnum["TOP_N"] = "top_n";
60
+ StructureNodeTypeEnum["CORRELATE"] = "correlate";
61
+ StructureNodeTypeEnum["UD_TF"] = "ud_tf";
62
+ StructureNodeTypeEnum["CEP"] = "cep";
63
+ })(StructureNodeTypeEnum || (exports.StructureNodeTypeEnum = StructureNodeTypeEnum = {}));
64
+ class SparkStructureListener {
65
+ constructor(document) {
66
+ this.document = document;
67
+ this.nodes = [];
68
+ this.edges = [];
69
+ this.id = 0;
70
+ this.originalText = document.getText();
71
+ }
72
+ getId() {
73
+ this.id++;
74
+ return this.id;
75
+ }
76
+ addStructureNode(ctx, type, customName) {
77
+ if (!ctx.stop) {
78
+ return;
79
+ }
80
+ const range = lsp.Range.create(this.document.positionAt(ctx.start.startIndex), this.document.positionAt(ctx.stop.stopIndex + 1));
81
+ const newNode = {
82
+ id: this.getId(),
83
+ name: customName ?? this.document.getText(range).trim(),
84
+ type,
85
+ range
86
+ };
87
+ // add respective edges
88
+ this.nodes.forEach(node => {
89
+ if ((0, protocol_translation_1.rangeInRange)(this.document, node.range, newNode.range)) {
90
+ const distance = (0, protocol_translation_1.rangeDistance)(this.document, node.range, newNode.range);
91
+ const existingEdges = this.edges.filter(e => e.to === newNode.id);
92
+ if (existingEdges.length === 0) {
93
+ this.edges.push({ from: node.id, to: newNode.id, distance });
94
+ }
95
+ else {
96
+ let minDistance = Infinity;
97
+ let directEdge;
98
+ existingEdges.forEach(edge => {
99
+ if (distance < edge.distance && minDistance > edge.distance) {
100
+ minDistance = edge.distance;
101
+ directEdge = edge;
102
+ }
103
+ });
104
+ if (directEdge) {
105
+ const index = this.edges.findIndex(e => e === directEdge);
106
+ this.edges.splice(index, 1);
107
+ this.edges.push({ from: node.id, to: newNode.id, distance });
108
+ }
109
+ }
110
+ }
111
+ });
112
+ // push the new node itself to the list
113
+ this.nodes.push(newNode);
114
+ }
115
+ getNodes() {
116
+ return this.nodes;
117
+ }
118
+ getEdges() {
119
+ return this.edges.map(edge => ({
120
+ from: edge.from,
121
+ to: edge.to
122
+ }));
123
+ }
124
+ enterInsertIntoTable(ctx) {
125
+ this.addStructureNode(ctx, StructureNodeTypeEnum.SINK);
126
+ }
127
+ enterQuery(ctx) {
128
+ this.addStructureNode(ctx, StructureNodeTypeEnum.SELECT);
129
+ }
130
+ enterWhereClause(ctx) {
131
+ this.addStructureNode(ctx, StructureNodeTypeEnum.FILTER);
132
+ }
133
+ enterAggregationClause(ctx) {
134
+ this.addStructureNode(ctx, StructureNodeTypeEnum.GROUP);
135
+ }
136
+ enterSetOperation(ctx) {
137
+ const operator = ctx._operator;
138
+ if (operator) {
139
+ const text = operator.text?.toUpperCase();
140
+ if (text === 'UNION') {
141
+ this.addStructureNode(ctx, StructureNodeTypeEnum.UNION);
142
+ }
143
+ else if (text === 'INTERSECT') {
144
+ this.addStructureNode(ctx, StructureNodeTypeEnum.INTERSECT);
145
+ }
146
+ else if (text === 'EXCEPT' || text === 'MINUS') {
147
+ this.addStructureNode(ctx, StructureNodeTypeEnum.EXCEPT);
148
+ }
149
+ }
150
+ }
151
+ enterJoinRelation(ctx) {
152
+ this.addStructureNode(ctx, StructureNodeTypeEnum.JOIN);
153
+ }
154
+ enterRelation(ctx) {
155
+ this.addStructureNode(ctx, StructureNodeTypeEnum.SOURCE);
156
+ }
157
+ enterFromClause(_ctx) {
158
+ // From clause contains source tables
159
+ }
160
+ enterCreateTable(ctx) {
161
+ this.addStructureNode(ctx, StructureNodeTypeEnum.SINK);
162
+ }
163
+ enterCreateView(ctx) {
164
+ const viewName = ctx.identifierReference()?.text || 'view';
165
+ this.addStructureNode(ctx, StructureNodeTypeEnum.VIEW, viewName.trim());
166
+ }
167
+ }
168
+ exports.SparkStructureListener = SparkStructureListener;
169
+ function ignoreInsertSource(nodes, edges) {
170
+ for (let i = 0; i < edges.length; i++) {
171
+ const edge = edges[i];
172
+ const fromNode = nodes.find(node => node.id === edge.from);
173
+ const toNode = nodes.find(node => node.id === edge.to);
174
+ if (!fromNode || !toNode) {
175
+ return { nodes, edges };
176
+ }
177
+ if (fromNode.type === StructureNodeTypeEnum.SINK && toNode.type === StructureNodeTypeEnum.SOURCE) {
178
+ const newEdges = [...edges];
179
+ newEdges.splice(i, 1);
180
+ return { edges: newEdges, nodes: nodes.filter(n => n.id !== toNode.id) };
181
+ }
182
+ }
183
+ return { nodes, edges };
184
+ }
185
+ function addFromCreateContext(nodes, edges) {
186
+ const viewNodes = nodes.filter(node => node.type === StructureNodeTypeEnum.VIEW);
187
+ if (viewNodes.length > 0) {
188
+ nodes.forEach(node => {
189
+ if (node.type === StructureNodeTypeEnum.SOURCE) {
190
+ const matchedViewNode = viewNodes.find(view => view.name === node.name);
191
+ if (matchedViewNode) {
192
+ const sourceEdge = edges.find(edge => edge.to === node.id);
193
+ if (sourceEdge) {
194
+ const newEdge = {
195
+ from: sourceEdge.from,
196
+ to: matchedViewNode.id
197
+ };
198
+ (0, utils_1.removeElement)(node, nodes);
199
+ edges = removeEdgesByNodeId([node.id], [...edges]);
200
+ edges.push(newEdge);
201
+ }
202
+ }
203
+ }
204
+ });
205
+ }
206
+ return { nodes, edges };
207
+ }
208
+ function removeEdgesByNodeId(ids, edges) {
209
+ return edges.filter(edge => !ids.includes(edge.to) && !ids.includes(edge.from));
210
+ }
211
+ //# sourceMappingURL=structure.listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.listener.js","sourceRoot":"","sources":["../../src/listeners/structure.listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import * as lsp from 'vscode-languageserver';
2
+ import { TextDocument } from 'vscode-languageserver-textdocument';
3
+ import { FunctionNameContext, IdentifierContext, MultipartIdentifierContext, ConstantContext } from '../lib/SparkSQLParser';
4
+ import { SparkSQLParserListener } from '../lib/SparkSQLParserListener';
5
+ export interface BaseToken {
6
+ name: string;
7
+ range: lsp.Range;
8
+ }
9
+ export interface StringToken extends BaseToken {
10
+ type: 'string';
11
+ }
12
+ export interface SemanticToken extends BaseToken {
13
+ type: 'function' | 'column' | 'table' | 'database' | 'catalog' | 'view';
14
+ }
15
+ export declare class TokensCollectorListener implements SparkSQLParserListener {
16
+ private document;
17
+ private semanticTokens;
18
+ private stringTokens;
19
+ constructor(document: TextDocument);
20
+ getSemanticTokens(): SemanticToken[];
21
+ getStringTokens(): StringToken[];
22
+ enterConstant(ctx: ConstantContext): void;
23
+ enterMultipartIdentifier(ctx: MultipartIdentifierContext): void;
24
+ enterIdentifier(ctx: IdentifierContext): void;
25
+ enterFunctionName(ctx: FunctionNameContext): void;
26
+ }
27
+ //# sourceMappingURL=tokens-collector.listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-collector.listener.d.ts","sourceRoot":"","sources":["../../src/listeners/tokens-collector.listener.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACzE;AAED,qBAAa,uBAAwB,YAAW,sBAAsB;IAIxD,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAqB;gBAErB,QAAQ,EAAE,YAAY;IAE1C,iBAAiB,IAAI,aAAa,EAAE;IAIpC,eAAe,IAAI,WAAW,EAAE;IAIhC,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAgBzC,wBAAwB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI;IAiB/D,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAgB7C,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;CAYlD"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TokensCollectorListener = void 0;
37
+ /* --------------------------------------------------------------------------------------------
38
+ * Copyright (c) Microsoft Corporation. All rights reserved.
39
+ * Licensed under the MIT License. See License.txt in the project root for license information.
40
+ * ------------------------------------------------------------------------------------------ */
41
+ const lsp = __importStar(require("vscode-languageserver"));
42
+ class TokensCollectorListener {
43
+ constructor(document) {
44
+ this.document = document;
45
+ this.semanticTokens = [];
46
+ this.stringTokens = [];
47
+ }
48
+ getSemanticTokens() {
49
+ return this.semanticTokens;
50
+ }
51
+ getStringTokens() {
52
+ return this.stringTokens;
53
+ }
54
+ enterConstant(ctx) {
55
+ // Check if it's a string literal
56
+ if (ctx.text.startsWith("'") || ctx.text.startsWith('"')) {
57
+ if (ctx.stop) {
58
+ this.stringTokens.push({
59
+ name: ctx.text,
60
+ range: lsp.Range.create(this.document.positionAt(ctx.start.startIndex), this.document.positionAt(ctx.stop.stopIndex + 1)),
61
+ type: 'string'
62
+ });
63
+ }
64
+ }
65
+ }
66
+ enterMultipartIdentifier(ctx) {
67
+ if (ctx.stop && ctx.parent) {
68
+ const parentRuleName = ctx.parent.constructor.name;
69
+ // Determine type based on parent context
70
+ if (parentRuleName.includes('Table') || parentRuleName.includes('Relation') || parentRuleName.includes('From')) {
71
+ this.semanticTokens.push({
72
+ name: ctx.text,
73
+ range: lsp.Range.create(this.document.positionAt(ctx.start.startIndex), this.document.positionAt(ctx.stop.stopIndex + 1)),
74
+ type: 'table'
75
+ });
76
+ }
77
+ }
78
+ }
79
+ enterIdentifier(ctx) {
80
+ if (ctx.stop && ctx.parent) {
81
+ const parentRuleName = ctx.parent.constructor.name;
82
+ if (parentRuleName.includes('Column') || parentRuleName === 'NamedExpressionContext') {
83
+ this.semanticTokens.push({
84
+ name: ctx.text,
85
+ range: lsp.Range.create(this.document.positionAt(ctx.start.startIndex), this.document.positionAt(ctx.stop.stopIndex + 1)),
86
+ type: 'column'
87
+ });
88
+ }
89
+ }
90
+ }
91
+ enterFunctionName(ctx) {
92
+ if (ctx.stop) {
93
+ this.semanticTokens.push({
94
+ name: ctx.text,
95
+ range: lsp.Range.create(this.document.positionAt(ctx.start.startIndex), this.document.positionAt(ctx.stop.stopIndex + 1)),
96
+ type: 'function'
97
+ });
98
+ }
99
+ }
100
+ }
101
+ exports.TokensCollectorListener = TokensCollectorListener;
102
+ //# sourceMappingURL=tokens-collector.listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-collector.listener.js","sourceRoot":"","sources":["../../src/listeners/tokens-collector.listener.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,90 @@
1
- import { Token } from 'antlr4ts/Token';
1
+ import { Token } from 'antlr4ts';
2
2
  import * as lsp from 'vscode-languageserver';
3
- import { CompletionItem, Diagnostic } from 'vscode-languageserver';
4
- import { Position, TextDocument, TextEdit } from 'vscode-languageserver-textdocument';
3
+ import { Range, TextDocument, TextEdit } from 'vscode-languageserver-textdocument';
4
+ import { Lineage, LineageOptions } from './lineage.typing';
5
+ import { StructureResult } from './listeners/structure.listener';
6
+ import { SemanticToken } from './listeners/tokens-collector.listener';
5
7
  import { ParsingWarehouse } from './parsing-warehouse';
6
8
  import { SchemaRegistry } from './schema-registry';
9
+ import { type FoldingOptions, type TokenCollection, type StructureCommandOptions, type SparkSQLFormattingOptions, type FormattingResult } from './typings';
7
10
  export declare class LSPServer {
8
11
  private readonly _warehouse;
9
12
  private readonly _schemaRegistry;
13
+ private _builtInFunctionItems;
14
+ private _foldingCache;
10
15
  constructor();
11
16
  get warehouse(): ParsingWarehouse;
12
17
  get schemaRegistry(): SchemaRegistry;
13
- doValidation(document: TextDocument): Diagnostic[];
14
- doCompletion(document: TextDocument, position: Position): CompletionItem[];
15
- doFormatting(document: TextDocument, _options: lsp.FormattingOptions): TextEdit[];
16
- doFoldingRanges(document: TextDocument): lsp.FoldingRange[];
18
+ /**
19
+ * Get cached built-in function completion items
20
+ */
21
+ private getBuiltInFunctionItems;
17
22
  getTokenByPosition(document: TextDocument, position: lsp.Position): Token | undefined;
18
- private getSemicolonRange;
23
+ doValidation(document: TextDocument): lsp.Diagnostic[];
24
+ doFormatting(document: TextDocument, options: SparkSQLFormattingOptions): TextEdit[];
25
+ doFormatting(document: TextDocument, options: SparkSQLFormattingOptions, returnResult: true): FormattingResult;
26
+ /**
27
+ * Format with a specific formatter configuration (legacy or strategy)
28
+ * Used for comparing formatter outputs in playground
29
+ */
30
+ doFormattingWithConfig(document: TextDocument, options: SparkSQLFormattingOptions, config: {
31
+ type: 'legacy' | 'strategy';
32
+ }): FormattingResult;
33
+ /**
34
+ * Fallback formatting: split document by semicolons and format each statement independently
35
+ * This is used when the primary formatting fails due to parse errors
36
+ * IMPORTANT: Preserves original separators (blank lines and comments) between statements
37
+ */
38
+ private doStatementByStatementFormatting;
39
+ /**
40
+ * Split lines into statement segments and separator segments
41
+ * Statement segments contain SQL statements (ending with semicolon)
42
+ * Separator segments contain blank lines and comments between statements
43
+ *
44
+ * NOTE: This method does NOT normalize separators anymore
45
+ * Normalization is done later via normalizeBlankLinesInEdits
46
+ */
47
+ private splitIntoStatementSegments;
48
+ /**
49
+ * Normalize separator lines (blank lines + comments between statements)
50
+ * NOTE: This method is no longer used as normalization is done via normalizeBlankLinesInEdits
51
+ * Kept for potential future use
52
+ */
53
+ private normalizeSeparator;
54
+ /**
55
+ * Normalize blank lines in the formatted result
56
+ * This is a simplified safe version that works on text directly
57
+ * Rules:
58
+ * - Remove excessive consecutive blank lines (2+ become 1)
59
+ * - Preserves comments and statement structure
60
+ */
61
+ private normalizeBlankLinesInEdits;
62
+ /**
63
+ * Determine if we should use fallback formatting
64
+ * Criteria: Parse errors exist and the coverage is below 60%
65
+ */
66
+ private shouldUseFallbackFormatting;
67
+ doFoldingRanges(document: TextDocument, options?: FoldingOptions): lsp.FoldingRange[];
68
+ /**
69
+ * 清除指定文档的折叠缓存
70
+ * 清除所有与该文档 URI 相关的缓存(包括不同 options)
71
+ */
72
+ clearFoldingCache(uri: string): void;
73
+ /**
74
+ * 简单文本哈希算法
75
+ */
76
+ private _hashText;
77
+ doReferences(document: TextDocument, position: lsp.Position, skipSelf?: boolean): lsp.Range[];
78
+ doCompletion(document: TextDocument, position: lsp.Position): {
79
+ completionItems: lsp.CompletionItem[];
80
+ identifiers: string[];
81
+ };
82
+ parseStructure(document: TextDocument, options?: StructureCommandOptions): StructureResult;
83
+ collectTokens(document: TextDocument, range?: Range): TokenCollection;
84
+ /**
85
+ * Lineage
86
+ */
87
+ getLineage(document: TextDocument, options?: LineageOptions): Lineage;
19
88
  }
89
+ export declare function isSemanticTokenReference(token1: SemanticToken, token2: SemanticToken): boolean;
90
+ //# sourceMappingURL=lsp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp-server.d.ts","sourceRoot":"","sources":["../src/lsp-server.ts"],"names":[],"mappings":"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"}