spacevim/bundle/nvim-if-lua-compat/README.md
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

68 lines
2.2 KiB
Markdown

# nvim-if-lua-compat
An `if_lua` compatibility layer for Neovim (WIP, needs testing)
## Goals
Maintain some amount of compatibility with the existing Vim interface for Lua (see also: [neovim/neovim#12537](https://github.com/neovim/neovim/issues/12537)).
## Progress
Items annotated with an asterisk `*` are only partially supported.
- [x] * `vim.list()` (actually a Lua table, `luaeval()` just makes a copy and transforms it into a Vim list...)
- [x] `#l`
- [x] `l[k]`
- [x] `l()`
- [x] `table.insert(l, newitem)`
- [x] `table.insert(l, position, newitem)`
- [x] `table.remove(l, position)`
- [x] `l:add(item)`
- [x] `l:insert(item[, pos])`
- [x] * `vim.dict()` (actually a Lua table, `luaeval()` just makes a copy and transforms it into a Vim dict...)
- [x] * `#d` (Only works with Lua 5.2+ or LuaJIT built with 5.2 extensions)
- [x] `d.key` or `d['key']`
- [x] `d()`
- [x] * `vim.blob()` (actually a Lua table)
- [x] * `#b` (Only works with Lua 5.2+ or LuaJIT built with 5.2 extensions)
- [x] `b[k]`
- [x] `b:add(bytes)`
- [x] `vim.funcref()` (exists in Neovim core, but the implementation is different here)
- [x] * `#f` (Only works with Lua 5.2+ or LuaJIT built with 5.2 extensions)
- [x] `f(...)`
- [x] `vim.buffer()`
- [x] `b()`
- [x] * `#b` (Only works with Lua 5.2+ or LuaJIT built with 5.2 extensions)
- [x] `b[k]`
- [x] `b.name`
- [x] `b.fname`
- [x] `b.number`
- [x] `b:insert(newline[, pos])`
- [x] `b:next()`
- [x] `b:previous()`
- [x] `b:isvalid()`
- [x] `vim.window()`
- [x] `w()`
- [x] `w.buffer`
- [x] `w.line` (get and set)
- [x] `w.col` (get and set)
- [x] `w.width` (get and set)
- [x] `w.height` (get and set)
- [x] `w:next()`
- [x] `w:previous()`
- [x] `w:isvalid()`
- [x] `vim.type()`
- [x] `list`
- [x] `dict`
- [x] `blob`
- [x] `funcref`
- [x] `buffer`
- [x] `window`
- [x] `vim.command()` (alias to `vim.api.nvim_command()`)
- [x] * `vim.eval()` (alias to `vim.api.nvim_eval()`, doesn't actually return a `vim.list/dict/blob`)
- [x] `vim.line()` (alias to `vim.api.nvim_get_current_line()`)
- [x] `vim.beep()`
- [x] `vim.open()`
- [x] `vim.call()` (in Neovim core)
- [x] `vim.fn()` (in Neovim core)