Recent change notes
This jar is compatible with IDEA 2018.x
It was built using IDEA build IU-181.5540.7
- Now infers generic types from map and array literals. (e.g. ["this" => "yours"] is Map).
- Now resolves typedefs to underlying types. (e.g. `var v:Null` is resolved as a `String` type.)
- Now propagates type parameters (generics) properly through typedefs.
- Now resolves types when used with array access (e.g. `map.length` no longer marked as errors).
- Now infers types of methods without specific typing (e.g. `map.get(0).length` no longer marked as errors).
- Added support of read/write access separation for "find usages".
- Added support of haxe 4 syntax "enum abstract"
- Inspections for non-haxe files disabled.
- Fixed recognizing type of "this" expression.
- Fixed bug when physical variables were marked as not real.
- Fixed searching of interface implementations and inheritance hierarchy
- Added find usages support for constructors #530
- Fixed find usages support for properties
- Add completion dropdown when ':' is typed and a type is expected.
- Add support of final syntax introduced in Haxe 4
- Add support of new function types syntax introduced in Haxe 4
- Fix of support of explicit abstract forwards. Now fields and methods that has not been forwarded will not be resolved as valid.
- Fixed recognition of standard types
- Fixed NPE that occurred if current project sdk was not properly configured
- Fix indents for anonymous structures fields and extends list
- Fix indents for fat arrow expressions
- Fix parsing of anonymous type with empty body
- Add anonymous types in anonymous types support
- Add anonymous structures names support
- Added chained anonymous fields recognition
- Add proper generics propagation for anonymous structures, typedefs and classes
- Add generic constraint support
- Add Null<T> support
- Add proper from-to declaration support, types infer and compatibility checks
- Fix referenced var-init support check
- Automatically change references when moving a class across packages
1.0.2 (HaxeFoundation release)
- Performance hot-fix for projects that have multiple source roots. (Issue #799)
1.0.1 (HaxeFoundation release)
- Updated change notes for 1.0.0 (enumerated several important import changes).
- Add Haxe Sdk setup validation.
- Use SDK classpath as well as sourcepath to find the standard library. (Issue #774)
- Better error handling when haxelibs are installed incorrectly. (Issue #780)
- 2017.3 and 2018.1 builds. (Issues #719, #789)
- Workaround debugger crash. (Issue #792)
- Fix typo in haxelib metadata parser, which was keeping library sub-tree source directories from being found.
1.0.0 (HaxeFoundation release)
- Import of static fields/methods.
- Imports alias hinting support.
- Proper wildcard import resolution.
- Import optimizer now works properly.
- Proper module scoping for resolving.
- Add $trace to the list of built-ins to recognize.
- Semantic Annotation: Infer missing function types from code blocks.
- Semantic Annotation: Support arrow functions.
- Semantic Annotation: Add local variable type checking.
- Properly detect function types when used in type parameters (generics).
- Fix Flash "Run" target to launch the file that the compile process creates.
- Non-OpenFL projects now use a better algorithm to determine output directories and files.
- Add source directories to classpath during compiler completions. (More completions, fewer errors.)
- Use non-haxe-logo version of icons when completions are not provided by the compiler.
- Compatibility fix for non-IDEA products: stop logging to stderr! (Issue #724)
- Improved Enum parsing; added generalized algebraic data types support.
- Add true Map literal support. (No longer parsed as Array.)
- Added visibility detection rules (e.g. @NoCompletion) regarding language docs.
- Fixes to error message parsing (no longer account info messages to JetBrains installation directory).
- Split 'lime test' into 'lime update; lime build' and 'lime run', for Make and Run/Debug tasks.
- Add folding support:
- For documentation comments (/** */).
- For comment regions. (// region Name ... // end region) (Issue #529)
- Braces for classes, methods, etc.
- For imports and usings.
- For compiler conditionals (#if, etc.)
- Fixed a number of NPEs in the ProjectUpdater.
- Add enums from the current file completion suggestion lists.
- Fixed the resolution order for imports vs. package. (Issue #741)
- Fixed inability to resolve enum parameter symbols at case statement. (Issue #351)
- Dropped support for IDEA versions 14 and 15.
- Internal: Began refactoring the resolver. New models are introduced.
- Changed "static variable override" to a weak warning, instead of a regular warning.
- Allow @:meta without parens.
- Properly parse variable declarations in return statements. (Issue #329)
- Fixed parsing of 'throw' statements within a ternary expression. (Issue #704)
- Allow all string literal forms as field identifiers in structures. (Issue #662)
0.11.2: (Haxe Foundation Release)
- Parsing fixes:
- Expressions inside of type parameters.
- Make sequential operators cause syntax errors.
- Allow anonymous local function declarations.
- External function declarations with simple bodies getting 'Unexpected semicolon' messages.
- Custom meta-data with empty parenthesis.
- Named nested (local) function declarations.
- Prototype functions in abstract .types.
- Allow @arrayAccess
- Array access where the name is parenthesized.
- Allow @final on property declarations.
- Allow and recover from variable declarations that don't require a semicolon (e.g. preceded by a block).
- Allow trailing comma inside of an object literal.
- Allow trailing comma at the end of an array literal.
- Block statements when used as an initializer.
- Fix NPE when haxelib.json was missing from a library.
- Fix an exception when the Haxe SDK is set up incorrectly.
- Added Adobe AIR target
- Refactor haxelib library dependency detection and project update.
- For FindUsages, ask whether to search for base class/interface usages.
- Fix bug with environment variables not being passed through to forked processes in some cases. (Issue #659)
- Add haxelib and neko directories to (the start of) the Path before forking a process.
- Better tracking of settings changes.
- Better parsing of HXML/lime (or "haxelib run lime") output.
- Fix IndexOutOfBoundsException when checking for static extensions and static member methods have no parameters. (Issue #652)
- Better parser recovery for "extends" and "implements" statements. (Issue #137)
- Fixed identifier resolving for dot-references defined in "type params." (Issue#674)
- Fixed parameter count resolution for anonymous functions. (Partially closes issue #521.)
- Add neko and haxelib directories to the PATH/Path environment variable when running plugin commands (affects lime, etc.).
- Better cache coherency for completions.
- Improved hxml parsing.
- Added mechanism to track project and module settings changes.
- Improve locating files when traversing the stack frames during debugging.
0.11.1: (community release)
- Check for and halt type resolution when a cyclical/recursive definition is found.
- Address some freezes by delaying use of indices until indexing is complete.
- Speed haxelib syncing (and stop unnecessary re-indexing). (Regression)
- Fix freezes by fixing some multi-threading issues and other exceptions being thrown.
- Speed up parsing of arrow functions.
- Add Haxe-specific double-click selection logic for strings and comments. (Issue #212)
- Reroute debugging informational errors to the status bar instead of modal dialogs.
- Fix compilation halting on "- Link" informational messages.
- Add neko and haxelib directories to the path when building projects (for all platforms; used to be OSX-only).
- Fix multi-platform build issues (for the plugin, particularly affects Windows builds).
0.11.0: (community release)
- Support IDEA 2017.1
- Add parsing support for "Arrow Functions."
- Better recovery of parsing errors in function parameter lists.
- Fixed exceptions occurring when adding libraries, so auto-adding will work again.
- Delay using project indexes until scanning is complete.
- Proper resolution of constructors ('new').
- Display parameter tip text when creating new object instantiations.
- Better parsing of shift-and-assign operators.
- Now correctly resolves variables declared in 'for' statements when the iterated type is parameterized. (Issue #528)
- Resolve chained classes with type parameters (generics).
- Correct completion with EitherType<>. (Issue#512).
- Parse @:const type parameters without error. Also allow constants as type parameters.
- Added navigation to getter/setter methods from property accessors.
- Annotate strings with incorrect quotes and add quick-fix intention to convert them.
- Note optional arguments with a ? when displaying methods.
- Improved method signature check.
- Added searching of implementation declared by superclasses.
- Properly parse and evaluate compiler conditionals (#if...#else...#end)
- Resolve array access with types other than "Array."
- Better 'Main class' chooser for the 'Project Settings->Haxe Compiler' dialog.
- Fix property getter/setter quick-fixes.
- Add location data, if known, to compiler completion error messages.
- Display available completions even when the compiler reports an error.
- Fixed incomplete results from a compiler run.
- Better logic for removing duplicate entries from completion lists.
- Better code completion using the compiler -- OFF BY DEFAULT! Turn on in File->Project Structure...
- Fix parsing of all compiler conditionals. (#417, #121, partly #115, and others)
- Fix parsing of one-liner conditional compilation style (issue #417, #121, partly #115)
- Support for `@:require` haxe_ver comparing (issue #418)
- Support for `@:require` and `@:jsRequire` with multiple arguments
- Better handling of closing parens, brackets, quotes. (Issues #545, 546)
- Fix parsing when an anonymous function call is defined and immediately executed. (Issue #544)
- Fix library name parsing issues for haxelibs using non-standard paths.
- Resolve URLs properly when adding haxelibs.
- Updated Haxe logo bitmaps.
0.10.1.1: (community release)
Update compatibility for 2016.3.2
Update documentation to refer to HaxeFoundation instead of TiVo.
0.10.1: (community release)
- Use Java's file library for detecting symlinks instead of IDEA's.
- Formatting: Prevent excess linefeed between doctyp and function.
- Fix completion for for loop variables. (issue #511)
- Support for IDEA up through 2016.3.
- Updated parsing for hxcpp 3.3 compiler error output.
- Add support for type check syntax (expr : type). (issue #510)
- Fixed cursor not indented in class body after var or function declaration. (issue #492, case 1)
- Highlight "in" and "as" as keywords when they appear in import statements.
- Highlight "in" as a keyword when it appears in a for statement. (issue #501)
- Add support for string literals as the keys in structures. (issue #498)
- Support @:native annotation for functions and variables. (issue #490)
- Stop using the classpath to auto-add external libraries to projects. (issues #477 #100)
- Fix re-ordering imports in certain situations. (issue #494)
- Fix 'never' setter. (issue #486)
- Change class paths for external libraries on OSX.
- Fixed creating classes in TEST source roots
- Fixed debug Flash on Haxe-compiler target
- Fixed crash on MACRO_CLASS_LIST assert
- @:deprecated support (issue #459, #473)
- Alias imports support (issue #466)
- Imports optimization: reordering added (issue #471)
- Fixed typedef multiple extensions highlighting
0.9.10: (community release)
- Better packages resolving
- Fix catch parameter declaration (issue #419)
- Fix inherited type in field initializer (issue #412)
- Delete single-class file in one operation from Project View (issue #424)
- Fix interface properties accessor check annotation (issue #411)
- Error highlighting added for variable redefinition (issue #431)
- Fix generic sub-type resolving when import just type-module (issue #435)
- Extensions: using variants and resolving for children and implementations of base class or interface added (issue #433)
- Fix typedef generic params resolving (issue #304)
- General "@:enum abstract" support (issues #427, #428, #429)
- Fix import / using statements class name completion (issue #286)
- Incorrect “public” modifier when override methods fixed (issue #439)
- Incorrect field access modifier after action generate set/get methods. Can't use action generate set/get methods for static fields. (TiVo Issue #442)
- Fix use scope for var declarations (issue #235)
- Find usages import filtering (issue #426)
- Completion for word `super`: handle `super` word like `this` word (issue #87)
- Fix forwarding abstract fields completion and resolving. (issue #447, #108)
- Navigate to symbols (issue #340)
- Fix incorrect error annotation in extended class for static fields and methods with same names like in base class. (issue #449)
- Fix method local variables and arguments completion. (issue #455)
0.9.9: (community release)
- IDEA v15 compatibility. (IDEA 13 compatiblity removed.)
- v15 Project Structure and Module settings dialogs work. (TiVo Issue #380)
- HXML: Fix `Editor/Colors & Fonts/HXML` tab (name & preview)
- HXML: highlighting for included `.hxml` file
- Fix unhandled exceptions while parsing numeric constants
- Fix typedef types not resolved variants for completion list
- Fix error annotation when implements `extern interface`
- Fix extending anonymous types. (TiVo Issue #353)
- Error annotation if type extends itself. (TiVo Issue #377)
- Fix qualified name resolving for ancillary types declaration (multiple types inside .hx file)
- Fix resolving variables having names identical to type names except for case. (TiVo Issues #405, #234)
- Fix incorrect package resolution. (TiVo Issues #95, #176)
- Fix base fields resolving for extended anonymous types (TiVo Issue #408)
- Prevent recursion due to extending self for classes and typedefs.
- Using file with multiple helper classes typedefs (for example `haxe.macro.Tools`) (TiVo Issue #128)
- Allow short assignment syntax for generics. (TiVo Issue #388)
- Fixed expected package name to no longer reference the system root. (TiVo Issue #387)
- Save and restore OpenFL arguments on the Haxe Module settings dialog. (TiVo Issue #74)
- Fixed repainting issue for OpenFL dialog when selecting compiler types. (TiVo Issue #44)
- Fixed error parsing for Windows platforms.
0.9.8: (community release)
- Version 14.1.5 and 14.1.6 compatibility.
- Fix up some expressions to ignore non-error messages.
- Fix comment alignment for single-line comments.(Issue #295)
0.9.7: (community release)
- Fix the watch pane when debugging: typing and completion now work.
- Load files using canonical names so that sym-linked files use the same buffer
as the original file.
- Use full package name when determining file to open when debugging.
- Attempt to follow the classpath to determine which file to open when
multiple files have the same package names.
- Use implicit classpath entries during classpath operations. (e.g. haxe/std)
- Remove "statics of XXX" from the debugger variable window pane. (The Haxe debugger
at http://github.com/tivo/hxcpp-debugger has been updated to show statics
as part of the object tree for objects in view.
- Remove error embellishments before displaying errors in the debugger variable pane.
0.9.6: (community release)
- Fix debugger trying to populate all variables when stopped at a breakpoint.
- Suppress display of back-end generated intermediate variables when debugging.
- Fix NPE when editing files outside of a project.
0.9.5: (community release)
- Add new typing support for type checking and completion. (Thanks to Carlos Ballesteros!) (Issues #288,#291,#308,#317)
- Support static extensions in completion. (Again, Thanks, Carlos!)
- Fix debugger getting stuck "collecting data" for some variables (particularly, "this"). (Issue #325)
- Better compiler error highlighting. (Issue #180 redux.)
- Fix Cut/Copy/Paste buffer inconsistencies (Issue #196)
- Add generics support. (First level only, chained sequences remain incomplete.)
- Allow object literals as return statements. (Issue #278)
- Fix NPE during annotation, causing annotation to stop. (Issue #316)
0.9.4: (community release)
- Fix compile error highlighting in the output pane and jumping to source location when an error is clicked upon (Issues #129, #160, #180).
- Fix debugger execution under IDEA 14 and 14.1.
- Fix move package
- Fix MoveFile showing "unimplemented" message. (Issues #222, #88)
- Fix copy/paste clipboard functionality.
- Show completion for all static members (Issue #262).
- All unit tests enabled and passing for IDEA versions 13.1, 14.0, and 14.1.1.
- Fix rename not updating all usages (Issue #222)
- Fix parameter info tool tips and code tips.
- Command line ant builds (of the plugin) for automated testing.
- Fix parsing 'new' in ternary expressions (Issue #229).
- Better handling of comments.
- Fix member visibility scoping issues with extern and private keywords.
- Stop generating 'public' and 'private' modifiers when generating getter/setters.
- Stop treating interfaces and extern class declarations identically.
- Disallow multiple variables being declared in one statement for class fields.
- Print compiler commands to the message pane along with command output.
- Fix hang when using the OpenFL compiler for variable and method completion.
- Use correct completion contributor for OpenFL project configurations.
- Fix parsing failures for certain cases of "@meta" and "@:pos" (Issue #81).
- Fix unresolved type error if using full class path without importing the class (Issue #39).
- Resolve extern enum values via qualified name.
- Resolve classes within the same package but defined in a different module (Issue #168).
- Hopefully fix compiler based auto-complete performance problems (Issue #230).
- Fix Plugin wrongly accepting comma separated fields that the compiler wont (Issue #83).
- Fix rare ClassCastException when re-opening projects.
- Fix NotNullExceptions when getting field types for dynamic fields.
0.9.3: (community release)
- Fix local variable name suggestions to not clash with existing class fields.
- Fix Introduce Variable refactoring to find all occurrences of the selected expression.
No longer block Java (and other) tests from running when Haxe
plugin is installed. (Issue #166)
Resolve static function imports for import with in keyword.
("import String.fromCharCode in f;") (Issue #191)
Give extern fields public visibility: 'function a()' will be treated
as 'public function a()' and will appear in completions.
- Fix (un)comment multiple lines of code feature. (Issue #209)
- Support 'as' keyword in import statements.
- Implemented Refactoring: Pull Members Up/Push Members Down
- Support extern interfaces. (Issue #202)
- Fix visibility determination for methods. (Better completions)
- Check for duplicate imports when copy/pasting.
Fix resolving classes that appear inside of an import file with a
different name than the class itself. Fixes goto declaration as well.
- Fix colorizing identifiers (variable names) in code.
- Fix Issue 162: "call(new x(), new x());" parse failure.
- (Re)Allow "new" for extern and prototype function declarations.
- Fixed IDEA freeze when XML is edited
- Implemented Refactoring: Extract Superclass
- Implemented Refactoring: Extract Interface
- Implemented Refactoring: Push Members Down
- Fixed OutOfBoundsException when resolving names.
- Fix most unit tests.
0.9.2: (community release, IDEA 14 only)
- Fixed: HaxeReferenceCopyPasteProcessor issue preventing from using copy paste clipboard functionality
0.9: (community release)
0.8.1.1.TiVo.4: (community version, TiVo Release 4)
0.8.1.1.TiVo.2: (TiVo version)
- openFL path can now be retrieved from an .iml file
0.8.1.1: (community version)
- "Find usages in project" fixed.
- Allowed @:final on methods and fields.
- Re-implemented hxcpp debugger support to work with Haxe v3 built-in debugger
0.8.1: (community version)
- Remove com.intellij.modules.java from dependencies list to make plugin work in PHPStorm(and other IntelliJ IDEA platform-based IDEs)
0.8: (community version)
- Migration to new IntelliJ IDEA 13.1 API
- HXML syntax highlighting
- HXML completion
- Parser support for different types of imports
- Parser support for @:jsRequire and more parser fixes
0.7.2: (community version)
- New version number
- basic hxml support
- @:jsRequire meta support
- Haxe grammar: @:jsRequire and macro support
- templates naming fix ("create new class/enum/interface" issue)
- new/get/set/never keywords, get/set identifiers are valid, jar build
- Neko target for OpenFL
- Bug fixes
- NME support improvements
- HXCPP debugger improvements
- HXCPP Debugging
- Bug fixes
- Introduce Variable Refactoring
- Using Completion
- Bug fixes
- Conditional Compilation Support
- Bug fixes
- Live Templates
- Surround With Action
- Smart completion
- Goto Test Action
- Bug fixes
- Unresolved type inspection
- NME Support
- Override/Implement method action
- Generate getter/setter action
- Parameter info action
- Type resolving improvements
- Goto Implementation(s) action
- Goto Super Method action
- Move refactoring
- Type resolving improvements
- Rename refactoring
- NMML scheme
- HXML support
- Type resolving improvements
- Documentation support
- New color settings
- Jump to declaration of local, std symbol or class
- Reference completion
- Class completion
- Color settings
- Code formatter
- Go to Class
- Icons for Haxe files
- Search for usages
- Highlight symbol occurencies
- Debugger for Flash target ("Flash/Flex Support" plugin required)
- Haxe module and SDK
- Parsing Haxe files
- Keyword completion
- Compile Haxe files and run in Neko VM