Dotnet Kilo
Dotnet Kilo is a cross-platform .NET 8 port of the antirez kilo text editor, based on the "Build Your Own Text Editor" tutorial. Written in C#, it targets the tools domain and demonstrates how a minimal terminal-based text editor can be implemented using modern .NET while maintaining compatibility across multiple operating systems and shell environments.
The editor works in Linux, macOS, and Windows terminals, supporting sh, bash, zsh, cmd, and PowerShell as host shells. This broad compatibility is achieved through several platform-specific adaptations built on top of the original kilo design. The port adds basic Unicode support, allowing the editor to handle non-ASCII characters that the original C implementation did not address. Windows terminal compatibility required additional work to bridge differences in how Windows consoles handle input and output compared to Unix-style terminals.
The implementation includes alternate screen mode using XTERM 1049 escape sequences, which allows the editor to switch to a dedicated screen buffer on launch and restore the original terminal content on exit. This prevents the editor from polluting the user's scrollback history. VT100 escape sequences are abstracted into a reusable layer, decoupling the editor's rendering logic from the specific terminal escape codes required by different platforms.
Dotnet Kilo is hosted on GitHub under the alawein organization and is in active development at P2 priority. The project is tagged for .NET, editor, and tooling use cases. It serves both as a learning exercise in terminal programming with .NET and as a functional lightweight text editor for environments where a full IDE is not available or practical.