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

Function parseDoGroup

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

Source from the content-addressed store, hash-verified

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

Tested by

no test coverage detected