Lua Training Sessions

Master Lua for Neovim scripting. From basics to LSP configuration and plugin development.

Training Philosophy

  1. Sessions first - Learn concepts step-by-step

  2. Language before APIs - Master Lua, then Neovim

  3. domus-nvim focused - Patterns used in your config

  4. Progressive - Fundamentals → Tables → Neovim → Plugins → LSP

Sessions (Curriculum)

Session Focus Duration Status

01

Types, strings, operators (~=), control flow

45 min

[ ] Planned

02

Tables (1-indexed!), ipairs/pairs, utilities

45 min

[ ] Planned

03

vim.api, vim.opt, vim.keymap, autocmds

60 min

[ ] Planned

04

lazy.nvim specs, lazy loading, dependencies

60 min

[ ] Planned

05

lspconfig, mason, diagnostics, keymaps

60 min

[ ] Planned

Drills (Practice)

Drill Focus Environment

01

Types, strings, operators, control flow

Terminal (lua)

02

Arrays, dicts, iteration, utilities

Terminal (lua)

03

vim.api, vim.opt, vim.keymap

Neovim (:lua)

04

lazy.nvim, module structure

Neovim (:lua)

05

lspconfig, mason, diagnostics

Neovim (:lua)

Quick Start

# Run the drill menu
bash ~/atelier/_bibliotheca/domus-captures/docs/modules/ROOT/examples/lua-drills/00-run-drill.sh

# Run basics (works in terminal)
bash ~/atelier/_bibliotheca/domus-captures/docs/modules/ROOT/examples/lua-drills/00-run-drill.sh 01
bash ~/atelier/_bibliotheca/domus-captures/docs/modules/ROOT/examples/lua-drills/00-run-drill.sh 02

# For Neovim-specific drills (03-05), copy code blocks and run in Neovim

Notes

  • Drills 01-02 run in terminal with lua interpreter

  • Drills 03-05 contain Neovim-specific code - run with :lua in Neovim

  • Cross-reference with domus-nvim source: ~/.config/nvim-domus/