-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
我理解作为一个parser为了简单可以跳过WhiteSpace,但如果要做得精致和完美我希望可以重新加入WhiteSpace功能(但在默认Format时可以选择跳过),这可以让客户在格式化选项时可以自定义保留的缩进等信息
比如SELECT * FROM MyTable
当前解析结果(不保留WS):
假设当前解析器的实现不保留WS的token,仅仅是对SQL中的关键字和标识符进行解析。根据通常的解析器工作流,这个输入可能被解析为如下结构:
SELECT- 关键字*- 通配符FROM- 关键字MyTable- 表名
这种解析器实现会忽略所有的空格和换行符等,这意味着它不会对缩进或格式化风格有任何保留。
希望的解析结果(保留WS):
在您的建议中,希望能够在解析过程中加入WS的token,同时允许用户在格式化时有选择性地保留这些信息。这可能的解析结果如下:
SELECT- 关键字WS- 空格(在SELECT后)*- 通配符WS- 空格(在*和FROM之间)FROM- 关键字WS- 空格(在FROM和MyTable之间)MyTable- 表名
通过引入WS token,您可以更灵活地格式化输出,同时仍然支持默认选择跳过这些Token。在应用程序的格式化选项中,您可以提供一个配置选项,让用户决定是否在输出中保留这些空白符。
Metadata
Metadata
Assignees
Labels
No labels