diff --git a/README.md b/README.md new file mode 100644 index 0000000..6451192 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Neovide +This is a simple graphical user interface for Neovim. Where possible there are some graphical improvements, but it should act +functionally like the terminal UI. + +![Basic Screen Cap](./assets/BasicScreenCap.png) + +## Features +Should be a standard full features Neovim GUI. Beyond that there are some visual nicities: + +### Ligatures + +Supports ligatures and full Harbuzz backed font rendering. + +![Ligatures](./assets/Ligatures.png) + +### Animated Cursor + +Cursor animates into position with a smear effect to improve tracking of cursor position. + +![Animated Cursor](./assets/AnimatedCursor.gif) + +### Emoji Support + +Font fallback supports rendering of emoji not contained in the configured font. + +![Emoji](./assets/Emoji.png) + +#### More to Come + +I've got more ideas for simple unobtrusive improvements. More to come. + +## Building + +Building instructions are somewhat limited at the moment. All the libraries I use are cross platform and should have +support for Windows Mac and Linux. The rendering however is Vulcan based, so driver support for vulcan will be +necessary. On Windows this should be enabled by default if you have a relatively recent system. + +Building requires a modern copy of Rust and should be as simple as running `cargo build --release` and running the +resulting binary in `targets/release`. + +Better support and prebuilt binaries for non windows platforms is planned. diff --git a/assets/AnimatedCursor.gif b/assets/AnimatedCursor.gif new file mode 100644 index 0000000..4fe3d5f Binary files /dev/null and b/assets/AnimatedCursor.gif differ diff --git a/assets/BasicScreenCap.png b/assets/BasicScreenCap.png new file mode 100644 index 0000000..09cdfd9 Binary files /dev/null and b/assets/BasicScreenCap.png differ diff --git a/assets/Emoji.png b/assets/Emoji.png new file mode 100644 index 0000000..4378643 Binary files /dev/null and b/assets/Emoji.png differ diff --git a/assets/Ligatures.png b/assets/Ligatures.png new file mode 100644 index 0000000..82230e8 Binary files /dev/null and b/assets/Ligatures.png differ diff --git a/src/editor/mod.rs b/src/editor/mod.rs index 7191194..8710360 100644 --- a/src/editor/mod.rs +++ b/src/editor/mod.rs @@ -5,7 +5,6 @@ use std::collections::HashMap; use std::sync::{Arc, Mutex}; use skulpin::skia_safe::colors; -use skulpin::winit::window::Window; use unicode_segmentation::UnicodeSegmentation; pub use cursor::{Cursor, CursorShape, CursorMode}; diff --git a/src/window.rs b/src/window.rs index 8faf9dd..c573ecd 100644 --- a/src/window.rs +++ b/src/window.rs @@ -12,7 +12,6 @@ use skulpin::winit::window::{Icon, Window, WindowBuilder}; use crate::bridge::{construct_keybinding_string, BRIDGE, Bridge, UiCommand}; use crate::renderer::Renderer; use crate::redraw_scheduler::REDRAW_SCHEDULER; -use crate::error_handling::ResultPanicExplanation; use crate::INITIAL_DIMENSIONS; #[derive(RustEmbed)]