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

Function parseSubscriptIndex

src/utils/bash/bashParser.ts:1558–1577  ·  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

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

Callers 1

tryParseAssignmentFunction · 0.85

Calls 3

sliceBytesFunction · 0.85
mkFunction · 0.70
hasMethod · 0.45

Tested by

no test coverage detected