ray-x/guihua.lua

github github
neovim-lua-development
stars 150
issues 1
subscribers 5
forks 11
CREATED

2021-04-16

UPDATED

16 days ago


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.