Difference between revisions of "Sublime Text"
(reworked titles, made compact and easier to follow, I hope) |
(Suggest a more rigorous build system which is multi-platform and solves one of the issues with the old ones.) |
||
Line 46: | Line 46: | ||
Create a new Build System: <code>Tools -> Build System -> New Build System</code> and use the following code. | Create a new Build System: <code>Tools -> Build System -> New Build System</code> and use the following code. | ||
− | |||
<source lang="ini"> | <source lang="ini"> | ||
{ | { | ||
"selector": "source.lua", | "selector": "source.lua", | ||
− | + | "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$", | |
− | + | "windows": { | |
− | "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$" | + | "cmd": ["C:/Program Files/LOVE/love.exe", "${folder:${file_path}}"], |
− | + | "shell": true | |
− | + | }, | |
− | + | "osx": { | |
− | + | "cmd": ["/Applications/love.app/Contents/MacOS/love", "${folder:${file_path}}"] | |
− | + | }, | |
− | " | + | "linux": { |
− | + | "cmd": ["love", "${folder:${file_path}}"] | |
− | + | } | |
− | } | ||
− | |||
− | |||
− | |||
− | |||
− | " | ||
− | |||
− | |||
} | } | ||
</source> | </source> | ||
Line 79: | Line 70: | ||
* This build system depends on the location of your LÖVE binary. Check the path in the <code>"cmd":</code> line. | * This build system depends on the location of your LÖVE binary. Check the path in the <code>"cmd":</code> line. | ||
− | * This | + | * This build system doesn't seem to work if you have spaces in your <code>$file_path</code>. |
− | |||
== Console output == | == Console output == |
Revision as of 01:29, 2 January 2018
The following instructions work both in Sublime Text 2 and 3 unless mentioned otherwise.
Contents
Lua Love
The Lua Love Package provides syntax highlighting, snippets, autocompletion and build rules.
- Install Package Control, restart Sublime.
- Press Ctrl+Shift+P to open the command palette and use the Package Control: Install Package command.
- Wait until another input field appears and install the Lua Love package.
- In the command palette enable syntax highlighting with Set Syntax: Lua (Love).
- In Sublime 3, you can use Ctrl+Shift+B to select the build system LuaLove - Love2D which from then on you can start using Ctrl+B.
- In Sublime 2, you have to manually edit the build script (
C:\Users\....\AppData\Roaming\Sublime Text 2\Packages\Lua Love\LuaLove.sublime-build
in Windows):
{
"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/"]
}
]
}
Both Sublime 2 and 3 require the directory of your LÖVE binary to be part of your PATH variable. You can avoid this by changing the "love"
path in the build script. This is more complicated in Sublime 3.
Simple Build System
Create a new Build System: Tools -> Build System -> New Build System
and use the following code.
{
"selector": "source.lua",
"file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$",
"windows": {
"cmd": ["C:/Program Files/LOVE/love.exe", "${folder:${file_path}}"],
"shell": true
},
"osx": {
"cmd": ["/Applications/love.app/Contents/MacOS/love", "${folder:${file_path}}"]
},
"linux": {
"cmd": ["love", "${folder:${file_path}}"]
}
}
Save it in the suggested location as love-run.sublime-build
.
Now you can use Ctrl+B or Cmd+B to run your love project.
Issues
- This build system depends on the location of your LÖVE binary. Check the path in the
"cmd":
line. - This build system doesn't seem to work if you have spaces in your
$file_path
.
Console output
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