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

Function parseSubscriptIndex

src/utils/bash/bashParser.ts:1562–1581  ·  view source on GitHub ↗

Legacy byte-range subscript index parser — kept for callers that pre-scan.

(
  P: ParseState,
  startB: number,
  endB: number,
)

Source from the content-addressed store, hash-verified

1560
1561/** Legacy byte-range subscript index parser — kept for callers that pre-scan. */
1562function parseSubscriptIndex(
1563 P: ParseState,
1564 startB: number,
1565 endB: number,
1566): TsNode {
1567 const text = sliceBytes(P, startB, endB)
1568 if (/^\d+$/.test(text)) return mk(P, 'number', startB, endB, [])
1569 const m = /^\$([a-zA-Z_]\w*)$/.exec(text)
1570 if (m) {
1571 const dollar = mk(P, '$', startB, startB + 1, [])
1572 const vn = mk(P, 'variable_name', startB + 1, endB, [])
1573 return mk(P, 'simple_expansion', startB, endB, [dollar, vn])
1574 }
1575 if (text.length === 2 && text[0] === '$' && SPECIAL_VARS.has(text[1]!)) {
1576 const dollar = mk(P, '$', startB, startB + 1, [])
1577 const vn = mk(P, 'special_variable_name', startB + 1, endB, [])
1578 return mk(P, 'simple_expansion', startB, endB, [dollar, vn])
1579 }
1580 return mk(P, 'word', startB, endB, [])
1581}
1582
1583/**
1584 * Can the current position start a redirect destination literal?

Callers 1

tryParseAssignmentFunction · 0.85

Calls 3

sliceBytesFunction · 0.85
mkFunction · 0.85
hasMethod · 0.45

Tested by

no test coverage detected