{"id":13478244,"url":"https://github.com/ilai-deutel/kibi","last_synced_at":"2025-05-13T20:21:58.341Z","repository":{"id":38318542,"uuid":"239454891","full_name":"ilai-deutel/kibi","owner":"ilai-deutel","description":"A text editor in ≤1024 lines of code, written in Rust","archived":false,"fork":false,"pushed_at":"2025-04-21T17:20:20.000Z","size":1657,"stargazers_count":1661,"open_issues_count":20,"forks_count":96,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-28T11:56:07.225Z","etag":null,"topics":["1024","console","editor","editors","rust","syntax-highlighting","terminal","text-editor","tui","utf-8"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilai-deutel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-10T07:44:48.000Z","updated_at":"2025-04-27T18:57:03.000Z","dependencies_parsed_at":"2023-02-16T09:15:52.291Z","dependency_job_id":"37563834-24c1-4b1b-b8fa-53faa54d6c23","html_url":"https://github.com/ilai-deutel/kibi","commit_stats":{"total_commits":208,"total_committers":19,"mean_commits":"10.947368421052632","dds":0.5048076923076923,"last_synced_commit":"d93944bf5525176b2fd444eb62c3c72a3f948b2a"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilai-deutel%2Fkibi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilai-deutel%2Fkibi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilai-deutel%2Fkibi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilai-deutel%2Fkibi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilai-deutel","download_url":"https://codeload.github.com/ilai-deutel/kibi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1024","console","editor","editors","rust","syntax-highlighting","terminal","text-editor","tui","utf-8"],"created_at":"2024-07-31T16:01:54.522Z","updated_at":"2025-05-13T20:21:58.333Z","avatar_url":"https://github.com/ilai-deutel.png","language":"Rust","readme":"# Kibi: A text editor in ≤1024 lines of code, written in Rust\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/ilai-deutel/kibi/ci.yml?branch=master\u0026logo=github-actions)](https://github.com/ilai-deutel/kibi/actions/workflows/ci.yml?query=branch%3Amaster)\n[![Lines of code](https://img.shields.io/github/actions/workflow/status/ilai-deutel/kibi/loc.yml?label=LOC%E2%89%A41024)](#)\n[![Crate](https://img.shields.io/crates/v/kibi.svg)](https://crates.io/crates/kibi)\n[![Minimum rustc version](https://img.shields.io/badge/rustc-1.80+-blue.svg?logo=rust)](https://www.rust-lang.org/)\n[![Platform](https://img.shields.io/badge/platform-Linux%20|%20macOS%20|%20Windows%2010%20|%20WASI-blue)](#)\n[![Packaging status](https://repology.org/badge/tiny-repos/kibi.svg)](https://repology.org/project/kibi/versions)\n[![Dependency Status](https://deps.rs/repo/github/ilai-deutel/kibi/status.svg)](https://deps.rs/repo/github/ilai-deutel/kibi)\n[![License](https://img.shields.io/crates/l/kibi?color=blue)](#license)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ilai-deutel/kibi\n)\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-34-orange.svg)](#contributors)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n[![asciicast](assets/asciicast.gif)](https://asciinema.org/a/KY7tKPlxHXqRdJiv5KaTJbPj5)\n\nA configurable text editor with UTF-8 support, incremental search, syntax\nhighlighting, line numbers and more, written in less than 1024\nlines\u003csup\u003e[1](#counted-with)\u003c/sup\u003e of Rust with minimal dependencies.\n\nKibi is compatible with Linux, macOS, Windows\n10\u003csup\u003e[2](#windows-version)\u003c/sup\u003e, and WASI.\n\nThis project is inspired by [`kilo`](https://github.com/antirez/kilo), a text\neditor written in C.\nSee [comparison](#comparison-with-kilo) below for a list of additional features.\n\nContributions are welcome! Be careful to stay below the 1024-line limit...\n\n\u003c!-- markdownlint-disable MD033 --\u003e\n\u003csub\u003e\u003ca name=\"counted-with\"\u003e1.\u003c/a\u003e: Counted per platform, excluding tests and\nClippy directives, see [`count_loc`](./xtask/src/count_loc.rs)\u003c/sub\u003e \\\n\u003csub\u003e\u003ca name=\"windows-version\"\u003e2.\u003c/a\u003e: Kibi requires the terminal to support\nANSI escape sequences. Windows 10 version 1703 ([Creators Update](https://devblogs.microsoft.com/commandline/windows-10-creators-update-whats-new-in-bashwsl-windows-console),\nApril 2017) and above are supported.\u003c/sub\u003e\n\u003c!-- markdownlint-enable MD033 --\u003e\n\n## Table of contents\n\n* [Installation](#installation)\n  * [With cargo](#with-cargo)\n  * [Arch User Repository (Arch Linux)](#arch-user-repository-arch-linux)\n  * [Android (with Termux)](#android-with-termux)\n  * [Fedora/CentOS](#fedoracentos)\n  * [NetBSD](#netbsd)\n  * [Flatpak](#flatpak)\n* [Usage](#usage)\n  * [Keyboard shortcuts](#keyboard-shortcuts)\n  * [Configuration](#configuration)\n    * [Global configuration](#global-configuration)\n    * [Syntax highlighting](#syntax-highlighting)\n* [Comparison with kilo](#comparison-with-kilo)\n* [Contributing](#contributing)\n* [Dependencies](#dependencies)\n* [Why Kibi?](#why-kibi)\n* [Contributors](#contributors)\n* [License](#license)\n\n## Installation\n\n\u003c!-- markdownlint-disable MD033 --\u003e\n\u003ca href=\"https://repology.org/project/kibi/versions\"\u003e\n    \u003cimg src=\"https://repology.org/badge/vertical-allrepos/kibi.svg\"\n    alt=\"Packaging status\" align=\"right\"\u003e\n\u003c/a\u003e\n\u003c!-- markdownlint-enable MD033 --\u003e\n\n### With `cargo`\n\nYou can install Kibi with [`cargo`](https://github.com/rust-lang/cargo/):\n\n```bash\ncargo install kibi\n```\n\nSyntax highlighting configuration files are available in the\n[`syntax.d`](syntax.d) directory of this repository. They need to be placed in\none of the configuration directories mentioned in the\n[Configuration/Syntax Highlighting](#syntax-highlighting) section.\n\nFor instance:\n\n```bash\ncd ~/repos\ngit clone https://github.com/ilai-deutel/kibi.git\nmkdir -p ~/.local/share/kibi/\nln -sr ./kibi/syntax.d ~/.local/share/kibi/syntax.d\n```\n\n### Arch User Repository (Arch Linux)\n\n2 packages are available on the AUR:\n[`kibi`](https://aur.archlinux.org/packages/kibi) and\n[`kibi-git`](https://aur.archlinux.org/packages/kibi-git).\n\n\u003cdetails\u003e\u003csummary\u003eInstallation instructions\u003c/summary\u003e\n\n1. Installation with an AUR helper, for instance using `yay`:\n\n   ```bash\n   yay -Syu kibi  # or yay -Syu kibi-git\n   ```\n\n2. Install manually with `makepkg`:\n\n   ```bash\n   git clone https://aur.archlinux.org/kibi.git  # or git clone https://aur.archlinux.org/kibi-git.git\n   cd kibi\n   makepkg -si\n   ```\n\n\u003c/details\u003e\n\n### Android (with Termux)\n\nKibi is available as [a Termux package](https://github.com/termux/termux-packages/tree/master/packages/kibi).\n\n\u003cdetails\u003e\u003csummary\u003eInstallation instructions\u003c/summary\u003e\n\n1. Install Termux:\n\n   [![Get it on F-Droid\"](https://user-images.githubusercontent.com/10098207/80576418-fe805600-89b9-11ea-82a5-7dc00c0ccc50.png)](https://f-droid.org/repository/browse/?fdid=com.termux)\n   [![Get it on Google Play\"](https://user-images.githubusercontent.com/10098207/80576344-e27cb480-89b9-11ea-9fa6-08ec94af10cb.png)](https://play.google.com/store/apps/details?id=com.termux)\n\n2. Install Kibi within Termux: `pkg install kibi`\n\n\u003c/details\u003e\n\n### Fedora/CentOS\n\nThe package is available in COPR as [`atim/kibi`](https://copr.fedorainfracloud.org/coprs/atim/kibi).\n\n\u003cdetails\u003e\u003csummary\u003eInstallation instructions\u003c/summary\u003e\n\n```bash\nsudo dnf copr enable atim/kibi -y\nsudo dnf install kibi\n```\n\n\u003c/details\u003e\n\n### NetBSD\n\nKibi is available from [the official repos](https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/editors/kibi/README.html).\n\n\u003cdetails\u003e\u003csummary\u003eInstallation instructions\u003c/summary\u003e\n\nInstall using:\n\n```bash\npkgin install kibi\n```\n\nor build from source:\n\n```bash\ncd /usr/pkgsrc/editors/kibi\nmake install\n```\n\n\u003c/details\u003e\n\n### Flatpak\n\nKibi is available [on Flathub](https://flathub.org/ca/apps/com.github.ilai_deutel.kibi).\n\n\u003cdetails\u003e\u003csummary\u003eCommand line instructions\u003c/summary\u003e\n The flatpak can be installed using:\n\n```bash\nflatpak install flathub com.github.ilai_deutel.kibi\n```\n\nYou can then run Kibi with:\n\n```bash\nflatpak run com.github.ilai_deutel.kibi\n```\n\n\u003c/details\u003e\n\n## Usage\n\n```bash\nkibi              # Start an new text buffer\nkibi \u003cfile path\u003e  # Open a file\nkibi --version    # Print version information and exit\n```\n\n### Keyboard shortcuts\n\n| Keyboard shortcut | Description                                                   |\n| ----------------- | ------------------------------------------------------------- |\n| Ctrl-F            | Incremental search; use arrows to navigate                    |\n| Ctrl-S            | Save the buffer to the current file, or specify the file path |\n| Ctrl-G            | Go to `\u003cline number\u003e[:\u003ccolumn number\u003e]` position              |\n| Ctrl-Q            | Quit                                                          |\n| Ctrl-D            | Duplicate the current row                                     |\n| Ctrl-E            | Execute an external command and paste its output              |\n| Ctrl-R            | Remove an entire line                                         |\n| Ctrl-C            | Copies the entire line                                        |\n| Ctrl-X            | Cuts the entire line                                          |\n| Ctrl-V            | Will paste the copied line                                    |\n| Ctrl-LeftArrow    | Moves cursor to previous word                                 |\n| Ctrl-RightArrow   | Moves cursor to next word                                     |\n\n### Configuration\n\n#### Global configuration\n\nKibi can be configured using a configuration file. It must follow this format:\n\n```ini\n# The size of a tab. Must be \u003e 0.\ntab_stop=4\n# The number of confirmations needed before quitting, when changes have been\n# made since the file was last changed.\nquit_times=2\n# The duration for which messages are shown in the status bar, in seconds.\nmessage_duration=3\n# Whether to show line numbers.\nshow_line_numbers=true\n```\n\nThe location of these files is described below.\n\n##### Linux / macOS\n\nkibi follows the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html):\n\n* A user-level configuration file can be located at\n  `$XDG_CONFIG_HOME/kibi/config.ini` if environment variable `$XDG_CONFIG_HOME`\n  is defined, `~/.config/kibi/config.ini` otherwise.\n* A system-wide configuration file can be located at\n  `$XDG_CONFIG_DIRS/kibi/config.ini` if environment variable\n  `$XDG_CONFIG_DIRS` is defined, `/etc/kibi/config.ini` or\n  `/etc/xdg/kibi/config.ini` otherwise.\n\n##### Windows\n\nA configuration file can be located at `%APPDATA%\\Kibi\\config.ini`.\n\n#### Syntax highlighting\n\nSyntax highlighting can be configured using INI files which follow this format:\n\n\u003c!-- markdownlint-disable MD013 --\u003e\n```ini\n### /usr/share/kibi/syntax.d/rust.ini ###\n# Kibi syntax highlighting configuration for Rust\n\nname=Rust\nextensions=rs\nhighlight_numbers=true\nsingleline_string_quotes=\"\nsingleline_comment_start=//\nmultiline_comment_delims=/*, */\n; In Rust, the multi-line string delimiter is the same as the single-line string\n; delimiter\nmultiline_string_delim=\"\n; https://doc.rust-lang.org/book/appendix-01-keywords.html\nkeywords_1=abstract, as, async, await, become, box, break, const, continue, crate, do, dyn, else, enum, extern, false, final, fn, for, if, impl, in, let, loop, macro, match, mod, move, mut, override, priv, pub, ref, return, self, Self, static, struct, super, trait, true, try, type, typeof, unsafe, unsized, use, virtual, where, while, yield\nkeywords_2=i8, i16, i32, i64, i128, isize, u8, u16, u32, u36, u128, usize, f32, f64, bool, char, str\n```\n\u003c!-- markdownlint-enable MD013 --\u003e\n\nThe location of these files is described below.\n\n##### Linux / macOS\n\nkibi follows the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html):\n\n* User-level syntax highlighting configuration files can be located at `$XDG_DATA_HOME/kibi/syntax.d/\u003cfile_name\u003e.ini`\n  if environment variable `$XDG_DATA_HOME` is defined,\n  `~/.local/share/kibi/syntax.d/\u003cfile_name\u003e.ini` otherwise.\n* System-wide syntax highlighting configuration files can be located at `$XDG_DATA_DIRS/kibi/syntax.d/\u003cfile_name\u003e.ini`\n  if environment variable `$XDG_DATA_DIRS` is defined,\n  `/usr/local/share/kibi/syntax.d/\u003cfile_name\u003e.ini` or\n  `/usr/share/kibi/syntax.d/\u003cfile_name\u003e.ini` otherwise.\n\n##### Windows\n\nSyntax highlighting configuration files can be located at `%APPDATA%\\Kibi\\syntax.d\\\u003cfile_name\u003e.ini`.\n\n## Comparison with `kilo`\n\nThis project is inspired by [`kilo`](https://github.com/antirez/kilo), a text\neditor written by Salvatore Sanfilippo (antirez) in C, and\n[this tutorial](https://viewsourcecode.org/snaptoken/kilo/) (also in C).\n\n`kibi` provides additional features:\n\n* Support for UTF-8 characters\n* Compatibility with Windows\n* Command to jump to a given row/column\n* Handle window resize (UNIX only)\n* Parsing configuration files: global editor configuration, language-specific\n  syntax highlighting configuration (38 languages and counting)\n* Display line numbers on the left of the screen; display file size in the status\n  bar\n* Syntax highlighting: multi-line strings\n* *Save as* prompt when no file name has been provided\n* Command to duplicate the current row, to quickly move between words\n* Ability to execute an external command from the editor and paste its output\n* Memory safety, thanks to Rust!\n* Many bug fixes\n\n## Contributing\n\nThe most important limitation is that the line check the line count remains\nunder 1024. To check this run:\n\n```shell\ncargo xtask count-loc\n```\n\n## Dependencies\n\nThis project must remain tiny, so using advanced dependencies such as [`ncurses`](https://crates.io/crates/ncurses),\n[`toml`](https://crates.io/crates/toml) or\n[`ansi-escapes`](https://crates.io/crates/ansi-escapes) would be cheating.\n\nThe following dependencies provide wrappers around system calls.\n\n* On UNIX systems (Linux, macOS):\n  * `libc`\n* On Windows:\n  * `winapi`\n  * `winapi-util`\n\nIn addition, `unicode-width` is used to determine the displayed width of Unicode\ncharacters. Unfortunately, there is no way around it: the\n[unicode character width table](https://github.com/unicode-rs/unicode-width/blob/3033826f8bf05e82724140a981d5941e48fce393/src/tables.rs#L52)\nis 230 lines long.\n\n## Why Kibi?\n\n1. Porting the `kilo` source code from C to Rust and trying to make it idiomatic\n   was interesting\n2. Implementing new features while under the 1024-line constraint is a good challenge\n3. Most importantly, I wanted to learn Rust and this was a great project to\n   start (thanks Reddit for the idea)\n\n## Contributors\n\nThis project follows the [all-contributors](https://allcontributors.org/) specification\n([emoji key](https://allcontributors.org/docs/en/emoji-key)). Contributions of\nany kind welcome!\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ilai-deutel\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/10098207?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIlaï Deutel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=ilai-deutel\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-ilai-deutel\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-ilai-deutel\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#platform-ilai-deutel\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"#syntax-highlighting-ilai-deutel\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/codingonHP\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/7105293?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVishal Anand\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/issues?q=author%3AcodingonHP\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gsbhasin123\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/48339289?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGurjus Bhasin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-gsbhasin123\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ldang0\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1281722?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLibin Dang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=ldang0\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ilai-deutel/kibi/issues?q=author%3Aldang0\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/andradei\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2653546?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIsaac Andrade\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-andradei\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/frjol\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/4422813?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efrjol\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/issues?q=author%3Afrjol\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/tim77\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/5614476?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArtem Polishchuk\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#platform-tim77\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/malbarbo\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1678126?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarco A L Barbosa\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=malbarbo\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/voidpin\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/35956139?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003epin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#platform-voidpin\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Uniminin\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/42061747?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eUniminin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-Uniminin\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Woomy4680-exe\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/57042741?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWoomy4680-exe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/issues?q=author%3AWoomy4680-exe\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/quadroli\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/58091631?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003equadroli\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-quadroli\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/m0lese\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/86180257?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emolese\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-m0lese\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/imreyesjorge\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/40706868?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJorge Reyes\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=imreyesjorge\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gVirtu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/15658199?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGiancarlo França\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=gVirtu\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ilmanzo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1872816?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrea Manzini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=ilmanzo\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=ilmanzo\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Arkaeriit\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47985708?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaxime Bouillot\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-Arkaeriit\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/john-sharratt\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17711537?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJohnathan Sharratt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=john-sharratt\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/No-one-important\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/72458263?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNo-one-important\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=No-one-important\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/RobertGrancsa\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22158239?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRobert Grancsa\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=RobertGrancsa\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sogreatandpowerfull\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/114095654?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSoGreatAndPowerful\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-sogreatandpowerfull\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/carol-mb\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/117681554?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMihai-Carol Bazga\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=carol-mb\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/NickGeek\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3462055?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNick Webster\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=NickGeek\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/hezhizhen\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7611700?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZhizhen He\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=hezhizhen\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/CosminGGeorgescu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/95082750?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCosminGGeorgescu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=CosminGGeorgescu\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/TanvirOnGH\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/138336161?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTanvir\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-TanvirOnGH\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/BogdanPaul15\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/62438221?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePrisacaru Bogdan-Paul\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=BogdanPaul15\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/auzkok\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35302680?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eauzkok\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-auzkok\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/razvanrus2003\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/69893593?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRazvan Rus\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=razvanrus2003\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Jan9103\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/55753387?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJan9103\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=Jan9103\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/joshka\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/381361?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJosh McKinney\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-joshka\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=joshka\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/zamazan4ik\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7355383?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlexander Zaitsev\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-zamazan4ik\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/BanuAdrian\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66678108?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdrian Banu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ilai-deutel/kibi/commits?author=BanuAdrian\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/vanillajonathan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10222521?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJonathan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#syntax-highlighting-vanillajonathan\" title=\"Contributing to syntax highlighting configuration files\"\u003e💠\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n## License\n\nThis project is licensed under either of\n\n* [Apache License, Version 2.0](LICENSE-APACHE)\n* [MIT License](LICENSE-MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in Kibi by you shall be dual licensed as above, without any\nadditional terms or conditions.\n","funding_links":[],"categories":["Rust","Applications","应用程序 Applications"],"sub_categories":["Text editors","文本编辑器 Text editors"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filai-deutel%2Fkibi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filai-deutel%2Fkibi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filai-deutel%2Fkibi/lists"}