Skip to content
HN On Hacker News ↗

GitHub - Yus314/kasane: Drop-in Kakoune frontend with an extensible UI foundation

▲ 53 points 6 comments by nsagent 5w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is primarily AI-generated with some human-written content

61 %

AI likelihood · overall

AI
5% human-written 95% AI-generated
SEGMENTS · HUMAN 0 of 3
SEGMENTS · AI 2 of 3
WORD COUNT 528
PEAK AI % 100% · §1
Analyzed
Apr 21
backend: pangram/v3.3
Segments scanned
3 windows
avg 176 words each
Distribution
5 / 95%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 528 words · 3 segments analyzed

Human AI-generated
§1 AI · 100%

Kakoune handles editing. Kasane rebuilds the rendering pipeline — terminal or GPU — and opens the full UI to extension: splits, image display, workspace persistence, and beyond. Extend it yourself with sandboxed WASM plugins — a complete one fits in 15 lines of Rust. Your kakrc works unchanged.

GPU backend (--ui gui) — fuzzy finder, pane splits, and color preview are all WASM plugins

Getting Started · What's Different · Plugin Development · Vision What You Get alias kak=kasane and these improvements apply automatically:

Flicker-free rendering — no more tearing on redraws Multi-pane without tmux — native splits with per-pane status bars Clipboard that just works — Wayland, X11, macOS, SSH — no xclip needed Correct Unicode — CJK and emoji display correctly regardless of terminal

Add --ui gui for a GPU backend with system font rendering, smooth animations, and inline image display. Existing Kakoune plugins (kak-lsp, …) work as before. See What's Different for the full list. Quick Start NoteRequires Kakoune 2024.12.09 or later. Binary packages skip the Rust toolchain requirement. Arch Linux: yay -S kasane-bin · macOS: brew install Yus314/kasane/kasane · Nix: nix run github:Yus314/kasane · From source: cargo install --path kasane kasane file.txt # your Kakoune config works unchanged alias kak=kasane # add to .bashrc / .zshrc GPU backend: cargo install --path kasane --features gui, then kasane --ui gui. See Getting Started for detailed setup. Plugins Plugins can add floating overlays, line annotations, virtual text, code folding, gutter decorations, input handling, scroll policies, and more.

§2 AI · 100%

Bundled example plugins you can try today:

Plugin What it does

cursor-line Highlight the active line with theme-aware colors

fuzzy-finder fzf-powered file picker as a floating overlay

sel-badge Show selection count in the status bar

color-preview Inline color swatches next to hex values

pane-manager Tmux-like splits with Ctrl+W — no external multiplexer needed

image-preview Display images in a floating overlay anchored to the cursor

smooth-scroll Animated scrolling

prompt-highlight Visual feedback when entering prompt mode

Each plugin builds into a single .kpk package — sandboxed, composable, and ready to install. A complete plugin in 15 lines — here is sel-badge in its entirety: kasane_plugin_sdk::define_plugin! { manifest: "kasane-plugin.toml",

state { #[bind(host_state::get_cursor_count(), on: dirty::BUFFER)] cursor_count: u32 = 0, },

slots { STATUS_RIGHT(dirty::BUFFER) => |_ctx| { (state.cursor_count > 1).then(|| { auto_contribution(text(&format!(" {} sel ", state.cursor_count), default_face())) }) }, }, } Start writing your own: kasane plugin new my-plugin # scaffold from 6 templates kasane plugin dev # hot-reload while you edit See Plugin Development and Plugin API. Status Kasane is stable as a Kakoune frontend — ready for daily use. The plugin API is evolving; see Plugin Development for the current ABI version and migration guides. Usage kasane [options] [kak-options] [file]... [+<line>[:<col>]|+:]

All Kakoune arguments work — kasane passes them through to kak. kasane file.txt # Edit a file kasane -c project # Connect to existing session kasane -s myses file.txt # Named session kasane --ui gui file.txt # GPU backend kasane -l # List sessions (delegates to kak) See docs/config.md for configuration. Contributing See CONTRIBUTING.md for development setup and guidelines.

§3 Mixed · 52%

cargo test # Run all tests cargo clippy -- -D warnings # Lint cargo fmt --check # Format check License MIT OR Apache-2.0