Skip to content

xrepl/protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xrepl/protocol

Build Status LFE Versions Erlang Versions Tags

Project Logo

Complete wire protocol implementation for xREPL - 83 operations across 12 modules with 100% spec coverage

Status

Production Ready - All 83 operations from the unified xREPL specification are implemented with 776 comprehensive tests.

Overview

This library provides a complete implementation of the xREPL protocol:

  • 83 operations across 12 organized modules
  • MessagePack encoding/decoding with length framing
  • Request/response builders for all operations
  • Comprehensive message validation
  • Field aliasing for client compatibility (Emacs, VSCode, etc.)
  • Full error handling and standardization

Protocol Operations

The protocol is organized into 12 modules covering:

  • Session Management - Session lifecycle and state
  • Code Evaluation - Execution and file loading
  • System & Introspection - Server capabilities and health
  • Code Intelligence - Completion, signatures, formatting
  • Navigation - Symbol lookup and definitions
  • Documentation - Doc access and generation
  • Debugging - Breakpoints, stepping, inspection
  • Testing - Test execution and coverage
  • Refactoring - Symbol rename, function extraction
  • Compilation - Building and static analysis
  • BEAM Operations - Hot reload, process inspection
  • Advanced Features - Macros, profiling, LSP integration

Installation

Add to your rebar.config:

{deps, [
    {xrepl_protocol, "0.2.0"}
]}.

Usage

;; Encoding an eval request
(let ((request (xrepl-ptcl-ops-eval:eval-request #m(code "(+ 1 2)"))))
  (xrepl-ptcl-msgpack:encode request))

;; Decoding a response
(case (xrepl-ptcl-msgpack:decode binary-data)
  (`#(ok ,message)
   (xrepl-ptcl-ops-eval:parse-response 'eval message)))

Testing

Run the full test suite:

rebar3 as test eunit

All 776 tests passing ✅

License

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published