MCPcopy Create free account
hub / github.com/RightNow-AI/rightnow-cli / _parse_kernels

Method _parse_kernels

rightnow_cli/interactive.py:201–243  ·  view source on GitHub ↗

Parse kernels from file.

(self, file: Path)

Source from the content-addressed store, hash-verified

199 return None
200
201 def _parse_kernels(self, file: Path) -> List[Dict[str, Any]]:
202 """Parse kernels from file."""
203 try:
204 with open(file, 'r', encoding='utf-8', errors='ignore') as f:
205 content = f.read()
206
207 pattern = r'__global__\s+(?:void|[\w\<\>\*\&]+)\s+(\w+)\s*\((.*?)\)'
208 matches = re.finditer(pattern, content, re.MULTILINE)
209
210 kernels = []
211 for match in matches:
212 name = match.group(1)
213 params = match.group(2).strip()
214 line = content[:match.start()].count('\n') + 1
215
216 # Extract full kernel
217 start = match.end()
218 brace_count = 0
219 end = start
220 in_kernel = False
221
222 for i, char in enumerate(content[start:], start):
223 if char == '{':
224 brace_count += 1
225 in_kernel = True
226 elif char == '}':
227 brace_count -= 1
228 if in_kernel and brace_count == 0:
229 end = i + 1
230 break
231
232 code = content[match.start():end]
233
234 kernels.append({
235 'name': name,
236 'params': params,
237 'line': line,
238 'code': code
239 })
240
241 return kernels
242 except Exception as e:
243 return []
244
245 def _select_kernels(self, kernels: List[Dict]) -> List[Dict]:
246 """Select kernels with checkboxes."""

Callers 2

_optimize_workflowMethod · 0.95
_select_fileMethod · 0.95

Calls 1

startMethod · 0.45

Tested by

no test coverage detected