Skip to content

A GUI library for Neovim plugin developers

License

Notifications You must be signed in to change notification settings

jdmirror/guihua.lua

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

guihua Guihua: A Lua Gui and util library for nvim plugins

  • Provide floating windows
  • A modified wrapper for fzy
  • TextView, ListView, Preview etc
  • Listview listview

  • Listview with fzy finder listview

  • Neovim multigrid external buffer/terminal

multigrid

  • Neovim vim.ui.input and vim.ui.select patch

This cool screen shows an external terminal running lazygit and an external floating window running guihua listview

More screen shot please refer to Navigator.lua

Please refer to test file of how to use it

Lua OOP is powered by middleclass fzy is powered by romgrk fzy-lua-native with modified version of sorter/quicksort to sort list of tables

Install

Plugin has implementation of fzy with both ffi and native lua. If you like to try ffi please run make

Packer

 use {'ray-x/guihua.lua', run = 'cd lua/fzy && make'}

Setup

  -- default mapping
  maps = {
    close_view = '<C-e>',
    send_qf = '<C-q>',
    save = '<C-s>',
    jump_to_list = '<C-w>k',
    jump_to_preview = '<C-w>j',
    prev = '<C-p>',
    next = '<C-n>',
    pageup = '<C-b>',
    pagedown = '<C-f>',
    confirm = '<C-o>',
    split = '<C-s>',
    vsplit = '<C-v>',
    tabnew = '<C-t>',
  }

  --
  require('guihua.maps').setup({
  maps = {
    close_view = '<C-x>',
  }
  })

Plug

Plug 'ray-x/guihua.lua', {'do': 'cd lua/fzy && make' }

Usage: check the test files on how the api is used.

About

A GUI library for Neovim plugin developers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 91.7%
  • C 4.7%
  • Vim Script 3.3%
  • Makefile 0.3%