# ImpactJS for Sublime Text 2 A collection of snippets and shortcuts for doing ImpactJS development in Sublime Text 2. *Issues and pull requests welcome!* I don't use Sublime these days so I'm less aware of the little daily pains that using this package can cause. Please let me know if there's something missing that you want and we'll work to get it in here. ## Install Please use [Package Control][packagecontrol] to install the ImpactJS plugin for Sublime Text 2. Everything else would just be terrible. [packagecontrol]: https://packagecontrol.io/ ## Usage This package is careful to not steal your JS syntax away from you. To use this package in Sublime you must switch the syntax of your current file from "JavaScript" to "ImpactJS". By default, you can press CTRL - SHIFT - P to pull up the syntax chooser. ## Snippets I really love TAB completion snippets. Once your syntax is switched (see above), you can type the shortcuts below, hit TAB, and the snippet should expand in place. See the [Sublime documentation for "Snippets" for more info][snippets]. [snippets]: http://docs.sublimetext.info/en/latest/extensibility/snippets.html ### `igm` Define an Impact module. By default, the snippet defines the module with a `'use strict';` expression to force JS into [strict mode][strict]. Trust me, you want this. But it *does* mean that your definitions probably have to be declared with a `window` in front of them. For example: window.EntityPlayer = ig.Entity.extend({}); ### `ige` Define an Impact entity. As above, the module will be in [strict mode][strict]. [strict]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode ## Completions This package knows about certain properties in Impact and will help you complete them by pressing CTRL - SPACE. See the [Sublime docs about "Completions" for more info][completions]. [completions]: http://docs.sublimetext.info/en/latest/extensibility/completions.html ### Entity All the [Entity][entity] properties and methods. [entity]: http://impactjs.com/documentation/class-reference/entity ### Keys All the [mouse and keyboard names][keys]. [keys]: http://impactjs.com/documentation/class-reference/input#mouse-and-keyboard-button-names