<commit_before><h1 align="center">
  <a href="https://github.com/xi-editor/xi-editor"><img src="icons/xi-editor.png" alt="Xi Editor" width="256" height="256"/></a><br>
  <a href="https://github.com/xi-editor/xi-editor">Xi Editor</a>
</h1>

<p align="center"><em>(pronounced "Zigh")</em></p>

<h4 align="center">A modern editor with a backend written in Rust.</h4>

***Note:*** *This is repo contains only the editor core, which is not usable on its own. For editors based on it, check out the list in [Frontends](#frontends).*

The xi-editor project is an attempt to build a high quality text editor,
using modern software engineering techniques. It is initially built for
macOS, using Cocoa for the user interface. There are also frontends for
other operating systems available from third-party developers.

Goals include:

* ***Incredibly high performance***. All editing operations should commit and paint
  in under 16ms. The editor should never make you wait for anything.

* ***Beauty***. The editor should fit well on a modern desktop, and not look like a
  throwback from the ’80s or ’90s. Text drawing should be done with the best
  technology available (Core Text on Mac, DirectWrite on Windows, etc.), and
  support Unicode fully.

* ***Reliability***. Crashing, hanging, or losing work should never happen.

* ***Developer friendliness***. It should be easy to customize xi editor, whether
  by adding plug-ins or hacking on the core.

**Learn more** with the creator of Xi, <NAME>, in this [Recurse Center Localhost talk](https://www.recurse.com/events/localhost-raph-levien
).

Screenshot (will need to be updated as syntax coloring and UI polish is added):

![xi-mac screenshot](/docs/docs/img/xi-mac-screenshot.png?raw=true)


## Getting started

This repository is the core only. You'll also need a front-end, from the list
below.


### Building the core

Xi-editor targets 'recent stable Rust'. We recommend installing via [rustup](https://www.rustup.rs).
The current minimum supported version is 1.31.

To build the xi-editor core from the root directory of this repo:

```
> cd rust
> cargo build
```


## Frontends

Here are some front-ends in various stages of development:

* [xi-mac](https://github.com/xi-editor/xi-mac), the official macOS front-end.

* [fuchsia/xi](https://fuchsia.googlesource.com/topaz/+/master/bin/xi/), a front-end in Flutter for Fuchsia.

* [xi-gtk](https://github.com/eyelash/xi-gtk), a GTK+ front-end.

* [xi-term](https://github.com/xi-frontend/xi-term), a text UI.

* [xi-electron](https://github.com/acheronfail/xi-electron), a cross-platform front-end based on web-technologies.

* [gxi](https://github.com/Cogitri/gxi), a GTK+ front-end written in Rust. Forked from https://github.com/bvinc/gxi, which was abandoned.

* [xi-win](https://github.com/xi-editor/xi-win), an experimental Windows front-end written in Rust.

* [kod](https://github.com/linde12/kod), a terminal frontend written in Golang.

* [xi-qt](https://github.com/sw5cc/xi-qt), a Qt front-end.

The following are currently inactive, based on earlier versions of the front-end
protocol, but perhaps could be revitalized:

* [xi_glium](https://github.com/potocpav/xi_glium), an
experimental GL-based front-end in Rust.

* [XiEditorVS2015](https://github.com/Sineaggi/XiEditorVS2015), C#.

* [xi-android](https://github.com/adrientetar/xi-android), an Android frontend.
<commit_msg>gxi has been renamed to Tau<commit_after><h1 align="center">
  <a href="https://github.com/xi-editor/xi-editor"><img src="icons/xi-editor.png" alt="Xi Editor" width="256" height="256"/></a><br>
  <a href="https://github.com/xi-editor/xi-editor">Xi Editor</a>
</h1>

<p align="center"><em>(pronounced "Zigh")</em></p>

<h4 align="center">A modern editor with a backend written in Rust.</h4>

***Note:*** *This is repo contains only the editor core, which is not usable on its own. For editors based on it, check out the list in [Frontends](#frontends).*

The xi-editor project is an attempt to build a high quality text editor,
using modern software engineering techniques. It is initially built for
macOS, using Cocoa for the user interface. There are also frontends for
other operating systems available from third-party developers.

Goals include:

* ***Incredibly high performance***. All editing operations should commit and paint
  in under 16ms. The editor should never make you wait for anything.

* ***Beauty***. The editor should fit well on a modern desktop, and not look like a
  throwback from the ’80s or ’90s. Text drawing should be done with the best
  technology available (Core Text on Mac, DirectWrite on Windows, etc.), and
  support Unicode fully.

* ***Reliability***. Crashing, hanging, or losing work should never happen.

* ***Developer friendliness***. It should be easy to customize xi editor, whether
  by adding plug-ins or hacking on the core.

**Learn more** with the creator of Xi, <NAME>, in this [Recurse Center Localhost talk](https://www.recurse.com/events/localhost-raph-levien
).

Screenshot (will need to be updated as syntax coloring and UI polish is added):

![xi-mac screenshot](/docs/docs/img/xi-mac-screenshot.png?raw=true)


## Getting started

This repository is the core only. You'll also need a front-end, from the list
below.


### Building the core

Xi-editor targets 'recent stable Rust'. We recommend installing via [rustup](https://www.rustup.rs).
The current minimum supported version is 1.31.

To build the xi-editor core from the root directory of this repo:

```
> cd rust
> cargo build
```


## Frontends

Here are some front-ends in various stages of development:

* [xi-mac](https://github.com/xi-editor/xi-mac), the official macOS front-end.

* [fuchsia/xi](https://fuchsia.googlesource.com/topaz/+/master/bin/xi/), a front-end in Flutter for Fuchsia.

* [xi-gtk](https://github.com/eyelash/xi-gtk), a GTK+ front-end.

* [xi-term](https://github.com/xi-frontend/xi-term), a text UI.

* [xi-electron](https://github.com/acheronfail/xi-electron), a cross-platform front-end based on web-technologies.

* [Tau](https://gitlab.gnome.org/World/Tau), a GTK+ front-end written in Rust. Forked from https://github.com/bvinc/gxi, which was abandoned.

* [xi-win](https://github.com/xi-editor/xi-win), an experimental Windows front-end written in Rust.

* [kod](https://github.com/linde12/kod), a terminal frontend written in Golang.

* [xi-qt](https://github.com/sw5cc/xi-qt), a Qt front-end.

The following are currently inactive, based on earlier versions of the front-end
protocol, but perhaps could be revitalized:

* [xi_glium](https://github.com/potocpav/xi_glium), an
experimental GL-based front-end in Rust.

* [XiEditorVS2015](https://github.com/Sineaggi/XiEditorVS2015), C#.

* [xi-android](https://github.com/adrientetar/xi-android), an Android frontend.

{'fraction_non_alphanumeric': 0.13277582159624413, 'fraction_numerical': 0.008802816901408451, 'mean_word_length': 4.338292873923257, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 37, 'https://': 34, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '33684', 'n_tokens_mistral': 2251, 'n_tokens_neox': 2112, 'n_words': 751}