Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vhakulinen/gnvim
GUI for neovim, without any web bloat
https://github.com/vhakulinen/gnvim
gtk gui neovim neovim-guis nvim rust text-editor ui
Last synced: 4 days ago
JSON representation
GUI for neovim, without any web bloat
- Host: GitHub
- URL: https://github.com/vhakulinen/gnvim
- Owner: vhakulinen
- License: mit
- Created: 2018-07-27T20:16:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-08T09:49:12.000Z (4 months ago)
- Last Synced: 2024-10-29T17:26:42.945Z (3 months ago)
- Topics: gtk, gui, neovim, neovim-guis, nvim, rust, text-editor, ui
- Language: Rust
- Homepage:
- Size: 1.88 MB
- Stars: 1,855
- Watchers: 22
- Forks: 68
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust-tools - gnvim
README
GNvim - GTK4 Neovim GUI
Gnvim, opinionated Neovim GUI.
_For previous gtk3 version, checkout the `legacy` branch._
# Install
**NOTE**: gnvim requires nvim version 0.10 or higher.
## Flatpak
If you're using flatpak, you can build a GNvim flatpak locally:
```
$ # Install flatpak-builder
$ sudo apt install flatpak-builder
$ make install-flatpak-deps # Install required runtime and SDKs
$ make install-flatpak # Build and install the flatpak
$ # Optional: install gnvim runtime files (i.e. for `lua require('gnvim')`)
$ flatpak run com.github.vhakulinen.gnvim.Devel --install-runtime-files
```## System
Install system wide:
```
$ # Install cargo (e.g. the rust toolchain)
$ # Install gtk4 and libadwaita dev files, e.g. apt install libgtk-4-dev libadwaita-1-dev (see below)
$ make build
$ sudo make install
```More detailed instructions regarding gtk4 requirements, see the gtk-rs book's
[instructions](https://gtk-rs.org/gtk4-rs/stable/latest/book/installation.html)).# Documentation
See `:h gnvim` and/or `runtime/doc/gnvim.txt`.
# Development
Gnvim comes with custom rpc client which uses code generation for generating
bindings to the Neovim API. This is done by the `scripts/generate-bindings.sh`
script and requires the `moreutils` package.