- Rust 97.5%
- CSS 2.5%
| .forgejo/workflows | Change build schedule to weekly | |
| resources | Add KyaniteBlocks font | |
| src | fucking api fucking changed again | |
| .gitignore | Initial commit | |
| Cargo.lock | update dependencies | |
| Cargo.toml | oops i never needed that | |
| LICENSE | add license | |
| README.md | actually helpful build instructions | |
Kyanite
A lightweight, graphical text editor.
(see resources/screenshots for more screenshots)
Features
- File tree!
- VTE (virtual terminal library) support - aka built-in terminal windows!
- Searching text!
- LSP support:
- Configurable language servers!
- Inline diagnostics!
- Code completion!
- gtksourceview5 goodies:
- Syntax highlighting!
- Themes!
- Window recoloring to match themes (like GNOME Builder)!
- Adaptive UI (aka works on phones)!
Obtaining Kyanite
Weekly builds
Kyanite has weekly builds via Codeberg Actions. Download an executable and proceed to Installing metadata for icons and a desktop shortcut. These builds are from source, so there are no guarantees you'll have a stable experience.
Build from source
Dependencies (install these first)
- rust >= 1.92.0
- gtksourceview5 >= 5.18
- libadwaita >= 1.8
- gtk4 >= 4.20
- libpanel
- vte4 >= 0.78
- blueprint-compiler
On Arch Linux, that looks like: pacman -S rust gtksourceview5 libadwaita gtk4 libpanel vte4 blueprint-compiler
Running
- Release build:
cargo run --release - Debug build:
cargo run
Installing manually
Running cargo install --path . will build Kyanite and install the editor command, ky, to your user directory (~/.cargo/bin).
Installing metadata
If you're on Linux, copy the icons at resources/icons to ~/.local/share/icons/, and resources/metadata/ca.potatoe.Kyanite.desktop to ~/.local/share/applications/.
The latter sets up a shortcut for Kyanite that's locally installed in your home directory (you can remove it any time).
Contribute
This is a huge work-in-progress and I'm still working together core features. That being said, I'll still try to review PRs to the best I can! Anything that helps refine the editor and make it stronger is welcome. Only thing I ask is the same as all my projects: No "AI" -- that's the reason I made this, and fascists aren't allowed here.
Where does the name come from?
Roadmap/TODO
quality-of-life
- recent file list
lsp integration (the horrors)
- code actions
- lsp hover
- gracefully close lsp when window closes
keybinds
- modal by design
- default mode is always insert
- configurable modes (e.g. you can define your own modes)
- configurable keybinds
- conditional keybind actions (e.g. only run in a certain mode)
- multiple binds should be possible
plugins
- ask charlotte about this, she wants to do it and she has interesting ideas
git integration(?)
-
maybe make this a plugin....
-
highlight changed (git) lines(?)
-
sidebar window to:
- make git commits
- pull
- push
- switch commits
-
mode line
-
plugins
Disclaimer
By using or contributing to this software, you agree that trans rights are human rights, ACAB, and that hate has no place here.