use vscode api:
vscode.languages.registerDocumentRangeFormattingEditProvider 注册‘文档选中一个范围内容,对其做格式化’的提供者
provideDocumentRangeFormattingEdits vscode.languages.registerDocumentFormattingEditProvider 注册‘对整个文档做格式化’的提供者
provideDocumentFormattingEdits // table row
/\r\n|\r|\n/
// table = header row + separator row + body rows
// separator
/^ *:?-+:? *$/
state 数据对象,每一个解析的所有过程的共享数据
rule 对原数据做匹配处理的
分inline,block
定义不同元素的匹配规则rule
block
0x0A将文本按行记录行首/行末position主要为验证是否为标准的table,解析table行列的position
code处理/^[-:|][-:|\s]*$/|---|,--||--: : - centerright: - left