字段( tab- stops) 解析器
解析片段字段( aka) 选项卡喜欢 ${1:foo} 在给定字符串中,并生成一个包含无字段和字段位置列表的干净字符串的模型.
用法实例
import parse from '@emmetio/field-parser';
const fieldModel = parse('foo $0 ${1:bar} ${2}${1}');
console.log(fieldModel.string);
// outputs "foo bar "
// `.fields` is array of `{index, location, length}` fields
console.log(fieldModel.fields);
// outputs:
// {index: 0, location: 4, length: 0}
// {index: 1, location: 5, length: 3}
// {index: 2, location: 9, length: 0}
// {index: 1, location: 9, length: 0}
也可以用字段标记字符串 :
import { mark } from '@emmetio/field-parser';
const marked = mark('foo bar', [
{index: 1, location: 0, length: 3},
{index: 5, location: 4, length: 3},
]);
console.log(marked); // ${1:foo} ${5:bar}
...或解析字符串然后使用已建 mark 方法 :
import parse from '@emmetio/field-parser';
const fieldModel = parse('foo $0 ${1:bar} ${2}${1}');
fieldModel.forEach(field => field.index += 100);
console.log(fieldModel.mark()); // foo $100 ${101:bar} ${102}${101}