autoload | ||
doc | ||
examples | ||
lua/libmodal | ||
plugin | ||
.gitignore | ||
LICENSE.md | ||
README.md |
nvim-libmodal
This is a rewrite of vim-libmodal using Neovim's Lua API. This project aims to be cross-compatable with vim-libmodal
— with a few notable exceptions (see the FAQ).
Requirements
- Neovim 0.7+.
vim-libmodal
is not installed.
Installation
You can use packer.nvim (or any package manager) to install this plugin. The below example is for packer.nvim
:
local install_path = vim.fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
if not vim.loop.fs_stat(vim.fn.glob(install_path)) then
os.execute('git clone https://github.com/wbthomason/packer.nvim '..install_path)
end
vim.api.nvim_command 'packadd packer.nvim'
return require('packer').startup {function(use)
use {'wbthomason/packer.nvim', opt=true}
use 'Iron-E/nvim-libmodal'
-- use {'Username/mode-plugin', wants='nvim-libmodal'}
end}
Usage
The following plugins have been constructed using nvim-libmodal
:
The following samples have been constructed using nvim-libmodal
:
See docs for more information.
Statusline
You can add libmodal
modes to your status line by using feline.nvim
or galaxyline.nvim
or . You can find my configuration for feline.nvim
here and galaxyline.nvim
here— both of which leverage nvim-libmodal
's in the statusbar.
FAQ
nvim-libmodal vs. vim-libmodal
The following is a list of expressions that work in nvim-libmodal
but not vim-libmodal
:
require 'libmodal'
in Lua.vim-libmodal
does not support interacting with it through Lua, you must use the Vimscript interface.
The following is a list of expressions that work in vim-libmodal
but not nvim-libmodal
:
call libmodal#Enter('FOO', funcref('bar'), baz)
in Vimscript.- Lua does not support passing
funcref
s from Vimscript. Try using the Lua interface instead.
- Lua does not support passing
call libmodal#Prompt('FOO', funcref('bar'), baz)
in Vimscript.- Lua does not support passing
funcref
s from Vimscript. Try using the Lua interface instead.
- Lua does not support passing