本地优先AI智能体实战:Minke与DeepSeek Harness配置与避坑指南
2026/9/24 23:59:17
describe("text",()=>{it("simple text",()=>{constast=baseParse("some text")expect(ast.children[0]).toStrictEqual({type:NodeTypes.TEXT,content:"some text"})})})// compiler-core/parse.tsfunctionparseChildren(context){constnodes:any[]=[]letnode:anyconsts=context.sourceif(s.startsWith('{{')){node=parseInterpolation(context)}elseif(s[0]==='<'){if(/[a-z]/i.test(context.source[1])){node=parseElement(context)}}if(!node){// ✅ text类型node=parseText(context)}nodes.push(node)returnnodes}functionparseText(context:any){// ✅ 解析过程// 1. 获取 contentconstcontent=parseTextData(context,context.source.length)// 2. 推进advanceBy(context,content.length)return{type:NodeTypes.TEXT,content:"some text"}}// ✅ 函数抽离functionparseTextData(context:any,length:number){returncontext.source.slice(0,length)}// src/ast.tsexportconstenumNodeTypes{INTERPOLATION,SIMPLE_EXPRESSION,ELEMENT,TEXT// ✅}