MCPcopy Index your code
hub / github.com/claude-code-best/claude-code / parseDoGroup

Function parseDoGroup

src/utils/bash/bashParser.ts:3302–3316  ·  view source on GitHub ↗
(P: ParseState)

Source from the content-addressed store, hash-verified

3300}
3301
3302function parseDoGroup(P: ParseState): TsNode | null {
3303 skipNewlines(P)
3304 const save = saveLex(P.L)
3305 const doTok = nextToken(P.L, 'cmd')
3306 if (doTok.type !== 'WORD' || doTok.value !== 'do') {
3307 restoreLex(P.L, save)
3308 return null
3309 }
3310 const doKw = leaf(P, 'do', doTok)
3311 const body = parseStatements(P, null)
3312 const kids: TsNode[] = [doKw, ...body]
3313 consumeKeyword(P, 'done', kids)
3314 const last = kids[kids.length - 1]!
3315 return mk(P, 'do_group', doKw.startIndex, last.endIndex, kids)
3316}
3317
3318function parseCase(P: ParseState, caseTok: Token): TsNode {
3319 const caseKw = leaf(P, 'case', caseTok)

Callers 2

parseWhileFunction · 0.85
parseForFunction · 0.85

Calls 8

skipNewlinesFunction · 0.85
saveLexFunction · 0.85
nextTokenFunction · 0.85
restoreLexFunction · 0.85
leafFunction · 0.85
parseStatementsFunction · 0.85
consumeKeywordFunction · 0.85
mkFunction · 0.70

Tested by

no test coverage detected