Difference between revisions of "Sublime Text"

(editor integration category)
(added save step to instructions, added Linux guide for build system)
Line 48: Line 48:
 
}
 
}
 
</source>
 
</source>
 +
 +
Save it in the suggested location as <code>love-run.sublime-build</code>.
  
 
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.
 
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 ===
+
=== On Mac OS X ===
  
 
Create a new Build System first: Tools -> Build System -> New Build System
 
Create a new Build System first: Tools -> Build System -> New Build System
Line 64: Line 66:
 
</source>
 
</source>
 
(This is assuming that your love.app is in the Applications folder)
 
(This is assuming that your love.app is in the Applications folder)
 +
 +
Save it in the suggested location as <code>love-run.sublime-build</code>.
  
 
Now you can use CMD + B to run your love project.
 
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:
 +
<source lang="ini">
 +
{
 +
    "selector": "source.lua",
 +
    "cmd": ["love", "${project_path:${file_path}}"],
 +
    "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
 +
}
 +
</source>
 +
 +
Save it in the suggested location as <code>love-run.sublime-build</code>.
 +
 +
Now you can use CTRL + B to run your love project.
  
 
== Displaying live console output in Sublime Text 2 ==
 
== Displaying live console output in Sublime Text 2 ==

Revision as of 02:02, 7 May 2016

Sublime Text is a sophisticated text editor for code, markup and prose.

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