Source spans & ranged diagnostics
Implemented End-exclusive source ranges flow through tokens/syntax and one shared lexer/parser/semantic diagnostic model.
VOID Tooling
voidc now carries the same compiler semantics from command-line checking into live editor diagnostics, hover, signature help, completion, navigation, references, symbols, and synchronized multi-file unsaved state.
Tooling block complete
voidc.The language server does not duplicate parsing, type checking, overload resolution, access rules, or project discovery. It asks the compiler the same questions normal compilation already knows how to answer.
Implemented End-exclusive source ranges flow through tokens/syntax and one shared lexer/parser/semantic diagnostic model.
voidc checkImplemented Full front-end validation without C generation, native compilation, or build outputs.
Implemented Persistent analyzed projects answer symbol, type, definition, member, callable, completion, reference, and symbol queries.
Implemented Generated C #line mappings let native debug information point back to original .void files and lines.
voidc lsp lifecycle & documentsImplemented Framed JSON-RPC, initialize/shutdown lifecycle, full-document synchronization, versioned in-memory text, project discovery, and UTF-16/LSP position conversion.
Implemented Lexer, parser, and semantic diagnostics publish directly from unsaved buffers and clear as source is fixed or closed.
Implemented Compiler bindings provide typed hover labels, overload sets, constructors, delegates, optional/params signatures, named-argument mapping, and active-parameter selection.
Implemented Instance/static/inherited members, accessibility filtering, enums, locals, parameters, project types, namespaces, and LSP completion kinds come from real semantic state.
Implemented Cross-file definition lookup, declaration-identity references, document symbols, and workspace symbol filtering use compiler-owned declarations and bindings.
Implemented All open files in a project are analyzed as one in-memory snapshot. Dependent diagnostics refresh across unsaved edits, temporarily broken source does not poison later requests, and closing a file falls back to disk.
./bin/voidc lsp
// Compiler-backed features:
publishDiagnostics
hover
signatureHelp
completion
definition
references
documentSymbol
workspace/symbolWhat comes next
The next public roadmap phase closes remaining object-model and language gaps: constructor chaining/delegation, interface inheritance, struct interface implementation, virtual properties, event/delegate completion, and the conditional expression. A future VS Code extension can stay thin because the language intelligence already lives in voidc lsp.