Some important Sublime fixes
Sublime Text released an update today (Stable channel, Build 3080) that broke build output on the Sublime Text plugins for flow. I have fixed the plugin now, please read below for details.
Part of the preparation for the work happening below is that the repository has changed locations for the plugins. Unfortunately, Package Control is unable to deal with this change (even though github seamlessly transitions the urls and everything) so you have to reinstall both of them from the new URL.
- using Package Control, ctrl/cmd-shift-P
- use Remove Package (should say "remove git repository")
- Install again with Package Control, following the same instructions
- linked below
You can view the updated set up instructions here:
Some new Sublime features
Sublime Text has finally added a way to display information in a popup that isn't using the autocomplete window. It even offers simple html which is great.
What that means for us is that we can show code hinting, errors and a lot more in consistent ways, something which wasn't properly possible before. You can expect to see this in use very soon, now that the sublime stable channel has the features.
While fixing the plugin, I cleaned up a bunch of the build code and added some minor features as well, like :
Build output highlights
Currently highlights build output from flow, and hopefully along the way with the new changes (see below) we can add hxcpp colored ANSI output as well.
If you didn't notice before, double click errors to jump to the error line. They are a bit more interactive looking now, though!
Haxe includes a build define called
absolute-path, which you can add to your flow project under
project.build.defines, and it will permanently show the full paths for
trace and other
haxe.PosInfos information that exists.
IF you have absolute-path or the trace path is relative to your flow file, you can also now double click the trace line, and it'll jump right to the line that it came from.
Some new editor support: atom.io
You may have seen we were working on support for http://atom.io.
The packages for atom are usable already, so you should try them out if you're inclined. There are some neat features that soon both atom and sublime will share, like these typedef completions:
Shared code and feature parity
These cool features are all developed in atom in a way that allows us to split the code apart, and share all the implementation details between both atom and sublime. How?! Haxe of course!
Since Haxe can output both JS and Python (since Haxe 3.2.0 includes .py output) it's possible to build large portions of the Sublime Text plugin and Atom package from Haxe itself. The majority of the parsing, and handling the data of Haxe is not specific to either of them but specific to Haxe itself.
This let's us write the code once, and share it across any IDE's that may have a target that Haxe can build, and will primarily be used right away for atom (js) and sublime (py).
Haxe 3.2.0 features
Part of this parity includes new features from Haxe, including toplevel completion (completion of the types without the need for a
( and Go to definition features provided by the compiler.
All in all, we are excited about the updates to the editor support and look forward to having a much higher level of features for these editors quite soon.
As always, if you have issues, let me know on the chat or here in the comments, or on the repos.