Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andreyrusyaev/dotnet-kilo

C#/.Net port of antirez kilo editor. VT100 terminal text-editor with highlighting and incremental search.
https://github.com/andreyrusyaev/dotnet-kilo

csharp dotnet kilo syntax-highlighting terminal text-editor vt100

Last synced: about 2 months ago
JSON representation

C#/.Net port of antirez kilo editor. VT100 terminal text-editor with highlighting and incremental search.

Awesome Lists containing this project

README

        

.Net/C# port of awesome antirez kilo text editor https://github.com/antirez/kilo.
Based on another awesome implementation described in [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo/).
Works in Linux, MacOS and Windows terminals (sh, bash, zsh, cmd, powershell, etc.).

## Screens

![image](https://github.com/user-attachments/assets/4cc6457d-deca-49e0-ae19-64dccc5663cc)

## Prerequisites

* .NET 8.0 or later
``` shell
dotnet --version
# Expected output: 8.0.X
```

HOWTO: Install .NET 8 on Windows, Linux, and macOS

### Windows
``` shell
# run in elevated shell
winget install Microsoft.DotNet.SDK.8
```

### Ubuntu
``` shell
# Register Microsoft packages feed (https://learn.microsoft.com/en-us/linux/packages)
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

# installation
sudo apt update && sudo apt-get install -y dotnet-sdk-8.0
```

### MacOS
``` shell
brew install dotnet
```

### See also
[Install .NET on Windows, Linux, and macOS](https://learn.microsoft.com/en-us/dotnet/core/install/)

## Usage

``` bash
git clone https://github.com/AndreyRusyaev/dotnet-kilo/
cd dotnet-kilo
dotnet run
```

## Changes

* Basic unicode support
* Added support for Windows terminals (CMD, Powershell, WSL).
* Alternate screen mode support (XTERM 1049 mode)
* Abstracted VT100 sequences (see VT100.cs)

## List of remarkable kilo ports/implementations

* [kilo-tutorial (C)](https://github.com/snaptoken/kilo-src/) via [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo/)
* [kiro-editor (Rust)](https://github.com/rhysd/kiro-editor)
* [kibi (Rust)](https://github.com/ilai-deutel/kibi)
* [hecto (Rust)](https://github.com/pflenker/hecto-tutorial) via [hecto: Build Your Own Text Editor in Rust](https://www.flenker.blog/hecto/)
* [gram (Zig)](https://github.com/eightfilms/gram)
* [kilo.zig (Zig)](https://github.com/h4rr9/kilo.zig)
* [kilo-in-go (Go)](https://github.com/bediger4000/kilo-in-go)