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]*$/
|---|
,--||--
:
:
- center
right
:
- left