Skip to content

Neovim GUI written in Golang, using a Golang qt backend

License

Notifications You must be signed in to change notification settings

beardnick/goneovim

 
 

Repository files navigation


test Go Report Card GitHub Releases Join the chat at https://gitter.im/goneovim/community

GoNeovim is a Neovim GUI written in Go, using a Qt binding for Go. This repository forked from the original Gonvim for the purpose of maintenance and enhancement.

Features

All of the features are optional. You can use it like a plain nvim or as a nvim with a rich UI.

  • Fast (faster than neovim-qt, many other neovim GUI's)
  • Cross-platform
  • Modern Text Editor Features
    • Markdown Preview
    • Minimap
    • Smooth scroll
    • Fuzzy Finder
    • Workspace feature which manages multiple nvim
    • External File Explorer
    • Scrollbar
    • Support Ligature
    • Built-in Indent guide
    • Support High DPI scaling
  • Features as neovim GUI
    • Externalizable tabline, popupmenu, wildmenu, cmdline, messsages
    • Support gui option: guifont, guifontwide, guifont=*, linespace, guicursor. You don't need neovim-gui-shim
    • Support mouse selections
    • Supports border drawing and shadow drawing of float window
    • Independent font settings per window (currently experimental)
    • Attach feature to a remote nvim
  • Basic feature as a Text Editor
    • Support multi byte character
    • Drag and Drop files
    • Support InputMethod Editor (for east asian people)
  • Miscellaneous
    • Supports application window transparency
    • Desktop Notification of the messages emitted nvim

Screenshots

  • Workspaces, external file explorer
  • Fuzzy Finder
  • Markdown preview
  • Minimap
  • Indentguide, display ligatures(Fira Code)
  • Transparent app window, Transparent message window
  • Independent font settings per window

Requirements

  • Neovim (v0.4.3 or later)

See Installing Neovim

Getting Started

Pre-built packages for Windows, MacOS, and Linux are found at the Releases page.

Usage

See wiki

ToDo

  • Add test

  • Improve startup time

  • Add tree view for external file explorer

  • Add Git integration for external file explorer

  • Improve Imput Method Editor(IME) feature

In the current implementation, it is not possible to highlight the keyword being converted in the input method input. At the moment I have no idea about how to improve this

  • Support GPU rendering

  • Support neovim ui ext_statusline

Development

Similar projects

Credits

About

Neovim GUI written in Golang, using a Golang qt backend

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%