# LuaTeX Lua API Type definitions for the Lua API of `LuaTeX`. [LuaTeX](http://luatex.org) has a very large [Lua](https://www.lua.org) API. This project tries to make this API accessible in the text editor of your choice. This is made possible by the [lua-language-server](https://github.com/LuaLS/lua-language-server) - a server that implements the [Language Server Protocol (LSP)](https://en.wikipedia.org/wiki/Language_Server_Protocol) for the `Lua` language. Features such as code completion syntax highlighting and marking of warnings and errors, should therefore not only be possible in [Visual Studio Code](https://code.visualstudio.com), but in a [large number of editors](https://langserver.org/#implementations-client) that support the `LSP`. ## Version on CTAN The type definitions for LuaTeX are published on CTAN as a single file to avoid cluttering the CTAN directory with many individual Lua files. Since this one file is just under 1.5 MB in size, a configuration must be made so that the language server can load the file. The following configuration example sets the preload file size to a maximum of 5000 kB. ```json { "Lua.workspace.preloadFileSize": 5000, } ``` There are several ways to include LuaTeX type definitions in a project. The easiest way is to copy the file into the project folder. Or you can use the configuration `Lua.workspace.library`: ```json { "Lua.workspace.library": ["/path/to/luatex-type-definitions.lua"] } ``` ## Current version 2025/07/13 v0.1.0 ## License Copyright (C) 2022-2025 by Josef Friedrich ------------------------------------------------------------------------ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see .