Extract and reintegrate Lua code from Roblox Place (.rbxlx) files. Rojo does something similar, with considerably more fanfare.
Clone this repo then:
curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python
cd rbxlx-env cp [your .rbxlx file] . make unfurl
This extracts all scripts into ./src
. You may now apply all your normal tools, e.g., git, emacs, luacheck, etc. To reconstitute the .rbxlx
file from (the presumably modified) ./src
make furl
Identify the parent directory of your .rbxlx
file in $HOME/.wine
. A typical Wine installation might have it in $HOME/.wine/drive_c/users/$(whoami)
. Assuming this
cd rbxlx-env ln -s $HOME/.wine/drive_c/users/$(whoami) ./drive_c ln -s `realpath ./[your rbxlx file]` drive_c make
Continue using Roblox Studio for all non-editing tasks, i.e., creating and manipulating game objects in Explorer. Suppose you create a new LocalScript named "Sword" in ReplicatedStorage, and now want to edit it with a reasonable editor. Save in Studio and run
make unfurl
The new LocalScript will now appear in ./src
under ReplicatedStorage/Sword
. I recommend Projectile to sanely navigate the source.