Skip to content
This repository has been archived by the owner on Jan 12, 2022. It is now read-only.

sakhnik/neovim-vala

Repository files navigation

neovim-vala

NeoVim UI implemented in gtk4/vala

The project is abandoned in favour of neovim-sdl2.

I need an easy deployable low latency UI for NeoVim in Windows. It should be both simple and flexible. Turns out, it's quite easy to code after experiments with SpyUI.

TODO

  • Calculate width, height from the window size and chosen font
  • Redraw only changed parts of the screen, use an offscreen surface like in gtk4-demo
  • Improve redrawing by combining adjacent cells with the same hl_id
  • Test MinGW build
  • Setup GitHub actions to build for Win32
  • Cursor shapes
  • Use pango for text layout
  • Log to a file instead of stdout
  • Properly close the editor when the window is about to be closed
  • Allow selecting GUI font
  • Mouse support
  • Fast zoom with mouse wheel
  • Automatic testing
  • Make redrawing atomic with flush
  • Get rid of console in windows
  • Handle special keys like arrows, functional keys
  • Handle the rest of highlight attributes
  • Handle errors and failures
  • Consider externalizing popup menus to add scrollbars
  • Configuration of fonts and behaviour tweaking (consider using lua)
  • Change mouse pointer on busy_start/busy_stop notifications
  • Create window after neovim has been launched and initialized to avoid white flash during startup
  • Setup automatic releases (win32, appimage)
  • Track mode_info

About

NeoVim UI implemented in gtk4/vala

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published