Skip to content

lua

Syntax⚑

Boolean operations⚑

Not equal operation⚑

In Lua, you can perform a "not equal" comparison using the ~= operator:

a ~= b  -- true if a is not equal to b

List operations⚑

Length of a list⚑

local current_slide = {}

if #current_slide > 0 then
  -- code
end

Tips⚑

Inspect contents of Lua table in Neovim⚑

When using Lua inside of Neovim you may need to view the contents of Lua tables, which are a first class data structure in Lua world. Tables in Lua can represent ordinary arrays, lists, symbol tables, sets, records, graphs, trees, etc.

If you try to just print a table directly, you will get the reference address for that table instead of the content, which is not very useful for most debugging purposes:

:lua print(vim.api.nvim_get_mode())
" table: 0x7f5b93e5ff88

To solve this, Neovim provides the vim.inspect function as part of its API. It serializes the content of any Lua object into a human readable string.

For example you can get information about the current mode like so:

:lua print(vim.inspect(vim.api.nvim_get_mode()))
" {  blocking = false,  mode = "n"}