Skip to content

Implement functions command in REPL#1

Open
Queenode wants to merge 48 commits into
mainfrom
feature/functions-repl
Open

Implement functions command in REPL#1
Queenode wants to merge 48 commits into
mainfrom
feature/functions-repl

Conversation

@Queenode

@Queenode Queenode commented Mar 28, 2026

Copy link
Copy Markdown
Owner

Adding Functions Command To REPL

Key Changes:

  • REPL Command Parsing: Added Functions variant to ReplCommand and updated the parser to recognize the functions command.
  • REPL Session: Integrated the functions command into the help menu and command loop.
  • REPL Executor: Leveraged existing display_functions method to output function signatures.
  • Fixed Build Errors: Corrected several existing project-wide build errors in src/plugin/loader.rs, src/cli/commands.rs, src/cli/args.rs, and src/main.rs that were preventing compilation and testing.

Verification:

  • Verified that the project compiles successfully with cargo check.
  • Tested the REPL command manually (simulated via tests) to ensure correct output formatting.

Ogstevyn and others added 30 commits March 26, 2026 23:14
Add RuntimeError::Timeout { elapsed_ms, limit_ms } and
RuntimeError::Cancelled { reason } variants to replace stringly-typed
timeout and cancellation errors. Include helper constructors and
predicate methods (is_timeout, is_cancelled) for ergonomic usage.

Closes Timi16#505
…ants

Migrate all stringly-typed timeout and cancellation error returns in
executor.rs to use the new RuntimeError::Timeout and
RuntimeError::Cancelled structured variants. This enables downstream
consumers to programmatically distinguish error causes.
Pattern-match on RuntimeError::Timeout and RuntimeError::Cancelled
in the CLI layer to provide user-friendly messages and appropriate
exit codes (124 for timeout, 130 for cancellation). Includes hint
about --timeout flag for timeout errors.
Add TypeScript interfaces for TimeoutError and CancellationError,
a parseRuntimeError helper to deserialize structured errors from
the runtime, and formatDapError for user-friendly DAP messages.
Update error response handling to use structured error parsing.
Add comprehensive tests covering:
- Display formatting for Timeout and Cancelled variants
- Predicate methods (is_timeout, is_cancelled)
- Field extraction via pattern matching
- Constructor helper methods
Timi16 and others added 18 commits March 27, 2026 08:50
…rrors

feat: return structured timeout and cancellation errors
feat: scenario runner support for importing shared step fragments (cl…
feat: cache compiled WASM fixtures to cut test rebuild time Timi16#541
- Timi16#508: Enrich inspect --functions output with source/debug metadata
  - Added has_source_debug field to JSON function listings
  - Added Source/Debug column to pretty-printed function table
  - Used SourceMap.function_has_source_mapped() for detection

- Timi16#524: Add coverage metrics to symbolic execution report
  - Added coverage_fraction and uncovered_regions to SymbolicReportMetadata
  - Report now shows explored branch/function coverage percentage
  - Uncovered regions are highlighted when coverage < 100%

- Timi16#546: Make check_manpages.sh portable beyond BSD mktemp defaults
  - Uses explicit mktemp template with TMPDIR support
  - Honours TMPDIR env variable for CI/sandbox portability
  - Replaced Unicode symbols with ASCII for cross-platform output

- Timi16#535: Add searchable and paged storage viewer for large snapshots
  - Added searchStorage() and pagedStorage() to VariableStore
  - Added storage.search, storage.page, storage.count commands
  - Updated VS Code extension README with usage documentation

Additional fixes:
- Fixed RuntimeError missing Display impl (timeout_cancellation_tests)
- Fixed scenario.rs build error (undefined variable reference)
- Fixed test struct initializers for updated SymbolicReportMetadata
@Queenode Queenode force-pushed the feature/functions-repl branch from 7fb86a4 to 87f3e37 Compare March 28, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants