Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/stravant/LuaMinify

Lua source code minifier.
https://github.com/stravant/LuaMinify

Last synced: about 2 months ago
JSON representation

Lua source code minifier.

Lists

README

        

Lua Parsing and Refactorization tools
=========

A collection of tools for working with Lua source code. Primarily a Lua source code minifier, but also includes some static analysis tools and a general Lua lexer and parser.

Currently the minifier performs:

- Stripping of all comments and whitespace
- True semantic renaming of all local variables to a reduced form
- Reduces the source to the minimal spacing, spaces are only inserted where actually needed.

LuaMinify Command Line Utility Usage
------------------------------------

The `LuaMinify` shell and batch files are given as shortcuts to running a command line instance of the minifier with the following usage:

LuaMinify sourcefile [destfile]

Which will minify to a given destination file, or to a copy of the source file with _min appended to the filename if no output file is given.

LuaMinify Roblox Plugin Usage
-----------------------------

First, download the source code, which you can do by hitting this button:

![Click That](http://github.com/stravant/LuaMinify/raw/master/RobloxPluginInstructions.png)

Then copy the `RobloxPlugin` folder from the source into your Roblox Plugins directory, which can be found by hitting `Tools->Open Plugins Folder` in Roblox Studio.

Features/Todo
-------------
Features:

- Lua scanner/parser, which generates a full AST
- Lua reconstructor
- minimal
- full reconstruction (TODO: options, comments)
- TODO: exact reconstructor
- support for embedded long strings/comments e.g. [[abc [[ def ]] ghi]]

Todo:
- use table.concat instead of appends in the reconstructors