Part 1: Lua project setup with LuaRocks
Setting up a project with Lua, running code, installing dependencies, code formatting, and static analysis, as well as the editor setup.
An article series about different aspects of Lua and the surrounding ecosystem. This is not about learning the language itself, there are far better resources for this, like the book Programming in Lua or the LuaUsers tutorial directory.
The series can be read one after the other, as every article builds on the one before, or jumped directly into a topic as desired in any order. In either case, the companion repository on GitHub will be available to take a look at the whole setup, from the latest commit or on a per-article basis, available as branches.
At the end of this page are also some useful links, gathered throughout the article series.
Setting up a project with Lua, running code, installing dependencies, code formatting, and static analysis, as well as the editor setup.
Using LuaRocks to create and build new packages, to then publish them to the official LuaRocks registry, and how to manage new versions.
Besides quick iterations on the command-line, having a test suite for Lua will be crucial for any serious project. This article will also cover mocking and a continuous integration setup.
Even with a good test suite, debugging will be necessary, sooner or later. This article will go in depth into debugging Lua, including how to profile a Lua application.
Lua being an "extensible extension language", it is perfect to extend and customise applications. This article will look at integrating Lua, accessing data, defining functions and modules, and much more.
All about writing an own command-line application in Lua, parsing arguments, taking user input, and showing a continues state in the terminal.
Growing applications have growing needs. This will cover how to manage those, with multiple projects inside one repository.
LuaRocks supports not only uploading rocks written in Lua, but C as well. Here I will show how to create a C-Rock, build and publish, and how to manage platform specific code.
...
...
...