Bringing Emmet to Phlex: Building a Language Server for Ruby View Components
How I built a Rust language server that turns a practical subset of Emmet syntax into Phlex Ruby code.
Software Engineer passionate about computer science and distributed systems.
Welcome to my blog where I write about programming languages, distributed systems, and software engineering. Currently exploring topics in Rust, Elixir, and programming language design.
Recent work includes OxyLisp, a Lisp interpreter written in Rust that covers lexing, parsing, and evaluation from scratch, and a language server for the Emmet abbreviation syntax in Phlex templates. Posts aim to be practical: real implementations, real trade-offs, and code you can run yourself rather than abstract theory.
How I built a Rust language server that turns a practical subset of Emmet syntax into Phlex Ruby code.
Bringing our Lisp to life - evaluating the AST to run programs.
How Oxylisp uses recursive descent and delimiter matching to turn a flat token stream into a nested abstract syntax tree.
Build Oxylisp's Rust lexer, then examine where delimiter padding, regular expressions, and lossy number handling break down.