An Haxe Bundle for Sublime Text 2 and Sublime Text 3
- Syntax highlighting for Haxe2 and Haxe3 sources and hxml build files
- Haxe compiler auto-completion, code hints, smart snippets, error highlighting / navigation and "goto definition" feature
- NME, openfl and Flambe support with completion, target selection and compilation
- Package and classes discovery/suggestion including classpath (-cp) and haxelib libraries (-lib)
- Multiple build management and automatic generation of hxml files
- Haxelib integration (install / remove / upgrade libs) with -lib autocompletion
- Code snippets, auto-import, Sublime build system integration
- HScript, Erazor and HSS support
and more to come :)
The most straight-forward way to install the bundle and to keep it up-to-date is through Package Control.
If you want to develop on a forked repo, you can clone it into the Packages folder:
cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
git clone https://github.com/<fork author>/haxe-sublime-bundle.git Haxe
cd ~/.config/sublime-text-2/Packages
git clone https://github.com/<fork author>/haxe-sublime-bundle.git Haxe
Using git bash
cd /c/Users/<username>/AppData/Roaming/Sublime\ Text\ 2/Packages
git clone https://github.com/<fork author>/haxe-sublime-bundle.git Haxe
Restart Sublime Text.
See How to install Package Control on Sublime Text 3.
For manual installation, the folders should be sublime-text-3
(Linux) or Sublime\ Text\ 3
(Windows, Mac OSX).
- Open your project directory (where the .hxml or .nmml resides) in Sublime Text, the build file should be detected automatically,
- Create new types through the sidebar's context menu
- Edit your classes (check the cool snippets, like 'prop'-Tab)
- Open parenthesis and comma keys display Haxe type hints in the status bar and inserts smart snippets
- Press Ctrl+Shift+B to either select among multiple builds, automatically generate an hxml file if none exist, or edit the build file if only one build exists
- Press Ctrl+Enter to run the current/selected build
- Press Ctrl+I on a qualified class name to shorten it and generate the import statement. Safe to use if the class is already imported.
- Press Ctrl+Shift+H and then :
- Ctrl+Shift+C to create a new class,
- Ctrl+Shift+I to create a new interface,
- Ctrl+Shift+E to create a new enum,
- Ctrl+Shift+T to create a new typedef
- Press Ctrl+< to go to definition (Haxe 3.1.3+ required)
- Press Ctrl+Shift+F1 to show documentation on cursor (when previously autocompleted)
haxe_path
: Full path to the Haxe compiler, if not already in yourPATH
(ex:"/usr/bin/haxe" or "C:\Program Files\Haxe\haxe.exe")haxe_library_path
: Full path to the standard lib, overridingHAXE_LIBRARY_PATH
andHAXE_STD_PATH
(ex:"/usr/local/haxe/std")haxelib_path
: Full path to Haxelib, if not already in your PATH (ex:"/usr/bin/haxelib" or "C:\Program Files\Haxe\haxelib.exe")haxe_build_server_mode
(true
by default) : Uses compilation server for building.haxe_completion_server_mode
(true
by default) : Uses compilation server for autocompletion.haxe_smart_snippets
(true
by default) : Inserts smart snippets based on compiler hints after(
and,
haxe_builds
: Addshxml
files to your project, and disablehxml
file scan (see above).
Haxe NME is based on a specific .nmml
file (the .hxml
is generated) which is supported by this bundle.
To target openfl, use .xml
instead, like project.xml
.
- press Ctrl+Shift+B to select a NME target
- press Ctrl+Enter to build and run (regular Sublime Text build system won't work)
The bundle should find your hxml
file automatically, to provide autocompletion and build functionnality. It will search for hxml
files as follows :
-
If you opened only a file, it will scan from the file path up to your filesystem root.
-
If you opened folders, it will scan from the file path you opened up to the folder you opened that contains it. It will also scan the root of other opened folders.
In addition to that, you can manually add hxml
files to your project by either right-clicking them and 'Add Haxe build file to project', or adding them manually to your haxe_builds
project setting.
In ST3, if you use projects, the paths will persist across sessions.
When this feature is used, the bundle will only use the hxml
files you provided, and no longer scan for other hxml
files.
The haxe_builds
setting is an array of either simple hxml
paths (eg:"build/html5.hxml"
), or of the form of 'current/working/dir@build/path.hxml'.
For example, if you add "my_project/haxe_sources@build/test.hxml"
, the bundle will run haxe build/test.hxml
from my_project/haxe_sources
.
(Please notice that only ST3 allows paths to be relative to project-file path)
- You'll need a working installation of Haxe (
haxe
andhaxelib
): start by trying to compile your project directly through a terminal. - Open the Sublime Text Console (in View menu) to see what's going on.
- Don't hesitate to open an issue in case anything goes wrong.
As this bundle displays code hinting for method calls in the “status bar”, you may find it useful to increase its font-size.
SublimeText Editor Video Tutorial