UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

34 lines (33 loc) 1.27 kB
import { BaseParseStrategy } from './BaseParseStrategy.js'; export class CssParseStrategy extends BaseParseStrategy { parseCapture(capture, lines, processedChunks, _context) { const { node, name } = capture; const startRow = node.startPosition.row; const endRow = node.endPosition.row; if (!this.validateLineExists(lines, startRow)) { return null; } const isCommentCapture = name.includes('comment'); const isSelectorCapture = name.includes('selector') || name.includes('definition.selector'); const isAtRuleCapture = name.includes('at_rule') || name.includes('definition.at_rule'); const shouldSelect = isCommentCapture || isSelectorCapture || isAtRuleCapture; if (!shouldSelect) { return null; } let selectedLines; if (isCommentCapture) { selectedLines = lines.slice(startRow, endRow + 1); } else { selectedLines = [lines[startRow]]; } if (selectedLines.length < 1) { return null; } const chunk = selectedLines.join('\n'); if (!this.checkAndAddToProcessed(chunk, processedChunks)) { return null; } return chunk; } }