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.
- package/out/sparksql-server-worker.js +1 -1
- package/out/sparksql-server-worker.js.map +1 -1
- package/out-tsc/assets/built-in-functions.d.ts +2 -0
- package/out-tsc/assets/built-in-functions.d.ts.map +1 -0
- package/out-tsc/assets/built-in-functions.js +4 -2
- package/out-tsc/assets/built-in-functions.js.map +1 -1
- package/out-tsc/completion-parser.d.ts +11 -0
- package/out-tsc/completion-parser.d.ts.map +1 -0
- package/out-tsc/completion-parser.js +148 -0
- package/out-tsc/completion-parser.js.map +1 -0
- package/out-tsc/constants.d.ts +9 -0
- package/out-tsc/constants.d.ts.map +1 -0
- package/out-tsc/constants.js +12 -0
- package/out-tsc/constants.js.map +1 -0
- package/out-tsc/cursor.d.ts +10 -0
- package/out-tsc/cursor.d.ts.map +1 -0
- package/out-tsc/cursor.js +3 -0
- package/out-tsc/cursor.js.map +1 -1
- package/out-tsc/execute-command.d.ts +7 -0
- package/out-tsc/execute-command.d.ts.map +1 -0
- package/out-tsc/execute-command.js +78 -0
- package/out-tsc/execute-command.js.map +1 -0
- package/out-tsc/execute-commands.d.ts +1 -0
- package/out-tsc/execute-commands.d.ts.map +1 -0
- package/out-tsc/execute-commands.js +3 -4
- package/out-tsc/execute-commands.js.map +1 -1
- package/out-tsc/formatter/boundary-writer.d.ts +30 -0
- package/out-tsc/formatter/boundary-writer.d.ts.map +1 -0
- package/out-tsc/formatter/boundary-writer.js +47 -0
- package/out-tsc/formatter/boundary-writer.js.map +1 -0
- package/out-tsc/formatter/core/comment-helper.d.ts +11 -0
- package/out-tsc/formatter/core/comment-helper.d.ts.map +1 -0
- package/out-tsc/formatter/core/comment-helper.js +139 -0
- package/out-tsc/formatter/core/comment-helper.js.map +1 -0
- package/out-tsc/formatter/core/edit-collector.d.ts +110 -0
- package/out-tsc/formatter/core/edit-collector.d.ts.map +1 -0
- package/out-tsc/formatter/core/edit-collector.js +159 -0
- package/out-tsc/formatter/core/edit-collector.js.map +1 -0
- package/out-tsc/formatter/core/formatting-context.d.ts +183 -0
- package/out-tsc/formatter/core/formatting-context.d.ts.map +1 -0
- package/out-tsc/formatter/core/formatting-context.js +294 -0
- package/out-tsc/formatter/core/formatting-context.js.map +1 -0
- package/out-tsc/formatter/core/index.d.ts +25 -0
- package/out-tsc/formatter/core/index.d.ts.map +1 -0
- package/out-tsc/formatter/core/index.js +57 -0
- package/out-tsc/formatter/core/index.js.map +1 -0
- package/out-tsc/formatter/core/pipeline/formatting-pipeline.d.ts +116 -0
- package/out-tsc/formatter/core/pipeline/formatting-pipeline.d.ts.map +1 -0
- package/out-tsc/formatter/core/pipeline/formatting-pipeline.js +237 -0
- package/out-tsc/formatter/core/pipeline/formatting-pipeline.js.map +1 -0
- package/out-tsc/formatter/core/pipeline/index.d.ts +12 -0
- package/out-tsc/formatter/core/pipeline/index.d.ts.map +1 -0
- package/out-tsc/formatter/core/pipeline/index.js +19 -0
- package/out-tsc/formatter/core/pipeline/index.js.map +1 -0
- package/out-tsc/formatter/core/pipeline/statement-separation.d.ts +5 -0
- package/out-tsc/formatter/core/pipeline/statement-separation.d.ts.map +1 -0
- package/out-tsc/formatter/core/pipeline/statement-separation.js +149 -0
- package/out-tsc/formatter/core/pipeline/statement-separation.js.map +1 -0
- package/out-tsc/formatter/core/rules/index.d.ts +11 -0
- package/out-tsc/formatter/core/rules/index.d.ts.map +1 -0
- package/out-tsc/formatter/core/rules/index.js +29 -0
- package/out-tsc/formatter/core/rules/index.js.map +1 -0
- package/out-tsc/formatter/core/rules/newline-rules.d.ts +169 -0
- package/out-tsc/formatter/core/rules/newline-rules.d.ts.map +1 -0
- package/out-tsc/formatter/core/rules/newline-rules.js +246 -0
- package/out-tsc/formatter/core/rules/newline-rules.js.map +1 -0
- package/out-tsc/formatter/core/rules/spacing-rules.d.ts +150 -0
- package/out-tsc/formatter/core/rules/spacing-rules.d.ts.map +1 -0
- package/out-tsc/formatter/core/rules/spacing-rules.js +219 -0
- package/out-tsc/formatter/core/rules/spacing-rules.js.map +1 -0
- package/out-tsc/formatter/core/strategy-bridge.d.ts +56 -0
- package/out-tsc/formatter/core/strategy-bridge.d.ts.map +1 -0
- package/out-tsc/formatter/core/strategy-bridge.js +159 -0
- package/out-tsc/formatter/core/strategy-bridge.js.map +1 -0
- package/out-tsc/formatter/core/strategy-interface.d.ts +123 -0
- package/out-tsc/formatter/core/strategy-interface.d.ts.map +1 -0
- package/out-tsc/formatter/core/strategy-interface.js +83 -0
- package/out-tsc/formatter/core/strategy-interface.js.map +1 -0
- package/out-tsc/formatter/core/token-helper.d.ts +12 -0
- package/out-tsc/formatter/core/token-helper.d.ts.map +1 -0
- package/out-tsc/formatter/core/token-helper.js +79 -0
- package/out-tsc/formatter/core/token-helper.js.map +1 -0
- package/out-tsc/formatter/core/unicode-utils.d.ts +107 -0
- package/out-tsc/formatter/core/unicode-utils.d.ts.map +1 -0
- package/out-tsc/formatter/core/unicode-utils.js +181 -0
- package/out-tsc/formatter/core/unicode-utils.js.map +1 -0
- package/out-tsc/formatter/core/whitespace-writer.d.ts +20 -0
- package/out-tsc/formatter/core/whitespace-writer.d.ts.map +1 -0
- package/out-tsc/formatter/core/whitespace-writer.js +86 -0
- package/out-tsc/formatter/core/whitespace-writer.js.map +1 -0
- package/out-tsc/formatter/formatter-adapter.d.ts +56 -0
- package/out-tsc/formatter/formatter-adapter.d.ts.map +1 -0
- package/out-tsc/formatter/formatter-adapter.js +719 -0
- package/out-tsc/formatter/formatter-adapter.js.map +1 -0
- package/out-tsc/formatter/index.d.ts +16 -0
- package/out-tsc/formatter/index.d.ts.map +1 -0
- package/out-tsc/formatter/index.js +43 -0
- package/out-tsc/formatter/index.js.map +1 -0
- package/out-tsc/formatter/pipe-step-classifier.d.ts +9 -0
- package/out-tsc/formatter/pipe-step-classifier.d.ts.map +1 -0
- package/out-tsc/formatter/pipe-step-classifier.js +49 -0
- package/out-tsc/formatter/pipe-step-classifier.js.map +1 -0
- package/out-tsc/formatter/state.d.ts +10 -0
- package/out-tsc/formatter/state.d.ts.map +1 -0
- package/out-tsc/formatter/state.js +12 -0
- package/out-tsc/formatter/state.js.map +1 -0
- package/out-tsc/formatter/strategies/block.strategy.d.ts +191 -0
- package/out-tsc/formatter/strategies/block.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/block.strategy.js +238 -0
- package/out-tsc/formatter/strategies/block.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/clause-head-body.strategy.d.ts +17 -0
- package/out-tsc/formatter/strategies/clause-head-body.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/clause-head-body.strategy.js +13 -0
- package/out-tsc/formatter/strategies/clause-head-body.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.d.ts +68 -0
- package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.js +242 -0
- package/out-tsc/formatter/strategies/ddl/alter-table-extended.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/alter-table.strategy.d.ts +146 -0
- package/out-tsc/formatter/strategies/ddl/alter-table.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/alter-table.strategy.js +578 -0
- package/out-tsc/formatter/strategies/ddl/alter-table.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/create-table.strategy.d.ts +103 -0
- package/out-tsc/formatter/strategies/ddl/create-table.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/create-table.strategy.js +659 -0
- package/out-tsc/formatter/strategies/ddl/create-table.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.d.ts +64 -0
- package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.js +402 -0
- package/out-tsc/formatter/strategies/ddl/create-view-function.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.d.ts +119 -0
- package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.js +863 -0
- package/out-tsc/formatter/strategies/ddl/drop-utility.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/index.d.ts +17 -0
- package/out-tsc/formatter/strategies/ddl/index.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/index.js +57 -0
- package/out-tsc/formatter/strategies/ddl/index.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.d.ts +26 -0
- package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.js +77 -0
- package/out-tsc/formatter/strategies/ddl/namespace-catalog.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/pipeline.strategy.d.ts +99 -0
- package/out-tsc/formatter/strategies/ddl/pipeline.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/pipeline.strategy.js +385 -0
- package/out-tsc/formatter/strategies/ddl/pipeline.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.d.ts +48 -0
- package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.js +145 -0
- package/out-tsc/formatter/strategies/ddl/set-reset-config.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/ddl/show-utility.strategy.d.ts +71 -0
- package/out-tsc/formatter/strategies/ddl/show-utility.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/ddl/show-utility.strategy.js +196 -0
- package/out-tsc/formatter/strategies/ddl/show-utility.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/dml/index.d.ts +10 -0
- package/out-tsc/formatter/strategies/dml/index.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/dml/index.js +35 -0
- package/out-tsc/formatter/strategies/dml/index.js.map +1 -0
- package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.d.ts +113 -0
- package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.js +438 -0
- package/out-tsc/formatter/strategies/dml/insert-update-delete.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/dml/select-clause.strategy.d.ts +76 -0
- package/out-tsc/formatter/strategies/dml/select-clause.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/dml/select-clause.strategy.js +480 -0
- package/out-tsc/formatter/strategies/dml/select-clause.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/expression/function-call.strategy.d.ts +50 -0
- package/out-tsc/formatter/strategies/expression/function-call.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/expression/function-call.strategy.js +319 -0
- package/out-tsc/formatter/strategies/expression/function-call.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/expression/index.d.ts +18 -0
- package/out-tsc/formatter/strategies/expression/index.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/expression/index.js +51 -0
- package/out-tsc/formatter/strategies/expression/index.js.map +1 -0
- package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.d.ts +55 -0
- package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.js +266 -0
- package/out-tsc/formatter/strategies/expression/logical-comparison.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.d.ts +38 -0
- package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.js +397 -0
- package/out-tsc/formatter/strategies/expression/subquery-parenthesis.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/function-call.strategy.d.ts +80 -0
- package/out-tsc/formatter/strategies/function-call.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/function-call.strategy.js +136 -0
- package/out-tsc/formatter/strategies/function-call.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/index.d.ts +87 -0
- package/out-tsc/formatter/strategies/index.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/index.js +121 -0
- package/out-tsc/formatter/strategies/index.js.map +1 -0
- package/out-tsc/formatter/strategies/join.strategy.d.ts +31 -0
- package/out-tsc/formatter/strategies/join.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/join.strategy.js +29 -0
- package/out-tsc/formatter/strategies/join.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/keyword.strategy.d.ts +82 -0
- package/out-tsc/formatter/strategies/keyword.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/keyword.strategy.js +129 -0
- package/out-tsc/formatter/strategies/keyword.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/list.strategy.d.ts +159 -0
- package/out-tsc/formatter/strategies/list.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/list.strategy.js +193 -0
- package/out-tsc/formatter/strategies/list.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-aggregate.strategy.d.ts +24 -0
- package/out-tsc/formatter/strategies/pipe-aggregate.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-aggregate.strategy.js +47 -0
- package/out-tsc/formatter/strategies/pipe-aggregate.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-drop.strategy.d.ts +21 -0
- package/out-tsc/formatter/strategies/pipe-drop.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-drop.strategy.js +52 -0
- package/out-tsc/formatter/strategies/pipe-drop.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-extend.strategy.d.ts +21 -0
- package/out-tsc/formatter/strategies/pipe-extend.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-extend.strategy.js +45 -0
- package/out-tsc/formatter/strategies/pipe-extend.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-join.strategy.d.ts +22 -0
- package/out-tsc/formatter/strategies/pipe-join.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-join.strategy.js +42 -0
- package/out-tsc/formatter/strategies/pipe-join.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-pivot.strategy.d.ts +7 -0
- package/out-tsc/formatter/strategies/pipe-pivot.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-pivot.strategy.js +34 -0
- package/out-tsc/formatter/strategies/pipe-pivot.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-query-organization.strategy.d.ts +7 -0
- package/out-tsc/formatter/strategies/pipe-query-organization.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-query-organization.strategy.js +14 -0
- package/out-tsc/formatter/strategies/pipe-query-organization.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-sample.strategy.d.ts +7 -0
- package/out-tsc/formatter/strategies/pipe-sample.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-sample.strategy.js +18 -0
- package/out-tsc/formatter/strategies/pipe-sample.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-select.strategy.d.ts +22 -0
- package/out-tsc/formatter/strategies/pipe-select.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-select.strategy.js +51 -0
- package/out-tsc/formatter/strategies/pipe-select.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-set-operation.strategy.d.ts +7 -0
- package/out-tsc/formatter/strategies/pipe-set-operation.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-set-operation.strategy.js +30 -0
- package/out-tsc/formatter/strategies/pipe-set-operation.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-set.strategy.d.ts +21 -0
- package/out-tsc/formatter/strategies/pipe-set.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-set.strategy.js +52 -0
- package/out-tsc/formatter/strategies/pipe-set.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-step.strategy.d.ts +25 -0
- package/out-tsc/formatter/strategies/pipe-step.strategy.d.ts.map +1 -0
- package/out-tsc/{lib/SparkSqlParserVisitor.js → formatter/strategies/pipe-step.strategy.js} +1 -1
- package/out-tsc/formatter/strategies/pipe-step.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-unpivot.strategy.d.ts +7 -0
- package/out-tsc/formatter/strategies/pipe-unpivot.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-unpivot.strategy.js +33 -0
- package/out-tsc/formatter/strategies/pipe-unpivot.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/pipe-where.strategy.d.ts +21 -0
- package/out-tsc/formatter/strategies/pipe-where.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/pipe-where.strategy.js +44 -0
- package/out-tsc/formatter/strategies/pipe-where.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/case-statement.strategy.d.ts +20 -0
- package/out-tsc/formatter/strategies/procedure/case-statement.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/case-statement.strategy.js +132 -0
- package/out-tsc/formatter/strategies/procedure/case-statement.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.d.ts +43 -0
- package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.js +174 -0
- package/out-tsc/formatter/strategies/procedure/compound-statement.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/handler.strategy.d.ts +23 -0
- package/out-tsc/formatter/strategies/procedure/handler.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/handler.strategy.js +81 -0
- package/out-tsc/formatter/strategies/procedure/handler.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/if-else.strategy.d.ts +19 -0
- package/out-tsc/formatter/strategies/procedure/if-else.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/if-else.strategy.js +80 -0
- package/out-tsc/formatter/strategies/procedure/if-else.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/index.d.ts +27 -0
- package/out-tsc/formatter/strategies/procedure/index.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/index.js +63 -0
- package/out-tsc/formatter/strategies/procedure/index.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.d.ts +19 -0
- package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.js +54 -0
- package/out-tsc/formatter/strategies/procedure/leave-iterate.strategy.js.map +1 -0
- package/out-tsc/formatter/strategies/procedure/loop.strategy.d.ts +71 -0
- package/out-tsc/formatter/strategies/procedure/loop.strategy.d.ts.map +1 -0
- package/out-tsc/formatter/strategies/procedure/loop.strategy.js +216 -0
- package/out-tsc/formatter/strategies/procedure/loop.strategy.js.map +1 -0
- package/out-tsc/formatter/strategy-based-formatter.d.ts +329 -0
- package/out-tsc/formatter/strategy-based-formatter.d.ts.map +1 -0
- package/out-tsc/formatter/strategy-based-formatter.js +3808 -0
- package/out-tsc/formatter/strategy-based-formatter.js.map +1 -0
- package/out-tsc/formatter/strategy-dispatcher.d.ts +24 -0
- package/out-tsc/formatter/strategy-dispatcher.d.ts.map +1 -0
- package/out-tsc/formatter/strategy-dispatcher.js +19 -0
- package/out-tsc/formatter/strategy-dispatcher.js.map +1 -0
- package/out-tsc/formatter/types.d.ts +2 -0
- package/out-tsc/formatter/types.d.ts.map +1 -0
- package/out-tsc/{lib/SparkSqlParserListener.js → formatter/types.js} +1 -1
- package/out-tsc/formatter/types.js.map +1 -0
- package/out-tsc/formatter/visitor/ddl/alter-table.d.ts +48 -0
- package/out-tsc/formatter/visitor/ddl/alter-table.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/ddl/alter-table.js +133 -0
- package/out-tsc/formatter/visitor/ddl/alter-table.js.map +1 -0
- package/out-tsc/formatter/visitor/ddl/create-table.d.ts +54 -0
- package/out-tsc/formatter/visitor/ddl/create-table.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/ddl/create-table.js +142 -0
- package/out-tsc/formatter/visitor/ddl/create-table.js.map +1 -0
- package/out-tsc/formatter/visitor/ddl/create-view.d.ts +27 -0
- package/out-tsc/formatter/visitor/ddl/create-view.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/ddl/create-view.js +61 -0
- package/out-tsc/formatter/visitor/ddl/create-view.js.map +1 -0
- package/out-tsc/formatter/visitor/ddl/drop.d.ts +30 -0
- package/out-tsc/formatter/visitor/ddl/drop.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/ddl/drop.js +69 -0
- package/out-tsc/formatter/visitor/ddl/drop.js.map +1 -0
- package/out-tsc/formatter/visitor/ddl/index.d.ts +10 -0
- package/out-tsc/formatter/visitor/ddl/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/ddl/index.js +26 -0
- package/out-tsc/formatter/visitor/ddl/index.js.map +1 -0
- package/out-tsc/formatter/visitor/dml/delete.d.ts +26 -0
- package/out-tsc/formatter/visitor/dml/delete.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/dml/delete.js +38 -0
- package/out-tsc/formatter/visitor/dml/delete.js.map +1 -0
- package/out-tsc/formatter/visitor/dml/index.d.ts +10 -0
- package/out-tsc/formatter/visitor/dml/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/dml/index.js +26 -0
- package/out-tsc/formatter/visitor/dml/index.js.map +1 -0
- package/out-tsc/formatter/visitor/dml/insert.d.ts +42 -0
- package/out-tsc/formatter/visitor/dml/insert.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/dml/insert.js +112 -0
- package/out-tsc/formatter/visitor/dml/insert.js.map +1 -0
- package/out-tsc/formatter/visitor/dml/merge.d.ts +40 -0
- package/out-tsc/formatter/visitor/dml/merge.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/dml/merge.js +67 -0
- package/out-tsc/formatter/visitor/dml/merge.js.map +1 -0
- package/out-tsc/formatter/visitor/dml/update.d.ts +33 -0
- package/out-tsc/formatter/visitor/dml/update.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/dml/update.js +49 -0
- package/out-tsc/formatter/visitor/dml/update.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/arithmetic.d.ts +20 -0
- package/out-tsc/formatter/visitor/expression/arithmetic.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/arithmetic.js +44 -0
- package/out-tsc/formatter/visitor/expression/arithmetic.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/case-when.d.ts +41 -0
- package/out-tsc/formatter/visitor/expression/case-when.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/case-when.js +94 -0
- package/out-tsc/formatter/visitor/expression/case-when.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/comparison.d.ts +20 -0
- package/out-tsc/formatter/visitor/expression/comparison.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/comparison.js +26 -0
- package/out-tsc/formatter/visitor/expression/comparison.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/function-call.d.ts +20 -0
- package/out-tsc/formatter/visitor/expression/function-call.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/function-call.js +33 -0
- package/out-tsc/formatter/visitor/expression/function-call.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/index.d.ts +11 -0
- package/out-tsc/formatter/visitor/expression/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/index.js +27 -0
- package/out-tsc/formatter/visitor/expression/index.js.map +1 -0
- package/out-tsc/formatter/visitor/expression/logical.d.ts +26 -0
- package/out-tsc/formatter/visitor/expression/logical.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/expression/logical.js +46 -0
- package/out-tsc/formatter/visitor/expression/logical.js.map +1 -0
- package/out-tsc/formatter/visitor/formatter-core.d.ts +79 -0
- package/out-tsc/formatter/visitor/formatter-core.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/formatter-core.js +211 -0
- package/out-tsc/formatter/visitor/formatter-core.js.map +1 -0
- package/out-tsc/formatter/visitor/index.d.ts +21 -0
- package/out-tsc/formatter/visitor/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/index.js +26 -0
- package/out-tsc/formatter/visitor/index.js.map +1 -0
- package/out-tsc/formatter/visitor/management/cache.d.ts +26 -0
- package/out-tsc/formatter/visitor/management/cache.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/management/cache.js +58 -0
- package/out-tsc/formatter/visitor/management/cache.js.map +1 -0
- package/out-tsc/formatter/visitor/management/index.d.ts +8 -0
- package/out-tsc/formatter/visitor/management/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/management/index.js +24 -0
- package/out-tsc/formatter/visitor/management/index.js.map +1 -0
- package/out-tsc/formatter/visitor/management/refresh.d.ts +26 -0
- package/out-tsc/formatter/visitor/management/refresh.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/management/refresh.js +55 -0
- package/out-tsc/formatter/visitor/management/refresh.js.map +1 -0
- package/out-tsc/formatter/visitor/pipeline/delta-live-tables.d.ts +31 -0
- package/out-tsc/formatter/visitor/pipeline/delta-live-tables.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/pipeline/delta-live-tables.js +46 -0
- package/out-tsc/formatter/visitor/pipeline/delta-live-tables.js.map +1 -0
- package/out-tsc/formatter/visitor/pipeline/index.d.ts +7 -0
- package/out-tsc/formatter/visitor/pipeline/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/pipeline/index.js +23 -0
- package/out-tsc/formatter/visitor/pipeline/index.js.map +1 -0
- package/out-tsc/formatter/visitor/query/cte.d.ts +34 -0
- package/out-tsc/formatter/visitor/query/cte.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/cte.js +54 -0
- package/out-tsc/formatter/visitor/query/cte.js.map +1 -0
- package/out-tsc/formatter/visitor/query/index.d.ts +11 -0
- package/out-tsc/formatter/visitor/query/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/index.js +27 -0
- package/out-tsc/formatter/visitor/query/index.js.map +1 -0
- package/out-tsc/formatter/visitor/query/query-organization.d.ts +25 -0
- package/out-tsc/formatter/visitor/query/query-organization.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/query-organization.js +75 -0
- package/out-tsc/formatter/visitor/query/query-organization.js.map +1 -0
- package/out-tsc/formatter/visitor/query/query.d.ts +22 -0
- package/out-tsc/formatter/visitor/query/query.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/query.js +30 -0
- package/out-tsc/formatter/visitor/query/query.js.map +1 -0
- package/out-tsc/formatter/visitor/query/select-clause.d.ts +17 -0
- package/out-tsc/formatter/visitor/query/select-clause.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/select-clause.js +35 -0
- package/out-tsc/formatter/visitor/query/select-clause.js.map +1 -0
- package/out-tsc/formatter/visitor/query/set-operation.d.ts +25 -0
- package/out-tsc/formatter/visitor/query/set-operation.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/query/set-operation.js +52 -0
- package/out-tsc/formatter/visitor/query/set-operation.js.map +1 -0
- package/out-tsc/formatter/visitor/statements/index.d.ts +7 -0
- package/out-tsc/formatter/visitor/statements/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/statements/index.js +23 -0
- package/out-tsc/formatter/visitor/statements/index.js.map +1 -0
- package/out-tsc/formatter/visitor/statements/program.d.ts +33 -0
- package/out-tsc/formatter/visitor/statements/program.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/statements/program.js +69 -0
- package/out-tsc/formatter/visitor/statements/program.js.map +1 -0
- package/out-tsc/formatter/visitor/types/complex-types.d.ts +24 -0
- package/out-tsc/formatter/visitor/types/complex-types.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/types/complex-types.js +47 -0
- package/out-tsc/formatter/visitor/types/complex-types.js.map +1 -0
- package/out-tsc/formatter/visitor/types/index.d.ts +8 -0
- package/out-tsc/formatter/visitor/types/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/types/index.js +24 -0
- package/out-tsc/formatter/visitor/types/index.js.map +1 -0
- package/out-tsc/formatter/visitor/types/primitive-types.d.ts +22 -0
- package/out-tsc/formatter/visitor/types/primitive-types.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/types/primitive-types.js +37 -0
- package/out-tsc/formatter/visitor/types/primitive-types.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/context-helpers.d.ts +32 -0
- package/out-tsc/formatter/visitor/utils/context-helpers.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/context-helpers.js +98 -0
- package/out-tsc/formatter/visitor/utils/context-helpers.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/index.d.ts +11 -0
- package/out-tsc/formatter/visitor/utils/index.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/index.js +45 -0
- package/out-tsc/formatter/visitor/utils/index.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/keyword-formatting.d.ts +57 -0
- package/out-tsc/formatter/visitor/utils/keyword-formatting.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/keyword-formatting.js +87 -0
- package/out-tsc/formatter/visitor/utils/keyword-formatting.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/parenthesis-formatting.d.ts +53 -0
- package/out-tsc/formatter/visitor/utils/parenthesis-formatting.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/parenthesis-formatting.js +88 -0
- package/out-tsc/formatter/visitor/utils/parenthesis-formatting.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/space-compression.d.ts +55 -0
- package/out-tsc/formatter/visitor/utils/space-compression.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/space-compression.js +71 -0
- package/out-tsc/formatter/visitor/utils/space-compression.js.map +1 -0
- package/out-tsc/formatter/visitor/utils/token-helpers.d.ts +64 -0
- package/out-tsc/formatter/visitor/utils/token-helpers.d.ts.map +1 -0
- package/out-tsc/formatter/visitor/utils/token-helpers.js +249 -0
- package/out-tsc/formatter/visitor/utils/token-helpers.js.map +1 -0
- package/out-tsc/index.d.ts +2 -1
- package/out-tsc/index.d.ts.map +1 -0
- package/out-tsc/index.js +3 -1
- package/out-tsc/index.js.map +1 -1
- package/out-tsc/lib/SparkSQLLexer.d.ts +557 -0
- package/out-tsc/lib/SparkSQLLexer.d.ts.map +1 -0
- package/out-tsc/lib/SparkSQLLexer.js +3676 -0
- package/out-tsc/lib/SparkSQLLexer.js.map +1 -0
- package/out-tsc/lib/SparkSQLParser.d.ts +7884 -0
- package/out-tsc/lib/SparkSQLParser.d.ts.map +1 -0
- package/out-tsc/lib/SparkSQLParser.js +45848 -0
- package/out-tsc/lib/SparkSQLParser.js.map +1 -0
- package/out-tsc/lib/SparkSQLParserListener.d.ts +5855 -0
- package/out-tsc/lib/SparkSQLParserListener.d.ts.map +1 -0
- package/out-tsc/lib/SparkSQLParserListener.js +4 -0
- package/out-tsc/lib/SparkSQLParserListener.js.map +1 -0
- package/out-tsc/lib/SparkSQLParserVisitor.d.ts +3674 -0
- package/out-tsc/lib/SparkSQLParserVisitor.d.ts.map +1 -0
- package/out-tsc/lib/SparkSQLParserVisitor.js +4 -0
- package/out-tsc/lib/SparkSQLParserVisitor.js.map +1 -0
- package/out-tsc/lineage.typing.d.ts +64 -0
- package/out-tsc/lineage.typing.d.ts.map +1 -0
- package/out-tsc/lineage.typing.js +3 -0
- package/out-tsc/lineage.typing.js.map +1 -0
- package/out-tsc/listeners/parse-error.listener.d.ts +3 -2
- package/out-tsc/listeners/parse-error.listener.d.ts.map +1 -0
- package/out-tsc/listeners/parse-error.listener.js +4 -4
- package/out-tsc/listeners/parse-error.listener.js.map +1 -1
- package/out-tsc/listeners/schema.listener.d.ts +32 -39
- package/out-tsc/listeners/schema.listener.d.ts.map +1 -0
- package/out-tsc/listeners/schema.listener.js +58 -100
- package/out-tsc/listeners/schema.listener.js.map +1 -1
- package/out-tsc/listeners/statement.listener.d.ts +263 -5
- package/out-tsc/listeners/statement.listener.d.ts.map +1 -0
- package/out-tsc/listeners/statement.listener.js +836 -11
- package/out-tsc/listeners/statement.listener.js.map +1 -1
- package/out-tsc/listeners/structure.listener.d.ts +70 -0
- package/out-tsc/listeners/structure.listener.d.ts.map +1 -0
- package/out-tsc/listeners/structure.listener.js +211 -0
- package/out-tsc/listeners/structure.listener.js.map +1 -0
- package/out-tsc/listeners/tokens-collector.listener.d.ts +27 -0
- package/out-tsc/listeners/tokens-collector.listener.d.ts.map +1 -0
- package/out-tsc/listeners/tokens-collector.listener.js +102 -0
- package/out-tsc/listeners/tokens-collector.listener.js.map +1 -0
- package/out-tsc/lsp-server.d.ts +79 -8
- package/out-tsc/lsp-server.d.ts.map +1 -0
- package/out-tsc/lsp-server.js +672 -237
- package/out-tsc/lsp-server.js.map +1 -1
- package/out-tsc/metadata.typing.d.ts +1 -0
- package/out-tsc/metadata.typing.d.ts.map +1 -0
- package/out-tsc/monaco-config.d.ts +219 -0
- package/out-tsc/monaco-config.d.ts.map +1 -0
- package/out-tsc/monaco-config.js +1032 -0
- package/out-tsc/monaco-config.js.map +1 -0
- package/out-tsc/parsing-warehouse.d.ts +8 -3
- package/out-tsc/parsing-warehouse.d.ts.map +1 -0
- package/out-tsc/parsing-warehouse.js +62 -6
- package/out-tsc/parsing-warehouse.js.map +1 -1
- package/out-tsc/protocol-translation.d.ts +12 -5
- package/out-tsc/protocol-translation.d.ts.map +1 -0
- package/out-tsc/protocol-translation.js +72 -19
- package/out-tsc/protocol-translation.js.map +1 -1
- package/out-tsc/public-apis.d.ts +1 -0
- package/out-tsc/public-apis.d.ts.map +1 -0
- package/out-tsc/schema-registry.d.ts +10 -7
- package/out-tsc/schema-registry.d.ts.map +1 -0
- package/out-tsc/schema-registry.js +87 -106
- package/out-tsc/schema-registry.js.map +1 -1
- package/out-tsc/server-worker.d.ts +1 -0
- package/out-tsc/server-worker.d.ts.map +1 -0
- package/out-tsc/server-worker.js +159 -44
- package/out-tsc/server-worker.js.map +1 -1
- package/out-tsc/tests/folding/block-comment-folding.test.d.ts +7 -0
- package/out-tsc/tests/folding/block-comment-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/block-comment-folding.test.js +268 -0
- package/out-tsc/tests/folding/block-comment-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/caching.test.d.ts +11 -0
- package/out-tsc/tests/folding/caching.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/caching.test.js +141 -0
- package/out-tsc/tests/folding/caching.test.js.map +1 -0
- package/out-tsc/tests/folding/cte-dependency-chain.test.d.ts +15 -0
- package/out-tsc/tests/folding/cte-dependency-chain.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/cte-dependency-chain.test.js +323 -0
- package/out-tsc/tests/folding/cte-dependency-chain.test.js.map +1 -0
- package/out-tsc/tests/folding/debug-format-flow.test.d.ts +2 -0
- package/out-tsc/tests/folding/debug-format-flow.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/debug-format-flow.test.js +114 -0
- package/out-tsc/tests/folding/debug-format-flow.test.js.map +1 -0
- package/out-tsc/tests/folding/debug-formatted.test.d.ts +2 -0
- package/out-tsc/tests/folding/debug-formatted.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/debug-formatted.test.js +175 -0
- package/out-tsc/tests/folding/debug-formatted.test.js.map +1 -0
- package/out-tsc/tests/folding/deduplication.test.d.ts +10 -0
- package/out-tsc/tests/folding/deduplication.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/deduplication.test.js +206 -0
- package/out-tsc/tests/folding/deduplication.test.js.map +1 -0
- package/out-tsc/tests/folding/edge-cases.test.d.ts +8 -0
- package/out-tsc/tests/folding/edge-cases.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/edge-cases.test.js +319 -0
- package/out-tsc/tests/folding/edge-cases.test.js.map +1 -0
- package/out-tsc/tests/folding/folding-level-config.test.d.ts +11 -0
- package/out-tsc/tests/folding/folding-level-config.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/folding-level-config.test.js +313 -0
- package/out-tsc/tests/folding/folding-level-config.test.js.map +1 -0
- package/out-tsc/tests/folding/folding-statistics.test.d.ts +13 -0
- package/out-tsc/tests/folding/folding-statistics.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/folding-statistics.test.js +144 -0
- package/out-tsc/tests/folding/folding-statistics.test.js.map +1 -0
- package/out-tsc/tests/folding/index.d.ts +8 -0
- package/out-tsc/tests/folding/index.d.ts.map +1 -0
- package/out-tsc/tests/folding/index.js +24 -0
- package/out-tsc/tests/folding/index.js.map +1 -0
- package/out-tsc/tests/folding/join-folding.test.d.ts +11 -0
- package/out-tsc/tests/folding/join-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/join-folding.test.js +167 -0
- package/out-tsc/tests/folding/join-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/kind-classification.test.d.ts +11 -0
- package/out-tsc/tests/folding/kind-classification.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/kind-classification.test.js +270 -0
- package/out-tsc/tests/folding/kind-classification.test.js.map +1 -0
- package/out-tsc/tests/folding/level1-statement.test.d.ts +8 -0
- package/out-tsc/tests/folding/level1-statement.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/level1-statement.test.js +278 -0
- package/out-tsc/tests/folding/level1-statement.test.js.map +1 -0
- package/out-tsc/tests/folding/level2-query-block.test.d.ts +8 -0
- package/out-tsc/tests/folding/level2-query-block.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/level2-query-block.test.js +374 -0
- package/out-tsc/tests/folding/level2-query-block.test.js.map +1 -0
- package/out-tsc/tests/folding/level3-expression.test.d.ts +8 -0
- package/out-tsc/tests/folding/level3-expression.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/level3-expression.test.js +361 -0
- package/out-tsc/tests/folding/level3-expression.test.js.map +1 -0
- package/out-tsc/tests/folding/level4-structure.test.d.ts +8 -0
- package/out-tsc/tests/folding/level4-structure.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/level4-structure.test.js +270 -0
- package/out-tsc/tests/folding/level4-structure.test.js.map +1 -0
- package/out-tsc/tests/folding/line-comment-folding.test.d.ts +13 -0
- package/out-tsc/tests/folding/line-comment-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/line-comment-folding.test.js +215 -0
- package/out-tsc/tests/folding/line-comment-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/nested-folding.test.d.ts +8 -0
- package/out-tsc/tests/folding/nested-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/nested-folding.test.js +386 -0
- package/out-tsc/tests/folding/nested-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/performance-benchmark.test.d.ts +11 -0
- package/out-tsc/tests/folding/performance-benchmark.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/performance-benchmark.test.js +256 -0
- package/out-tsc/tests/folding/performance-benchmark.test.js.map +1 -0
- package/out-tsc/tests/folding/region-marker-folding.test.d.ts +11 -0
- package/out-tsc/tests/folding/region-marker-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/region-marker-folding.test.js +245 -0
- package/out-tsc/tests/folding/region-marker-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/select-columns-folding.test.d.ts +10 -0
- package/out-tsc/tests/folding/select-columns-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/select-columns-folding.test.js +139 -0
- package/out-tsc/tests/folding/select-columns-folding.test.js.map +1 -0
- package/out-tsc/tests/folding/test-utils.d.ts +73 -0
- package/out-tsc/tests/folding/test-utils.d.ts.map +1 -0
- package/out-tsc/tests/folding/test-utils.js +98 -0
- package/out-tsc/tests/folding/test-utils.js.map +1 -0
- package/out-tsc/tests/folding/values-folding.test.d.ts +10 -0
- package/out-tsc/tests/folding/values-folding.test.d.ts.map +1 -0
- package/out-tsc/tests/folding/values-folding.test.js +102 -0
- package/out-tsc/tests/folding/values-folding.test.js.map +1 -0
- package/out-tsc/tests/format/ddl/datatype-constraint.test.d.ts +5 -0
- package/out-tsc/tests/format/ddl/datatype-constraint.test.d.ts.map +1 -0
- package/out-tsc/tests/format/ddl/datatype-constraint.test.js +132 -0
- package/out-tsc/tests/format/ddl/datatype-constraint.test.js.map +1 -0
- package/out-tsc/tests/format/ddl/index.test.d.ts +5 -0
- package/out-tsc/tests/format/ddl/index.test.d.ts.map +1 -0
- package/out-tsc/tests/format/ddl/index.test.js +74 -0
- package/out-tsc/tests/format/ddl/index.test.js.map +1 -0
- package/out-tsc/tests/format/ddl/materialized-view.test.d.ts +5 -0
- package/out-tsc/tests/format/ddl/materialized-view.test.d.ts.map +1 -0
- package/out-tsc/tests/format/ddl/materialized-view.test.js +92 -0
- package/out-tsc/tests/format/ddl/materialized-view.test.js.map +1 -0
- package/out-tsc/tests/format/ddl/partition.test.d.ts +5 -0
- package/out-tsc/tests/format/ddl/partition.test.d.ts.map +1 -0
- package/out-tsc/tests/format/ddl/partition.test.js +109 -0
- package/out-tsc/tests/format/ddl/partition.test.js.map +1 -0
- package/out-tsc/tests/format/ddl/variable.test.d.ts +5 -0
- package/out-tsc/tests/format/ddl/variable.test.d.ts.map +1 -0
- package/out-tsc/tests/format/ddl/variable.test.js +58 -0
- package/out-tsc/tests/format/ddl/variable.test.js.map +1 -0
- package/out-tsc/tests/format/dml/select.test.d.ts +5 -0
- package/out-tsc/tests/format/dml/select.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dml/select.test.js +114 -0
- package/out-tsc/tests/format/dml/select.test.js.map +1 -0
- package/out-tsc/tests/format/dml/subquery.test.d.ts +5 -0
- package/out-tsc/tests/format/dml/subquery.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dml/subquery.test.js +221 -0
- package/out-tsc/tests/format/dml/subquery.test.js.map +1 -0
- package/out-tsc/tests/format/dql/comment.test.d.ts +7 -0
- package/out-tsc/tests/format/dql/comment.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/comment.test.js +279 -0
- package/out-tsc/tests/format/dql/comment.test.js.map +1 -0
- package/out-tsc/tests/format/dql/cte.test.d.ts +7 -0
- package/out-tsc/tests/format/dql/cte.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/cte.test.js +31 -0
- package/out-tsc/tests/format/dql/cte.test.js.map +1 -0
- package/out-tsc/tests/format/dql/dql-detail.test.d.ts +5 -0
- package/out-tsc/tests/format/dql/dql-detail.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/dql-detail.test.js +191 -0
- package/out-tsc/tests/format/dql/dql-detail.test.js.map +1 -0
- package/out-tsc/tests/format/dql/lateral-view.test.d.ts +7 -0
- package/out-tsc/tests/format/dql/lateral-view.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/lateral-view.test.js +34 -0
- package/out-tsc/tests/format/dql/lateral-view.test.js.map +1 -0
- package/out-tsc/tests/format/dql/pivot.test.d.ts +7 -0
- package/out-tsc/tests/format/dql/pivot.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/pivot.test.js +56 -0
- package/out-tsc/tests/format/dql/pivot.test.js.map +1 -0
- package/out-tsc/tests/format/dql/window.test.d.ts +7 -0
- package/out-tsc/tests/format/dql/window.test.d.ts.map +1 -0
- package/out-tsc/tests/format/dql/window.test.js +89 -0
- package/out-tsc/tests/format/dql/window.test.js.map +1 -0
- package/out-tsc/tests/format/expression/expression.test.d.ts +5 -0
- package/out-tsc/tests/format/expression/expression.test.d.ts.map +1 -0
- package/out-tsc/tests/format/expression/expression.test.js +203 -0
- package/out-tsc/tests/format/expression/expression.test.js.map +1 -0
- package/out-tsc/tests/format/pipe/pipe-operator.test.d.ts +5 -0
- package/out-tsc/tests/format/pipe/pipe-operator.test.d.ts.map +1 -0
- package/out-tsc/tests/format/pipe/pipe-operator.test.js +290 -0
- package/out-tsc/tests/format/pipe/pipe-operator.test.js.map +1 -0
- package/out-tsc/tests/format/procedure/compound-statement.test.d.ts +16 -0
- package/out-tsc/tests/format/procedure/compound-statement.test.d.ts.map +1 -0
- package/out-tsc/tests/format/procedure/compound-statement.test.js +254 -0
- package/out-tsc/tests/format/procedure/compound-statement.test.js.map +1 -0
- package/out-tsc/tests/format/resource/resource.test.d.ts +5 -0
- package/out-tsc/tests/format/resource/resource.test.d.ts.map +1 -0
- package/out-tsc/tests/format/resource/resource.test.js +69 -0
- package/out-tsc/tests/format/resource/resource.test.js.map +1 -0
- package/out-tsc/tests/format/test-utils.d.ts +40 -0
- package/out-tsc/tests/format/test-utils.d.ts.map +1 -0
- package/out-tsc/tests/format/test-utils.js +53 -0
- package/out-tsc/tests/format/test-utils.js.map +1 -0
- package/out-tsc/tests/lsp-server.test.d.ts +2 -0
- package/out-tsc/tests/lsp-server.test.d.ts.map +1 -0
- package/out-tsc/tests/lsp-server.test.js +1525 -0
- package/out-tsc/tests/lsp-server.test.js.map +1 -0
- package/out-tsc/tests/spark-sql-inputs.test.d.ts +17 -0
- package/out-tsc/tests/spark-sql-inputs.test.d.ts.map +1 -0
- package/out-tsc/tests/spark-sql-inputs.test.js +570 -0
- package/out-tsc/tests/spark-sql-inputs.test.js.map +1 -0
- package/out-tsc/tests/validation.test.d.ts +2 -0
- package/out-tsc/tests/validation.test.d.ts.map +1 -0
- package/out-tsc/tests/validation.test.js +115 -0
- package/out-tsc/tests/validation.test.js.map +1 -0
- package/out-tsc/typings.d.ts +115 -1
- package/out-tsc/typings.d.ts.map +1 -0
- package/out-tsc/typings.js +28 -0
- package/out-tsc/typings.js.map +1 -1
- package/out-tsc/utils.d.ts +1 -0
- package/out-tsc/utils.d.ts.map +1 -0
- package/out-tsc/utils.js +4 -5
- package/out-tsc/utils.js.map +1 -1
- package/out-tsc/visitors/completion.visitor.d.ts +85 -0
- package/out-tsc/visitors/completion.visitor.d.ts.map +1 -0
- package/out-tsc/visitors/completion.visitor.js +379 -0
- package/out-tsc/visitors/completion.visitor.js.map +1 -0
- package/out-tsc/visitors/lineage.visitor.d.ts +34 -0
- package/out-tsc/visitors/lineage.visitor.d.ts.map +1 -0
- package/out-tsc/visitors/lineage.visitor.js +181 -0
- package/out-tsc/visitors/lineage.visitor.js.map +1 -0
- package/out-tsc/visitors/space-replacer-format.visitor.d.ts +1641 -0
- package/out-tsc/visitors/space-replacer-format.visitor.d.ts.map +1 -0
- package/out-tsc/visitors/space-replacer-format.visitor.js +7529 -0
- package/out-tsc/visitors/space-replacer-format.visitor.js.map +1 -0
- package/out-tsc/visitors/sparksql-relation.visitor.d.ts +154 -0
- package/out-tsc/visitors/sparksql-relation.visitor.d.ts.map +1 -0
- package/out-tsc/visitors/sparksql-relation.visitor.js +749 -0
- package/out-tsc/visitors/sparksql-relation.visitor.js.map +1 -0
- package/package.json +36 -9
- package/out-tsc/constant.d.ts +0 -3
- package/out-tsc/constant.js +0 -7
- package/out-tsc/constant.js.map +0 -1
- package/out-tsc/lib/SparkSqlLexer.d.ts +0 -421
- package/out-tsc/lib/SparkSqlLexer.js +0 -2750
- package/out-tsc/lib/SparkSqlLexer.js.map +0 -1
- package/out-tsc/lib/SparkSqlParser.d.ts +0 -6203
- package/out-tsc/lib/SparkSqlParser.js +0 -34733
- package/out-tsc/lib/SparkSqlParser.js.map +0 -1
- package/out-tsc/lib/SparkSqlParserListener.d.ts +0 -1158
- package/out-tsc/lib/SparkSqlParserListener.js.map +0 -1
- package/out-tsc/lib/SparkSqlParserVisitor.d.ts +0 -773
- package/out-tsc/lib/SparkSqlParserVisitor.js.map +0 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Spacing Rules Configuration
|
|
4
|
+
*
|
|
5
|
+
* Centralized configuration for all spacing rules used in formatting.
|
|
6
|
+
* This replaces scattered spacing literals throughout the codebase.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.KeywordSpacing = exports.CommaRules = exports.ParenthesisRules = exports.NewlineRules = exports.Separators = exports.EMPTY = exports.SPACE = void 0;
|
|
10
|
+
exports.getKeywordSpacing = getKeywordSpacing;
|
|
11
|
+
exports.shouldStartOnNewline = shouldStartOnNewline;
|
|
12
|
+
/**
|
|
13
|
+
* Single space character - used between keywords, after commas, etc.
|
|
14
|
+
*/
|
|
15
|
+
exports.SPACE = ' ';
|
|
16
|
+
/**
|
|
17
|
+
* Empty string - used for tight formatting (e.g., after opening parenthesis)
|
|
18
|
+
*/
|
|
19
|
+
exports.EMPTY = '';
|
|
20
|
+
/**
|
|
21
|
+
* Standard separators for different contexts
|
|
22
|
+
*/
|
|
23
|
+
exports.Separators = {
|
|
24
|
+
/**
|
|
25
|
+
* Space after keywords (SELECT, FROM, WHERE, etc.)
|
|
26
|
+
*/
|
|
27
|
+
afterKeyword: exports.SPACE,
|
|
28
|
+
/**
|
|
29
|
+
* Space before/after operators (=, <, >, etc.)
|
|
30
|
+
*/
|
|
31
|
+
aroundOperator: exports.SPACE,
|
|
32
|
+
/**
|
|
33
|
+
* Space after comma in inline lists
|
|
34
|
+
*/
|
|
35
|
+
afterCommaInline: exports.SPACE,
|
|
36
|
+
/**
|
|
37
|
+
* No space after opening parenthesis (compact mode)
|
|
38
|
+
*/
|
|
39
|
+
afterLeftParen: exports.EMPTY,
|
|
40
|
+
/**
|
|
41
|
+
* No space before closing parenthesis (compact mode)
|
|
42
|
+
*/
|
|
43
|
+
beforeRightParen: exports.EMPTY,
|
|
44
|
+
/**
|
|
45
|
+
* Space before left parenthesis (e.g., function calls, table aliases)
|
|
46
|
+
*/
|
|
47
|
+
beforeLeftParen: exports.SPACE,
|
|
48
|
+
/**
|
|
49
|
+
* No space before left parenthesis (function name adjacent to paren)
|
|
50
|
+
*/
|
|
51
|
+
beforeLeftParenFunction: exports.EMPTY,
|
|
52
|
+
/**
|
|
53
|
+
* Space after AS keyword
|
|
54
|
+
*/
|
|
55
|
+
afterAs: exports.SPACE,
|
|
56
|
+
/**
|
|
57
|
+
* Space before AS keyword
|
|
58
|
+
*/
|
|
59
|
+
beforeAs: exports.SPACE
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Newline rules - when to add newlines
|
|
63
|
+
*/
|
|
64
|
+
exports.NewlineRules = {
|
|
65
|
+
/**
|
|
66
|
+
* Keywords that should start on a new line
|
|
67
|
+
*/
|
|
68
|
+
clauseKeywords: [
|
|
69
|
+
'SELECT',
|
|
70
|
+
'FROM',
|
|
71
|
+
'WHERE',
|
|
72
|
+
'GROUP BY',
|
|
73
|
+
'HAVING',
|
|
74
|
+
'ORDER BY',
|
|
75
|
+
'LIMIT',
|
|
76
|
+
'OFFSET',
|
|
77
|
+
'UNION',
|
|
78
|
+
'INTERSECT',
|
|
79
|
+
'EXCEPT',
|
|
80
|
+
'SETMINUS'
|
|
81
|
+
],
|
|
82
|
+
/**
|
|
83
|
+
* DDL clauses that should start on a new line
|
|
84
|
+
*/
|
|
85
|
+
ddlClauses: [
|
|
86
|
+
'PARTITIONED BY',
|
|
87
|
+
'CLUSTERED BY',
|
|
88
|
+
'SORTED BY',
|
|
89
|
+
'STORED AS',
|
|
90
|
+
'STORED BY',
|
|
91
|
+
'LOCATION',
|
|
92
|
+
'TBLPROPERTIES',
|
|
93
|
+
'OPTIONS',
|
|
94
|
+
'COMMENT'
|
|
95
|
+
],
|
|
96
|
+
/**
|
|
97
|
+
* JOIN keywords should start on a new line
|
|
98
|
+
*/
|
|
99
|
+
beforeJoin: true,
|
|
100
|
+
/**
|
|
101
|
+
* AND/OR operators should start on a new line in WHERE clause
|
|
102
|
+
*/
|
|
103
|
+
beforeLogicalOperator: true,
|
|
104
|
+
/**
|
|
105
|
+
* Comma should be followed by newline in long lists
|
|
106
|
+
*/
|
|
107
|
+
afterCommaMultiline: true
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Parenthesis content formatting rules
|
|
111
|
+
*/
|
|
112
|
+
exports.ParenthesisRules = {
|
|
113
|
+
/**
|
|
114
|
+
* Default maximum length before wrapping to multiline
|
|
115
|
+
*/
|
|
116
|
+
defaultMaxLength: 40,
|
|
117
|
+
/**
|
|
118
|
+
* Space before left paren in different contexts
|
|
119
|
+
*/
|
|
120
|
+
spaceBeforeLeftParen: {
|
|
121
|
+
functionCall: false, // func()
|
|
122
|
+
tableName: false, // table()
|
|
123
|
+
tableAlias: false, // alias(col1, col2)
|
|
124
|
+
expression: true, // (a + b)
|
|
125
|
+
propertyList: true, // TBLPROPERTIES (...)
|
|
126
|
+
partitionSpec: true // PARTITION (pt = 'value')
|
|
127
|
+
},
|
|
128
|
+
/**
|
|
129
|
+
* Space after left paren (usually false for compact mode)
|
|
130
|
+
*/
|
|
131
|
+
spaceAfterLeftParen: false,
|
|
132
|
+
/**
|
|
133
|
+
* Space before right paren (usually false for compact mode)
|
|
134
|
+
*/
|
|
135
|
+
spaceBeforeRightParen: false
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Comma formatting rules
|
|
139
|
+
*/
|
|
140
|
+
exports.CommaRules = {
|
|
141
|
+
/**
|
|
142
|
+
* Inline mode: comma followed by single space
|
|
143
|
+
*/
|
|
144
|
+
inline: {
|
|
145
|
+
before: exports.EMPTY,
|
|
146
|
+
after: exports.SPACE
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Multiline mode: comma followed by newline + indent
|
|
150
|
+
*/
|
|
151
|
+
multiline: {
|
|
152
|
+
before: exports.EMPTY,
|
|
153
|
+
after: '\n' // Will be combined with indent at runtime
|
|
154
|
+
},
|
|
155
|
+
/**
|
|
156
|
+
* Trailing comma style: comma at end of line
|
|
157
|
+
*/
|
|
158
|
+
trailingStyle: true
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Keyword-specific spacing overrides
|
|
162
|
+
*/
|
|
163
|
+
exports.KeywordSpacing = {
|
|
164
|
+
// Keywords with space before and after
|
|
165
|
+
AS: { before: exports.SPACE, after: exports.SPACE },
|
|
166
|
+
AND: { before: exports.EMPTY, after: exports.SPACE }, // newline added separately
|
|
167
|
+
OR: { before: exports.EMPTY, after: exports.SPACE }, // newline added separately
|
|
168
|
+
NOT: { before: exports.SPACE, after: exports.SPACE },
|
|
169
|
+
IN: { before: exports.SPACE, after: exports.SPACE },
|
|
170
|
+
BETWEEN: { before: exports.SPACE, after: exports.SPACE },
|
|
171
|
+
LIKE: { before: exports.SPACE, after: exports.SPACE },
|
|
172
|
+
IS: { before: exports.SPACE, after: exports.EMPTY },
|
|
173
|
+
NULL: { before: exports.SPACE, after: exports.EMPTY },
|
|
174
|
+
// Join-related keywords
|
|
175
|
+
JOIN: { before: exports.SPACE, after: exports.SPACE },
|
|
176
|
+
ON: { before: exports.SPACE, after: exports.SPACE },
|
|
177
|
+
USING: { before: exports.SPACE, after: exports.SPACE },
|
|
178
|
+
LEFT: { before: exports.SPACE, after: exports.SPACE },
|
|
179
|
+
RIGHT: { before: exports.SPACE, after: exports.SPACE },
|
|
180
|
+
FULL: { before: exports.SPACE, after: exports.SPACE },
|
|
181
|
+
INNER: { before: exports.SPACE, after: exports.SPACE },
|
|
182
|
+
OUTER: { before: exports.SPACE, after: exports.SPACE },
|
|
183
|
+
CROSS: { before: exports.SPACE, after: exports.SPACE },
|
|
184
|
+
NATURAL: { before: exports.SPACE, after: exports.SPACE },
|
|
185
|
+
LATERAL: { before: exports.SPACE, after: exports.SPACE },
|
|
186
|
+
// Set operators
|
|
187
|
+
UNION: { before: exports.EMPTY, after: exports.SPACE }, // newline added separately
|
|
188
|
+
INTERSECT: { before: exports.EMPTY, after: exports.SPACE },
|
|
189
|
+
EXCEPT: { before: exports.EMPTY, after: exports.SPACE },
|
|
190
|
+
// DDL keywords
|
|
191
|
+
TABLE: { before: exports.SPACE, after: exports.SPACE },
|
|
192
|
+
VIEW: { before: exports.SPACE, after: exports.SPACE },
|
|
193
|
+
FUNCTION: { before: exports.SPACE, after: exports.SPACE },
|
|
194
|
+
DATABASE: { before: exports.SPACE, after: exports.SPACE },
|
|
195
|
+
SCHEMA: { before: exports.SPACE, after: exports.SPACE },
|
|
196
|
+
NAMESPACE: { before: exports.SPACE, after: exports.SPACE },
|
|
197
|
+
// Special keywords with no space after
|
|
198
|
+
CASE: { before: exports.SPACE, after: exports.SPACE },
|
|
199
|
+
WHEN: { before: exports.SPACE, after: exports.SPACE },
|
|
200
|
+
THEN: { before: exports.SPACE, after: exports.SPACE },
|
|
201
|
+
ELSE: { before: exports.SPACE, after: exports.SPACE },
|
|
202
|
+
END: { before: exports.SPACE, after: exports.EMPTY }
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Get spacing for a keyword
|
|
206
|
+
*/
|
|
207
|
+
function getKeywordSpacing(keyword) {
|
|
208
|
+
const normalized = keyword.toUpperCase();
|
|
209
|
+
return exports.KeywordSpacing[normalized] ?? { before: exports.SPACE, after: exports.SPACE };
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if a keyword should start on a new line
|
|
213
|
+
*/
|
|
214
|
+
function shouldStartOnNewline(keyword) {
|
|
215
|
+
const normalized = keyword.toUpperCase();
|
|
216
|
+
return (exports.NewlineRules.clauseKeywords.includes(normalized) ||
|
|
217
|
+
exports.NewlineRules.ddlClauses.some(clause => normalized.includes(clause)));
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=spacing-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing-rules.js","sourceRoot":"","sources":["../../../../src/formatter/core/rules/spacing-rules.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiOH,8CAGC;AAKD,oDAMC;AA7OD;;GAEG;AACU,QAAA,KAAK,GAAG,GAAG,CAAC;AAEzB;;GAEG;AACU,QAAA,KAAK,GAAG,EAAE,CAAC;AAExB;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB;;OAEG;IACH,YAAY,EAAE,aAAK;IAEnB;;OAEG;IACH,cAAc,EAAE,aAAK;IAErB;;OAEG;IACH,gBAAgB,EAAE,aAAK;IAEvB;;OAEG;IACH,cAAc,EAAE,aAAK;IAErB;;OAEG;IACH,gBAAgB,EAAE,aAAK;IAEvB;;OAEG;IACH,eAAe,EAAE,aAAK;IAEtB;;OAEG;IACH,uBAAuB,EAAE,aAAK;IAE9B;;OAEG;IACH,OAAO,EAAE,aAAK;IAEd;;OAEG;IACH,QAAQ,EAAE,aAAK;CACP,CAAC;AAEX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B;;OAEG;IACH,cAAc,EAAE;QACd,QAAQ;QACR,MAAM;QACN,OAAO;QACP,UAAU;QACV,QAAQ;QACR,UAAU;QACV,OAAO;QACP,QAAQ;QACR,OAAO;QACP,WAAW;QACX,QAAQ;QACR,UAAU;KACF;IAEV;;OAEG;IACH,UAAU,EAAE;QACV,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,WAAW;QACX,WAAW;QACX,UAAU;QACV,eAAe;QACf,SAAS;QACT,SAAS;KACD;IAEV;;OAEG;IACH,UAAU,EAAE,IAAI;IAEhB;;OAEG;IACH,qBAAqB,EAAE,IAAI;IAE3B;;OAEG;IACH,mBAAmB,EAAE,IAAI;CACjB,CAAC;AAEX;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B;;OAEG;IACH,gBAAgB,EAAE,EAAE;IAEpB;;OAEG;IACH,oBAAoB,EAAE;QACpB,YAAY,EAAE,KAAK,EAAE,SAAS;QAC9B,SAAS,EAAE,KAAK,EAAE,UAAU;QAC5B,UAAU,EAAE,KAAK,EAAE,oBAAoB;QACvC,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,YAAY,EAAE,IAAI,EAAE,sBAAsB;QAC1C,aAAa,EAAE,IAAI,CAAC,2BAA2B;KACvC;IAEV;;OAEG;IACH,mBAAmB,EAAE,KAAK;IAE1B;;OAEG;IACH,qBAAqB,EAAE,KAAK;CACpB,CAAC;AAEX;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB;;OAEG;IACH,MAAM,EAAE;QACN,MAAM,EAAE,aAAK;QACb,KAAK,EAAE,aAAK;KACb;IAED;;OAEG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,aAAK;QACb,KAAK,EAAE,IAAI,CAAC,0CAA0C;KACvD;IAED;;OAEG;IACH,aAAa,EAAE,IAAI;CACX,CAAC;AAEX;;GAEG;AACU,QAAA,cAAc,GAAsD;IAC/E,uCAAuC;IACvC,EAAE,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACnC,GAAG,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE,EAAE,2BAA2B;IACjE,EAAE,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE,EAAE,2BAA2B;IAChE,GAAG,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACpC,EAAE,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACnC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACxC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,EAAE,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACnC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IAErC,wBAAwB;IACxB,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,EAAE,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACnC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACxC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IAExC,gBAAgB;IAChB,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE,EAAE,2BAA2B;IACnE,SAAS,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IAC1C,MAAM,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IAEvC,eAAe;IACf,KAAK,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACzC,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACzC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACvC,SAAS,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IAE1C,uCAAuC;IACvC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;IACrC,GAAG,EAAE,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE;CACrC,CAAC;AAEF;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,sBAAc,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAK,EAAE,KAAK,EAAE,aAAK,EAAE,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,CACL,oBAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAiB,CAAC;QACvD,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy-based Formatting Bridge
|
|
3
|
+
*
|
|
4
|
+
* Implements FormattingBridge interface to provide formatting operations
|
|
5
|
+
* to strategies while delegating to the visitor for token operations.
|
|
6
|
+
*/
|
|
7
|
+
import { CommonTokenStream, Token } from 'antlr4ts';
|
|
8
|
+
import { ParserRuleContext } from 'antlr4ts/ParserRuleContext';
|
|
9
|
+
import { TerminalNode } from 'antlr4ts/tree/TerminalNode';
|
|
10
|
+
import { FormattingBridge, FormattingContext, EditCollector } from '../core';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for the formatting bridge
|
|
13
|
+
*/
|
|
14
|
+
export interface FormattingBridgeConfig {
|
|
15
|
+
tokens: CommonTokenStream;
|
|
16
|
+
context: FormattingContext;
|
|
17
|
+
collector: EditCollector;
|
|
18
|
+
visitor: {
|
|
19
|
+
visit: (ctx: ParserRuleContext) => void;
|
|
20
|
+
visitChildren: (ctx: ParserRuleContext) => void;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Implementation of FormattingBridge that provides all formatting operations
|
|
25
|
+
*/
|
|
26
|
+
export declare class StrategyFormattingBridge implements FormattingBridge {
|
|
27
|
+
private readonly config;
|
|
28
|
+
private readonly newlineRegex;
|
|
29
|
+
constructor(config: FormattingBridgeConfig);
|
|
30
|
+
get context(): FormattingContext;
|
|
31
|
+
get collector(): EditCollector;
|
|
32
|
+
get tokens(): CommonTokenStream;
|
|
33
|
+
addIndent(): void;
|
|
34
|
+
minusIndent(): void;
|
|
35
|
+
get indent(): string;
|
|
36
|
+
get newlineIndent(): string;
|
|
37
|
+
getPipeContentIndent(): string;
|
|
38
|
+
getPreviousNonHiddenToken(tokenIndex: number): Token | undefined;
|
|
39
|
+
getNextNonHiddenToken(tokenIndex: number): Token | undefined;
|
|
40
|
+
getPreviousNonHiddenTokenByStartIndex(startIndex: number): Token | undefined;
|
|
41
|
+
getNextNonHiddenTokenByStopIndex(stopIndex: number): Token | undefined;
|
|
42
|
+
updateAfterPreviousTokenByContext(ctx: ParserRuleContext, newText: string): void;
|
|
43
|
+
updateAfterPreviousTokenByNode(node: TerminalNode, newText: string): void;
|
|
44
|
+
updateBeforeNextTokenByNode(node: TerminalNode, newText: string): void;
|
|
45
|
+
updateBeforeNextTokenByContext(ctx: ParserRuleContext, newText: string): void;
|
|
46
|
+
deleteToken(node: TerminalNode, newText: string): void;
|
|
47
|
+
buildTextWithPreservedComments(startIndex: number, endIndex: number, newText: string): string;
|
|
48
|
+
findCommentTokensBetween(startIndex: number, endIndex: number): Token[];
|
|
49
|
+
getTokenEndPosition(token: Token): {
|
|
50
|
+
line: number;
|
|
51
|
+
character: number;
|
|
52
|
+
};
|
|
53
|
+
visit(ctx: ParserRuleContext): void;
|
|
54
|
+
visitChildren(ctx: ParserRuleContext): void;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=strategy-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-bridge.d.ts","sourceRoot":"","sources":["../../../src/formatter/core/strategy-bridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAQd,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;QACxC,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;KACjD,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAGnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;gBAER,MAAM,EAAE,sBAAsB;IAG3D,IAAI,OAAO,IAAI,iBAAiB,CAE/B;IAED,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAGD,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAInB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAGD,oBAAoB,IAAI,MAAM;IAK9B,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIhE,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5D,qCAAqC,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5E,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAKtE,iCAAiC,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA6BhF,8BAA8B,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA4BzE,2BAA2B,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBtE,8BAA8B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqB7E,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAetD,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAY7F,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE;IAKvE,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAKtE,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAInC,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;CAG5C"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StrategyFormattingBridge = void 0;
|
|
4
|
+
const core_1 = require("../core");
|
|
5
|
+
/**
|
|
6
|
+
* Implementation of FormattingBridge that provides all formatting operations
|
|
7
|
+
*/
|
|
8
|
+
class StrategyFormattingBridge {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.newlineRegex = /\n/;
|
|
12
|
+
}
|
|
13
|
+
// Context access
|
|
14
|
+
get context() {
|
|
15
|
+
return this.config.context;
|
|
16
|
+
}
|
|
17
|
+
get collector() {
|
|
18
|
+
return this.config.collector;
|
|
19
|
+
}
|
|
20
|
+
get tokens() {
|
|
21
|
+
return this.config.tokens;
|
|
22
|
+
}
|
|
23
|
+
// Indent management
|
|
24
|
+
addIndent() {
|
|
25
|
+
this.config.context.addIndent();
|
|
26
|
+
}
|
|
27
|
+
minusIndent() {
|
|
28
|
+
this.config.context.minusIndent();
|
|
29
|
+
}
|
|
30
|
+
get indent() {
|
|
31
|
+
return this.config.context.indent;
|
|
32
|
+
}
|
|
33
|
+
get newlineIndent() {
|
|
34
|
+
return this.config.context.newlineIndent;
|
|
35
|
+
}
|
|
36
|
+
// Pipe-specific indent (for pipe content with 5-space offset)
|
|
37
|
+
getPipeContentIndent() {
|
|
38
|
+
return this.config.context.getPipeContentIndent();
|
|
39
|
+
}
|
|
40
|
+
// Token lookup
|
|
41
|
+
getPreviousNonHiddenToken(tokenIndex) {
|
|
42
|
+
return (0, core_1.getPreviousNonHiddenToken)(this.config.tokens, tokenIndex);
|
|
43
|
+
}
|
|
44
|
+
getNextNonHiddenToken(tokenIndex) {
|
|
45
|
+
return (0, core_1.getNextNonHiddenToken)(this.config.tokens, tokenIndex);
|
|
46
|
+
}
|
|
47
|
+
getPreviousNonHiddenTokenByStartIndex(startIndex) {
|
|
48
|
+
return (0, core_1.getPreviousNonHiddenTokenByStartIndex)(this.config.tokens, startIndex);
|
|
49
|
+
}
|
|
50
|
+
getNextNonHiddenTokenByStopIndex(stopIndex) {
|
|
51
|
+
return (0, core_1.getNextNonHiddenTokenByStopIndex)(this.config.tokens, stopIndex);
|
|
52
|
+
}
|
|
53
|
+
// Edit operations
|
|
54
|
+
updateAfterPreviousTokenByContext(ctx, newText) {
|
|
55
|
+
const firstToken = ctx._start;
|
|
56
|
+
const previousToken = firstToken.tokenIndex >= 0
|
|
57
|
+
? this.getPreviousNonHiddenToken(firstToken.tokenIndex)
|
|
58
|
+
: this.getPreviousNonHiddenTokenByStartIndex(firstToken.startIndex);
|
|
59
|
+
if (previousToken) {
|
|
60
|
+
if (!this.newlineRegex.test(newText) && previousToken.channel === 2) {
|
|
61
|
+
newText = this.newlineIndent;
|
|
62
|
+
}
|
|
63
|
+
const finalText = this.buildTextWithPreservedComments(previousToken.stopIndex + 1, firstToken.startIndex, newText);
|
|
64
|
+
const prevEndPos = this.getTokenEndPosition(previousToken);
|
|
65
|
+
this.config.collector.addEdit({
|
|
66
|
+
range: {
|
|
67
|
+
start: prevEndPos,
|
|
68
|
+
end: { line: ctx.start.line - 1, character: ctx.start.charPositionInLine }
|
|
69
|
+
},
|
|
70
|
+
newText: finalText
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
updateAfterPreviousTokenByNode(node, newText) {
|
|
75
|
+
const previousToken = node.symbol.tokenIndex >= 0
|
|
76
|
+
? this.getPreviousNonHiddenToken(node.symbol.tokenIndex)
|
|
77
|
+
: this.getPreviousNonHiddenTokenByStartIndex(node.symbol.startIndex);
|
|
78
|
+
if (previousToken) {
|
|
79
|
+
if (!this.newlineRegex.test(newText) && previousToken.channel === 2) {
|
|
80
|
+
newText = this.newlineIndent;
|
|
81
|
+
}
|
|
82
|
+
const finalText = this.buildTextWithPreservedComments(previousToken.stopIndex + 1, node.symbol.startIndex, newText);
|
|
83
|
+
const prevEndPos = this.getTokenEndPosition(previousToken);
|
|
84
|
+
this.config.collector.addEdit({
|
|
85
|
+
range: {
|
|
86
|
+
start: prevEndPos,
|
|
87
|
+
end: { line: node.symbol.line - 1, character: node.symbol.charPositionInLine }
|
|
88
|
+
},
|
|
89
|
+
newText: finalText
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
updateBeforeNextTokenByNode(node, newText) {
|
|
94
|
+
const nextToken = node.symbol.tokenIndex >= 0
|
|
95
|
+
? this.getNextNonHiddenToken(node.symbol.tokenIndex)
|
|
96
|
+
: this.getNextNonHiddenTokenByStopIndex(node.symbol.stopIndex);
|
|
97
|
+
if (nextToken) {
|
|
98
|
+
const finalText = this.buildTextWithPreservedComments(node.symbol.stopIndex + 1, nextToken.startIndex, newText);
|
|
99
|
+
this.config.collector.addEdit({
|
|
100
|
+
range: {
|
|
101
|
+
start: { line: node.symbol.line - 1, character: node.symbol.charPositionInLine + (node.text?.length || 0) },
|
|
102
|
+
end: { line: nextToken.line - 1, character: nextToken.charPositionInLine }
|
|
103
|
+
},
|
|
104
|
+
newText: finalText
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
updateBeforeNextTokenByContext(ctx, newText) {
|
|
109
|
+
const lastToken = ctx._stop;
|
|
110
|
+
if (!lastToken)
|
|
111
|
+
return;
|
|
112
|
+
const nextToken = lastToken.tokenIndex >= 0
|
|
113
|
+
? this.getNextNonHiddenToken(lastToken.tokenIndex)
|
|
114
|
+
: this.getNextNonHiddenTokenByStopIndex(lastToken.stopIndex);
|
|
115
|
+
if (nextToken) {
|
|
116
|
+
const finalText = this.buildTextWithPreservedComments(lastToken.stopIndex + 1, nextToken.startIndex, newText);
|
|
117
|
+
this.config.collector.addEdit({
|
|
118
|
+
range: {
|
|
119
|
+
start: this.getTokenEndPosition(lastToken),
|
|
120
|
+
end: { line: nextToken.line - 1, character: nextToken.charPositionInLine }
|
|
121
|
+
},
|
|
122
|
+
newText: finalText
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
deleteToken(node, newText) {
|
|
127
|
+
const nextToken = this.getNextNonHiddenToken(node.symbol.tokenIndex);
|
|
128
|
+
if (nextToken) {
|
|
129
|
+
const finalText = this.buildTextWithPreservedComments(node.symbol.stopIndex + 1, nextToken.startIndex, newText);
|
|
130
|
+
this.config.collector.addEdit({
|
|
131
|
+
range: {
|
|
132
|
+
start: { line: node.symbol.line - 1, character: node.symbol.charPositionInLine },
|
|
133
|
+
end: { line: nextToken.line - 1, character: nextToken.charPositionInLine }
|
|
134
|
+
},
|
|
135
|
+
newText: finalText
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Comment handling
|
|
140
|
+
buildTextWithPreservedComments(startIndex, endIndex, newText) {
|
|
141
|
+
return (0, core_1.buildTextWithPreservedComments)(this.config.tokens, startIndex, endIndex, newText, this.newlineIndent, this.indent, this.newlineRegex);
|
|
142
|
+
}
|
|
143
|
+
findCommentTokensBetween(startIndex, endIndex) {
|
|
144
|
+
return (0, core_1.findCommentTokensBetween)(this.config.tokens, startIndex, endIndex);
|
|
145
|
+
}
|
|
146
|
+
// Token position
|
|
147
|
+
getTokenEndPosition(token) {
|
|
148
|
+
return (0, core_1.getTokenEndPosition)(token);
|
|
149
|
+
}
|
|
150
|
+
// Child visit delegation
|
|
151
|
+
visit(ctx) {
|
|
152
|
+
this.config.visitor.visit(ctx);
|
|
153
|
+
}
|
|
154
|
+
visitChildren(ctx) {
|
|
155
|
+
this.config.visitor.visitChildren(ctx);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.StrategyFormattingBridge = StrategyFormattingBridge;
|
|
159
|
+
//# sourceMappingURL=strategy-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-bridge.js","sourceRoot":"","sources":["../../../src/formatter/core/strategy-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy Interfaces - Base interfaces for all formatting strategies
|
|
3
|
+
*
|
|
4
|
+
* Each strategy handles formatting for a specific statement type or context.
|
|
5
|
+
* Strategies are composed together in the main visitor.
|
|
6
|
+
*/
|
|
7
|
+
import { CommonTokenStream, Token } from 'antlr4ts';
|
|
8
|
+
import { ParserRuleContext } from 'antlr4ts/ParserRuleContext';
|
|
9
|
+
import { TerminalNode } from 'antlr4ts/tree/TerminalNode';
|
|
10
|
+
import { EditCollector } from './edit-collector';
|
|
11
|
+
import { FormattingContext } from './formatting-context';
|
|
12
|
+
/**
|
|
13
|
+
* Bridge provided to strategies for performing formatting operations
|
|
14
|
+
* This abstracts the underlying visitor implementation from strategies
|
|
15
|
+
*/
|
|
16
|
+
export interface FormattingBridge {
|
|
17
|
+
readonly context: FormattingContext;
|
|
18
|
+
readonly collector: EditCollector;
|
|
19
|
+
readonly tokens: CommonTokenStream;
|
|
20
|
+
addIndent(): void;
|
|
21
|
+
minusIndent(): void;
|
|
22
|
+
get indent(): string;
|
|
23
|
+
get newlineIndent(): string;
|
|
24
|
+
getPipeContentIndent?: () => string;
|
|
25
|
+
getPreviousNonHiddenToken(tokenIndex: number): Token | undefined;
|
|
26
|
+
getNextNonHiddenToken(tokenIndex: number): Token | undefined;
|
|
27
|
+
getPreviousNonHiddenTokenByStartIndex(startIndex: number): Token | undefined;
|
|
28
|
+
getNextNonHiddenTokenByStopIndex(stopIndex: number): Token | undefined;
|
|
29
|
+
updateAfterPreviousTokenByContext(ctx: ParserRuleContext, newText: string): void;
|
|
30
|
+
updateAfterPreviousTokenByNode(node: TerminalNode, newText: string): void;
|
|
31
|
+
updateBeforeNextTokenByNode(node: TerminalNode, newText: string): void;
|
|
32
|
+
updateBeforeNextTokenByContext(ctx: ParserRuleContext, newText: string): void;
|
|
33
|
+
deleteToken(node: TerminalNode, newText: string): void;
|
|
34
|
+
buildTextWithPreservedComments(startIndex: number, endIndex: number, newText: string): string;
|
|
35
|
+
findCommentTokensBetween(startIndex: number, endIndex: number): Token[];
|
|
36
|
+
getTokenEndPosition(token: Token): {
|
|
37
|
+
line: number;
|
|
38
|
+
character: number;
|
|
39
|
+
};
|
|
40
|
+
visit(ctx: ParserRuleContext): void;
|
|
41
|
+
visitChildren(ctx: ParserRuleContext): void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Base interface for all formatting strategies
|
|
45
|
+
*/
|
|
46
|
+
export interface FormattingStrategy {
|
|
47
|
+
/**
|
|
48
|
+
* Unique identifier for this strategy
|
|
49
|
+
*/
|
|
50
|
+
readonly id: string;
|
|
51
|
+
/**
|
|
52
|
+
* Check if this strategy can handle the given context
|
|
53
|
+
*/
|
|
54
|
+
canHandle(ctx: ParserRuleContext): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Format the given context
|
|
57
|
+
*/
|
|
58
|
+
format(ctx: ParserRuleContext, bridge: FormattingBridge): void;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Strategy that handles specific parser context types
|
|
62
|
+
*/
|
|
63
|
+
export interface TypedFormattingStrategy<T extends ParserRuleContext> extends FormattingStrategy {
|
|
64
|
+
/**
|
|
65
|
+
* Format the typed context
|
|
66
|
+
*/
|
|
67
|
+
formatTyped(ctx: T, bridge: FormattingBridge): void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Base class for strategies with common utilities
|
|
71
|
+
*/
|
|
72
|
+
export declare abstract class BaseFormattingStrategy implements FormattingStrategy {
|
|
73
|
+
abstract readonly id: string;
|
|
74
|
+
canHandle(_ctx: ParserRuleContext): boolean;
|
|
75
|
+
format(_ctx: ParserRuleContext, _bridge: FormattingBridge): void;
|
|
76
|
+
/**
|
|
77
|
+
* Helper to add space after a keyword
|
|
78
|
+
*/
|
|
79
|
+
protected addSpaceAfter(node: TerminalNode | undefined, bridge: FormattingBridge): void;
|
|
80
|
+
/**
|
|
81
|
+
* Helper to add space before a keyword
|
|
82
|
+
*/
|
|
83
|
+
protected addSpaceBefore(node: TerminalNode | undefined, bridge: FormattingBridge): void;
|
|
84
|
+
/**
|
|
85
|
+
* Helper to add newline before a keyword
|
|
86
|
+
*/
|
|
87
|
+
protected addNewlineBefore(node: TerminalNode | undefined, bridge: FormattingBridge, indent?: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* Helper to add newline after a keyword
|
|
90
|
+
*/
|
|
91
|
+
protected addNewlineAfter(node: TerminalNode | undefined, bridge: FormattingBridge, indent?: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Format IF NOT EXISTS clause
|
|
94
|
+
*/
|
|
95
|
+
protected formatIfNotExists(ifNode: TerminalNode | undefined, notContext: ParserRuleContext | undefined, existsNode: TerminalNode | undefined, bridge: FormattingBridge): void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Strategy registry for managing and dispatching to strategies
|
|
99
|
+
*/
|
|
100
|
+
export interface StrategyRegistry {
|
|
101
|
+
/**
|
|
102
|
+
* Register a strategy
|
|
103
|
+
*/
|
|
104
|
+
register(strategy: FormattingStrategy): void;
|
|
105
|
+
/**
|
|
106
|
+
* Get strategy for a context
|
|
107
|
+
*/
|
|
108
|
+
getStrategy(ctx: ParserRuleContext): FormattingStrategy | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Get all registered strategies
|
|
111
|
+
*/
|
|
112
|
+
getAllStrategies(): FormattingStrategy[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Default strategy registry implementation
|
|
116
|
+
*/
|
|
117
|
+
export declare class DefaultStrategyRegistry implements StrategyRegistry {
|
|
118
|
+
private strategies;
|
|
119
|
+
register(strategy: FormattingStrategy): void;
|
|
120
|
+
getStrategy(ctx: ParserRuleContext): FormattingStrategy | undefined;
|
|
121
|
+
getAllStrategies(): FormattingStrategy[];
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=strategy-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-interface.d.ts","sourceRoot":"","sources":["../../../src/formatter/core/strategy-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultStrategyRegistry = exports.BaseFormattingStrategy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base class for strategies with common utilities
|
|
6
|
+
*/
|
|
7
|
+
class BaseFormattingStrategy {
|
|
8
|
+
canHandle(_ctx) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
format(_ctx, _bridge) {
|
|
12
|
+
// Default: do nothing
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Helper to add space after a keyword
|
|
16
|
+
*/
|
|
17
|
+
addSpaceAfter(node, bridge) {
|
|
18
|
+
if (node) {
|
|
19
|
+
bridge.updateBeforeNextTokenByNode(node, ' ');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Helper to add space before a keyword
|
|
24
|
+
*/
|
|
25
|
+
addSpaceBefore(node, bridge) {
|
|
26
|
+
if (node) {
|
|
27
|
+
bridge.updateAfterPreviousTokenByNode(node, ' ');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Helper to add newline before a keyword
|
|
32
|
+
*/
|
|
33
|
+
addNewlineBefore(node, bridge, indent) {
|
|
34
|
+
if (node) {
|
|
35
|
+
bridge.updateAfterPreviousTokenByNode(node, indent ?? bridge.newlineIndent);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Helper to add newline after a keyword
|
|
40
|
+
*/
|
|
41
|
+
addNewlineAfter(node, bridge, indent) {
|
|
42
|
+
if (node) {
|
|
43
|
+
bridge.updateBeforeNextTokenByNode(node, indent ?? bridge.newlineIndent);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Format IF NOT EXISTS clause
|
|
48
|
+
*/
|
|
49
|
+
formatIfNotExists(ifNode, notContext, existsNode, bridge) {
|
|
50
|
+
if (ifNode) {
|
|
51
|
+
bridge.updateAfterPreviousTokenByNode(ifNode, ' ');
|
|
52
|
+
bridge.updateBeforeNextTokenByNode(ifNode, ' ');
|
|
53
|
+
}
|
|
54
|
+
if (notContext) {
|
|
55
|
+
bridge.updateAfterPreviousTokenByContext(notContext, ' ');
|
|
56
|
+
bridge.updateBeforeNextTokenByContext(notContext, ' ');
|
|
57
|
+
}
|
|
58
|
+
if (existsNode) {
|
|
59
|
+
bridge.updateAfterPreviousTokenByNode(existsNode, ' ');
|
|
60
|
+
bridge.updateBeforeNextTokenByNode(existsNode, ' ');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.BaseFormattingStrategy = BaseFormattingStrategy;
|
|
65
|
+
/**
|
|
66
|
+
* Default strategy registry implementation
|
|
67
|
+
*/
|
|
68
|
+
class DefaultStrategyRegistry {
|
|
69
|
+
constructor() {
|
|
70
|
+
this.strategies = [];
|
|
71
|
+
}
|
|
72
|
+
register(strategy) {
|
|
73
|
+
this.strategies.push(strategy);
|
|
74
|
+
}
|
|
75
|
+
getStrategy(ctx) {
|
|
76
|
+
return this.strategies.find(s => s.canHandle(ctx));
|
|
77
|
+
}
|
|
78
|
+
getAllStrategies() {
|
|
79
|
+
return [...this.strategies];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.DefaultStrategyRegistry = DefaultStrategyRegistry;
|
|
83
|
+
//# sourceMappingURL=strategy-interface.js.map
|