A (WIP) Sublime Text 4 plugin for LÖVE2D development that provides autocomplete and API information.
Based on LÖVE-API.
Status: LSP-lua now ships with LÖVE2D support. Unless you want to avoid LSP, I recommend that over LÖVELY2D.
LÖVELY2D is available on Package Control.
- Navigate to your
Packages
folder (easiest way to find it is from within Sublime Text, go toPreferences > Browse Packages...
). - Download the latest release from the releases page.
- Unzip the downloaded archive. Copy the directory
LOVELY2D-x.x.x
into yourPackages
folder.
Use git clone
to clone this repository into your Packages
folder.
# From within your `Packages` folder
git clone https://github.com/kevinfiol/LOVELY2D.git
From within a .lua
file, set the syntax to LOVELY2D
. Autocomplete and hover tips should function normally.
Tip: I recommend setting "auto_complete_preserve_order": "none"
in your Sublime preferences for more predictable auto-complete behavior.
Sublime LSP is an implementation of the Language Server Protocol for Sublime Text.
Note: the LSP-lua package now ships with LÖVE2D support out of the box that is more intelligent than LOVELY2D thanks to the Language Server Protocol. You may or may not want to use LOVELY2D in conjunction with Sublime LSP for this reason. Nevertheless, see below if you'd like to continue:
- Install Sublime LSP.
- Install LSP-lua
- Open the Command Palette, and go to
LSP-lua Settings
. Modify theselector
andLua.diagnostics.globals
property so that LÖVELY2D Syntax files are correctly parsed and diagnostics doesn't nag you about thelove
global. Example:
{
"selector": "source.lovely | source.lua",
"settings": { "Lua.diagnostics.globals": ["love"] }
}
- (Bug) Invoking the API popup on anything under the
love.
namespace closes the autocomplete. This is unintended, and I'm not sure why it happens (help appreciated!) - Function override signatures not provided in hints
- Hover tips are sometimes overridden by Reference tips
- General clean-up / commenting
Implement function signature helper while typing in parameters(Added in 0.6.0)