LEARN VOID / TOOLING & INTEGRATION
Editor tooling & diagnostics
Keep feedback close to the code you wrote.
Illustrative function fragment. Use reading_total(reading, count) as a small source-navigation target: its declaration names both parameters and its return type. This function returns their product; it does not assert that a particular completion or hover UI is already distributed.
func reading_total(reading: i32, count: i32) -> i32:
return reading * countUnderstand source, not backend machinery
VOID’s diagnostic direction is clear .void locations, useful ranges and explanations that refer to language concepts. Normal errors should not require understanding generated LLVM IR, mangled symbols or linker internals.
One language service
The shared language server uses compiler-owned analysis for diagnostics and navigation. Current development adds completion, hover, signature help, symbols and guarded editing operations across editor integrations. These capabilities are still in development, with no public editor builds distributed here.
Edits need semantic boundaries
Rename and formatting deliberately operate on supported cases. Rename is not a universal operation on every declaration kind. Formatting is conservative rather than a full reflow or import-sorting system. Semantic highlighting and general code actions are not promised by the current server.
The experience being built
The goal is a useful everyday editor: quick answers about types and parameters, navigation that follows actual declarations, and feedback that stays attached to current source. Package discovery belongs to the future ecosystem; a native package manager is not available.