Sublime Text
The following instructions work both in Sublime Text 2 and 3
Contents
Autocompletition & Building with the LuaLove Package
Install the LuaLove Package via Package Control and modify the build system (slightly) to make running in love the default: C:\Users\....\AppData\Roaming\Sublime Text 2\Packages\Lua Love\LuaLove.sublime-build:
{
"file_regex": "^(?:(?:\t)|(?:.+: ))(.+):([0-9]+): (.*)$",
"selector": "source.lua",
"shell": true,
"cmd": ["love", "${project_path:${file_path:.}}"],
"variants": [
{
"name": "Love2D",
"shell": true,
"cmd": ["love", "${project_path:.}"],
"osx":
{
"cmd": ["love $project_path"]
}
},
{ "name": "ldoc: File",
"shell": true,
"cmd": ["ldoc -d $project_path/doc/$file_base_name -f markdown -t $file_base_name $file"]
},
{ "name": "ldoc: Project",
"shell": true,
"cmd": ["ldoc -d $project_path/doc -f markdown -t $project_base_name $project_path/src/"]
}
]
}
Without Packages
On Windows
Create a new Build System first: Tools -> Build System -> New Build System
Then paste the following code:
{
"selector": "source.lua",
"cmd": ["C:/Program Files/LOVE/love.exe", "${project_path:${file_path}}"],
"shell": true,
"file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}
Save it in the suggested location as love-run.sublime-build
.
Now you can use CTRL + B to run your love project. Note that this code doesn't seem to work if you have spaces in your $file_path.
On Mac OS X
Create a new Build System first: Tools -> Build System -> New Build System
Then paste in the following code:
{
"selector": "source.lua",
"cmd": ["/Applications/love.app/Contents/MacOS/love", "${project_path:${file_path}}"],
"file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}
(This is assuming that your love.app is in the Applications folder)
Save it in the suggested location as love-run.sublime-build
.
Now you can use CMD + B to run your love project.
On Linux
Create a new Build System first: Tools -> Build System -> New Build System
Then paste in the following code:
{
"selector": "source.lua",
"cmd": ["love", "${project_path:${file_path}}"],
"file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}
Save it in the suggested location as love-run.sublime-build
.
Now you can use CTRL + B to run your love project.
Displaying live console output in Sublime Text 2
By default the console in Sublime Text will not display any output, such as print() calls, until the LOVE application has been closed.
To make the console output display live add the following code to the top of your main.lua file, or inside conf.lua:
io.stdout:setvbuf("no")
Jumping to errors
If there was an error during execution, you can use the F4 (next error) and SHIFT-F4 (previous error) to go through the errors that lua encountered.
See also
- Sublime Text 2 Website
- Sublime Text 2 Build Systems
- Stack Overflow question about console output in Sublime Text 2