使用fig时随着不断的输入数据,suggestion是会不断的筛选命中和高亮的。实际测试分析发现了高亮的logic
逻辑
- 补全list生成的同时计算当前输入命令光标到开始匹配的N个字符,定义为charactersToDrop=N
- N个字符split变成字符数组,每个字符进行match高亮,采用懒惰匹配
- 当用户回车时,终端先删除N个字符,write进命中补全-值
- 用户回车选中suggestion
举例
输入cd ar
,charactersToDrop=2
每个字符进行命中,a命中后,r继续匹配命中,但是r一定要是在a以后进行匹配