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.

editor-tooling.voidDownload fragment
func reading_total(reading: i32, count: i32) -> i32:
    return reading * count

Understand 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.