Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ray-x/guihua.lua
A GUI library for Neovim plugin developers
https://github.com/ray-x/guihua.lua
fuzzy-search lua neovim-plugin ui
Last synced: 2 months ago
JSON representation
A GUI library for Neovim plugin developers
- Host: GitHub
- URL: https://github.com/ray-x/guihua.lua
- Owner: ray-x
- License: mit
- Created: 2021-04-16T02:30:13.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T11:34:50.000Z (3 months ago)
- Last Synced: 2024-04-04T11:30:36.041Z (3 months ago)
- Topics: fuzzy-search, lua, neovim-plugin, ui
- Language: Lua
- Homepage:
- Size: 486 KB
- Stars: 148
- Watchers: 5
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Lists
- awesome-neovim - ray-x/guihua.lua - A Lua UI library. Includes a fzy search bar, list view and tree view modules. (Neovim Lua Development / Quickfix)
- awesome-stars - guihua.lua - x | 91 | (Lua)
- awesome-stars - ray-x/guihua.lua - A GUI library for Neovim plugin developers (Lua)
- awesome-neovim - ray-x/guihua.lua - A Lua UI library. Includes a fzy search bar, list view and tree view modules. (Neovim Lua Development / Quickfix)
- awesome-neovim - ray-x/guihua.lua - A Lua UI library. Includes a fzy search bar, list view and tree view modules. (Neovim Lua Development / Quickfix)
README
![guihua](https://github.com/ray-x/files/blob/master/img/guihua/guihua_800.png)
Guihua: A Lua Gui and util library for nvim plugins- Provide floating windows
- A modified wrapper for fzy
- TextView, ListView, Preview etc* Listview
![listview](https://github.com/ray-x/files/blob/master/img/guihua/listview.png)* Listview with fzy finder
![listview](https://github.com/ray-x/files/blob/master/img/navigator/fzy_reference.jpg?raw=true)* Neovim multigrid external buffer/terminal
![multigrid](https://user-images.githubusercontent.com/1681295/133234734-93817aaa-23a3-4c28-b164-b129be449dee.jpg)
* 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](https://github.com/ray-x/navigator.lua)
Please refer to test file of how to use it
Lua OOP is powered by [middleclass](https://github.com/kikito/middleclass)
fzy is powered by [romgrk fzy-lua-native](https://github.com/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
```lua
use {'ray-x/guihua.lua', run = 'cd lua/fzy && make'}
```## Setup
```lua
-- default mapping
maps = {
close_view = '',
send_qf = '',
save = '',
jump_to_list = 'k',
jump_to_preview = 'j',
prev = '',
next = '',
pageup = '',
pagedown = '',
confirm = '',
split = '',
vsplit = '',
tabnew = '',
}--
require('guihua.maps').setup({
maps = {
close_view = '',
}
})
```## Plug
```vim
Plug 'ray-x/guihua.lua', {'do': 'cd lua/fzy && make' }
```Usage: check the test files on how the api is used.