Developers
These pages are for people who work on Runesmith itself. To extend Runesmith without changing it, see Plugins.
Runesmith is a .NET 10 solution of small projects, each with one job: a text buffer, a language server client, the language services and the C# analyzer, the plugin API, the composition of parts, the workspace, languages, the editor control, the shell and the executable. Its user interface comes from HammerUI, a UI library for Avalonia from the same author.
The projects, how they depend on each other and how a key press becomes an edit.
Language servicesHow analyzers answer completion and the other requests, and how typing is measured.
Building and testingBuild without warnings, with or without a HammerUI checkout.
Running and debuggingRun from source with a clean profile and startup diagnostics.
ContributingCode rules, commits and pull requests.