Outline
commit
82a22403be
@ -0,0 +1,116 @@
|
|||||||
|
# Getting started using Lua in Neovim
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
### Learning Lua
|
||||||
|
|
||||||
|
### Existing tutorials for writing Lua in Neovim
|
||||||
|
|
||||||
|
## Where to put Lua files
|
||||||
|
|
||||||
|
## Using Lua from Vimscript
|
||||||
|
|
||||||
|
### :lua
|
||||||
|
|
||||||
|
### :luado
|
||||||
|
|
||||||
|
### :luafile
|
||||||
|
|
||||||
|
### luaeval()
|
||||||
|
|
||||||
|
### v:lua
|
||||||
|
|
||||||
|
## The vim namespace
|
||||||
|
|
||||||
|
### vim.inspect()
|
||||||
|
|
||||||
|
## Using Vimscript from Lua
|
||||||
|
|
||||||
|
### vim.api.nvim_eval()
|
||||||
|
|
||||||
|
### vim.api.nvim_exec()
|
||||||
|
|
||||||
|
### vim.api.nvim_command()
|
||||||
|
|
||||||
|
<!-- TODO: talk about the vim.cmd alias -->
|
||||||
|
|
||||||
|
## Managing vim options
|
||||||
|
|
||||||
|
### Using api functions
|
||||||
|
|
||||||
|
<!-- vim.api.nvim_set_option() -->
|
||||||
|
<!-- vim.api.nvim_get_option() -->
|
||||||
|
<!-- vim.api.nvim_buf_set_option() -->
|
||||||
|
<!-- vim.api.nvim_buf_get_option() -->
|
||||||
|
<!-- vim.api.nvim_win_set_option() -->
|
||||||
|
<!-- vim.api.nvim_win_get_option() -->
|
||||||
|
|
||||||
|
### Using meta-accessors
|
||||||
|
|
||||||
|
<!-- vim.o.{option} -->
|
||||||
|
<!-- vim.bo.{option} -->
|
||||||
|
<!-- vim.wo.{option} -->
|
||||||
|
|
||||||
|
## Managing vim internal variables
|
||||||
|
|
||||||
|
### Using api functions
|
||||||
|
|
||||||
|
<!-- vim.api.nvim_set_var() -->
|
||||||
|
<!-- vim.api.nvim_get_var() -->
|
||||||
|
<!-- vim.api.nvim_del_var() -->
|
||||||
|
<!-- vim.api.nvim_buf_set_var() -->
|
||||||
|
<!-- vim.api.nvim_buf_get_var() -->
|
||||||
|
<!-- vim.api.nvim_buf_del_var() -->
|
||||||
|
<!-- vim.api.nvim_win_set_var() -->
|
||||||
|
<!-- vim.api.nvim_win_get_var() -->
|
||||||
|
<!-- vim.api.nvim_win_del_var() -->
|
||||||
|
<!-- vim.api.nvim_tabpage_set_var() -->
|
||||||
|
<!-- vim.api.nvim_tabpage_get_var() -->
|
||||||
|
<!-- vim.api.nvim_tabpage_del_var() -->
|
||||||
|
<!-- vim.api.nvim_set_vvar() -->
|
||||||
|
<!-- vim.api.nvim_get_vvar() -->
|
||||||
|
|
||||||
|
### Using meta-accessors
|
||||||
|
|
||||||
|
<!-- vim.g.{name} -->
|
||||||
|
<!-- vim.b.{name} -->
|
||||||
|
<!-- vim.w.{name} -->
|
||||||
|
<!-- vim.t.{name} -->
|
||||||
|
<!-- vim.v.{name} -->
|
||||||
|
|
||||||
|
## Calling Vimscript functions
|
||||||
|
|
||||||
|
### vim.api.nvim_call_function()
|
||||||
|
|
||||||
|
### vim.call()
|
||||||
|
|
||||||
|
### vim.fn.{function}()
|
||||||
|
|
||||||
|
## Defining mappings
|
||||||
|
|
||||||
|
<!-- nvim_set_keymap() -->
|
||||||
|
<!-- nvim_get_keymap() -->
|
||||||
|
<!-- nvim_del_keymap() -->
|
||||||
|
<!-- nvim_buf_set_keymap() -->
|
||||||
|
<!-- nvim_buf_get_keymap() -->
|
||||||
|
<!-- nvim_buf_del_keymap() -->
|
||||||
|
|
||||||
|
## Defining autocommands
|
||||||
|
|
||||||
|
<!-- TODO: Mention wrapper + pending PR -->
|
||||||
|
|
||||||
|
## Making your code more robust
|
||||||
|
|
||||||
|
### vim.validate()
|
||||||
|
|
||||||
|
### Unit tests
|
||||||
|
|
||||||
|
## Miscellaneous
|
||||||
|
|
||||||
|
### vim.loop
|
||||||
|
|
||||||
|
<!-- TODO: Mention libuv docs + luvit api -->
|
||||||
|
|
||||||
|
### vim.lsp
|
||||||
|
|
||||||
|
### vim.treesitter
|
Loading…
Reference in New Issue