|
|
|
@ -2,6 +2,63 @@
|
|
|
|
|
|
|
|
|
|
# Getting started using Lua in Neovim
|
|
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
|
|
|
|
- [Translations](#translations)
|
|
|
|
|
- [Introduction](#introduction)
|
|
|
|
|
- [Learning Lua](#learning-lua)
|
|
|
|
|
- [Existing tutorials for writing Lua in Neovim](#existing-tutorials-for-writing-lua-in-neovim)
|
|
|
|
|
- [Companion plugins](#companion-plugins)
|
|
|
|
|
- [Where to put Lua files](#where-to-put-lua-files)
|
|
|
|
|
- [init.lua](#initlua)
|
|
|
|
|
- [Modules](#modules)
|
|
|
|
|
- [Runtime files](#runtime-files)
|
|
|
|
|
- [Using Lua from Vimscript](#using-lua-from-vimscript)
|
|
|
|
|
- [:lua](#lua)
|
|
|
|
|
- [:luado](#luado)
|
|
|
|
|
- [Sourcing Lua files](#sourcing-lua-files)
|
|
|
|
|
- [Sourcing a lua file vs calling require()](#sourcing-a-lua-file-vs-calling-require)
|
|
|
|
|
- [luaeval()](#luaeval)
|
|
|
|
|
- [v:lua](#vlua)
|
|
|
|
|
- [Tips](#tips-2)
|
|
|
|
|
- [The vim namespace](#the-vim-namespace)
|
|
|
|
|
- [Tips](#tips-3)
|
|
|
|
|
- [Using Vimscript from Lua](#using-vimscript-from-lua)
|
|
|
|
|
- [vim.api.nvim_eval()](#vimapinvim_eval)
|
|
|
|
|
- [vim.api.nvim_exec()](#vimapinvim_exec)
|
|
|
|
|
- [vim.api.nvim_command()](#vimapinvim_command)
|
|
|
|
|
- [vim.cmd()](#vimcmd)
|
|
|
|
|
- [vim.api.nvim_replace_termcodes()](#vimapinvim_replace_termcodes)
|
|
|
|
|
- [Managing vim options](#managing-vim-options)
|
|
|
|
|
- [Using api functions](#using-api-functions)
|
|
|
|
|
- [Using meta-accessors](#using-meta-accessors)
|
|
|
|
|
- [Managing vim internal variables](#managing-vim-internal-variables)
|
|
|
|
|
- [Using api functions](#using-api-functions-1)
|
|
|
|
|
- [Using meta-accessors](#using-meta-accessors-1)
|
|
|
|
|
- [Calling Vimscript functions](#calling-vimscript-functions)
|
|
|
|
|
- [vim.fn.{function}()](#vimfnfunction)
|
|
|
|
|
- [Defining mappings](#defining-mappings)
|
|
|
|
|
- [API functions](#api-functions)
|
|
|
|
|
- [vim.keymap](#vim.keymap)
|
|
|
|
|
- [Defining user commands](#defining-user-commands)
|
|
|
|
|
- [Caveats](#caveats-5)
|
|
|
|
|
- [Defining autocommands](#defining-autocommands)
|
|
|
|
|
- [Defining highlights](#defining-highlights)
|
|
|
|
|
- [General tips and recommendations](#general-tips-and-recommendations)
|
|
|
|
|
- [Reloading cached modules](#reloading-cached-modules)
|
|
|
|
|
- [Don't pad Lua strings!](#dont-pad-lua-strings)
|
|
|
|
|
- [Notes about Vimscript <-> Lua type conversion](#notes-about-vimscript---lua-type-conversion)
|
|
|
|
|
- [Setting up linters/language servers](#setting-up-linterslanguage-servers)
|
|
|
|
|
- [Debugging Lua code](#debugging-lua-code)
|
|
|
|
|
- [Debugging Lua mappings/commands/autocommands](#debugging-lua-mappingscommandsautocommands)
|
|
|
|
|
- [Testing Lua code](#testing-lua-code)
|
|
|
|
|
- [Using Luarocks packages](#using-luarocks-packages)
|
|
|
|
|
- [Miscellaneous](#miscellaneous)
|
|
|
|
|
- [vim.loop](#vimloop)
|
|
|
|
|
- [vim.lsp](#vimlsp)
|
|
|
|
|
- [vim.treesitter](#vimtreesitter)
|
|
|
|
|
- [Transpilers](#transpilers)
|
|
|
|
|
|
|
|
|
|
## Translations
|
|
|
|
|
|
|
|
|
|
- [:cn: Chinese version](https://github.com/glepnir/nvim-lua-guide-zh)
|
|
|
|
|