Fetching contributors…
Cannot retrieve contributors at this time
1029 lines (974 sloc) 57.9 KB
~ Copyright 2000-2013 JetBrains s.r.o.
~ Copyright 2014-2014 AS3Boyan
~ Copyright 2014-2014 Elias Ku
~ Copyright 2017 Eric Bishton
~ Copyright 2017-2018 Ilya Malanin
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ See the License for the specific language governing permissions and
~ limitations under the License.
<!-- @replace.with.plugin.autogen.warning@ -->
<idea-plugin version="2">
<name>Haxe Toolkit Support</name>
<div style="font-family: 'Open Sans', sans-serif; font-weight: 400; color:white;">
<table width="100%" bgcolor="#141419" border="0" cellpadding="5px" style="min-height=49px;">
<td><a href=""><img border="0" style="text-align:left;" src="" height="21" width="107"></a></td>
<td align="right"><b>The Cross-platform Toolkit</b></td>
<table width="100%" cellpadding="5px" border="0" style="background-color:rgb(168,75,56);">
<td align="right"><b>Documentation:</b></td>
<td align="left"><a style="color:white;" href="">Project Web Site</a></td>
<td align="right"><b>Release Notes:</b></td>
<td align="left"><a style="color:white;" href="">README</a></td>
<td align="right"><b>Source Code:</b></td>
<td align="left"><a style="color:white;" href="">GitHub</a></td>
<td align="right"><b>Support:</b></td>
<td align="left"><a style="color:white;" href="">Community Discourse</a></td>
<td align="right"><b>Enterprise Support:</b></td>
<td align="left"><a style="color:white;" href="">Bishton Software Solutions</a></td>
<td align="right"><a href=""><img border="0" height="30" width="30" src=""></a></td>
<td align="left"><a style="color:white;" href=""><b>BECOME A PATRON</b></a></td>
<table width="100%" bgcolor="#141419" border="0" cellpadding="5px">
<td>Professionally maintained by Bishton Software Solutions</td>
<vendor>Haxe Community (Original sources provided by JetBrains.)</vendor>
<idea-version since-build="@plugin.installable.since@" until-build="@plugin.installable.until@"/>
<depends optional="true" config-file="flex-debugger-support.xml">com.intellij.flex</depends>
<depends optional="true" config-file="debugger-support.xml">com.intellij.modules.ultimate</depends>
<version>1.0.2 for @plugin.compatibility.description@</version>
<p>This jar is compatible with @plugin.compatibility.description@</p>
<p>It was built using IDEA build @idea.sdk.version@</p>
<p>1.0.2 (HaxeFoundation release)</p>
<li>Performance hot-fix for projects that have multiple source roots. (Issue #799)</li>
<p>1.0.1 (HaxeFoundation release)</p>
<li>Updated change notes for 1.0.0 (enumerated several important import changes).</li>
<li>Add Haxe Sdk setup validation.</li>
<li>Use SDK classpath as well as sourcepath to find the standard library. (Issue #774)</li>
<li>Better error handling when haxelibs are installed incorrectly. (Issue #780)</li>
<li>2017.3 and 2018.1 builds. (Issues #719, #789)</li>
<li>Workaround debugger crash. (Issue #792)</li>
<li>Fix typo in haxelib metadata parser, which was keeping library sub-tree source directories from being found.</li>
<p>1.0.0 (HaxeFoundation release)</p>
<li>Import of static fields/methods.</li>
<li>Imports alias hinting support.</li>
<li>Proper wildcard import resolution.</li>
<li>Import optimizer now works properly.</li>
<li>Proper module scoping for resolving.</li>
<li>Add $trace to the list of built-ins to recognize.</li>
<li>Semantic Annotation: Infer missing function types from code blocks.</li>
<li>Semantic Annotation: Support arrow functions.</li>
<li>Semantic Annotation: Add local variable type checking.</li>
<li>Properly detect function types when used in type parameters (generics).</li>
<li>Fix Flash "Run" target to launch the file that the compile process creates.</li>
<li>Non-OpenFL projects now use a better algorithm to determine output directories and files.</li>
<li>Add source directories to classpath during compiler completions. (More completions, fewer errors.)</li>
<li>Use non-haxe-logo version of icons when completions are not provided by the compiler.</li>
<li>Compatibility fix for non-IDEA products: stop logging to stderr! (Issue #724)</li>
<li>Improved Enum parsing; added generalized algebraic data types support.</li>
<li>Add true Map literal support. (No longer parsed as Array.)</li>
<li>Added visibility detection rules (e.g. @NoCompletion) regarding language docs.</li>
<li>Fixes to error message parsing (no longer account info messages to JetBrains installation directory).</li>
<li>Split 'lime test' into 'lime update; lime build' and 'lime run', for Make and Run/Debug tasks.</li>
<li>Add folding support:
<li>For documentation comments (/** */).</li>
<li>For comment regions. (// region Name ... // end region) (Issue #529)</li>
<li>Braces for classes, methods, etc.</li>
<li>For imports and usings.</li>
<li>For compiler conditionals (#if, etc.)</li>
<li>Fixed a number of NPEs in the ProjectUpdater.</li>
<li>Add enums from the current file completion suggestion lists.</li>
<li>Fixed the resolution order for imports vs. package. (Issue #741)</li>
<li>Fixed inability to resolve enum parameter symbols at case statement. (Issue #351)</li>
<li>Dropped support for IDEA versions 14 and 15.</li>
<li>Internal: Began refactoring the resolver. New models are introduced.</li>
<li>Changed "static variable override" to a weak warning, instead of a regular warning.</li>
<li>Allow @:meta without parens.</li>
<li>Properly parse variable declarations in return statements. (Issue #329)</li>
<li>Fixed parsing of 'throw' statements within a ternary expression. (Issue #704)</li>
<li>Allow all string literal forms as field identifiers in structures. (Issue #662)</li>
<p>0.11.2: (Haxe Foundation Release)</p>
<li>Parsing fixes:
<li>Expressions inside of type parameters.</li>
<li>Make sequential operators cause syntax errors.</li>
<li>Allow anonymous local function declarations.</li>
<li>External function declarations with simple bodies getting 'Unexpected semicolon' messages.</li>
<li>Custom meta-data with empty parenthesis.</li>
<li>Named nested (local) function declarations.</li>
<li>Prototype functions in abstract .types.</li>
<li>Allow @arrayAccess</li>
<li>Array access where the name is parenthesized.</li>
<li>Allow @final on property declarations.</li>
<li>Allow and recover from variable declarations that don't require a semicolon (e.g. preceded by a block).</li>
<li>Allow trailing comma inside of an object literal.</li>
<li>Allow trailing comma at the end of an array literal.</li>
<li>Block statements when used as an initializer.</li>
<li>Fix NPE when haxelib.json was missing from a library.</li>
<li>Fix an exception when the Haxe SDK is set up incorrectly.</li>
<li>Added Adobe AIR target</li>
<li>Refactor haxelib library dependency detection and project update.</li>
<li>For FindUsages, ask whether to search for base class/interface usages.</li>
<li>Fix bug with environment variables not being passed through to forked processes in some cases. (Issue #659)</li>
<li>Add haxelib and neko directories to (the start of) the Path before forking a process.</li>
<li>Better tracking of settings changes.</li>
<li>Better parsing of HXML/lime (or &quot;haxelib run lime&quot;) output.</li>
<li>Fix IndexOutOfBoundsException when checking for static extensions and static member methods have no parameters. (Issue #652)</li>
<li>Better parser recovery for &quot;extends&quot; and &quot;implements&quot; statements. (Issue #137)</li>
<li>Fixed identifier resolving for dot-references defined in &quottype params.&quot; (Issue#674)</li>
<li>Fixed parameter count resolution for anonymous functions. (Partially closes issue #521.)</li>
<li>Add neko and haxelib directories to the PATH/Path environment variable when running plugin commands (affects lime, etc.).</li>
<li>Better cache coherency for completions.</li>
<li>Improved hxml parsing.</li>
<li>Added mechanism to track project and module settings changes.</li>
<li>Improve locating files when traversing the stack frames during debugging.</li>
<p>0.11.1: (community release)</p>
<li>Check for and halt type resolution when a cyclical/recursive definition is found.</li>
<li>Address some freezes by delaying use of indices until indexing is complete.</li>
<li>Speed haxelib syncing (and stop unnecessary re-indexing). (Regression)</li>
<li>Fix freezes by fixing some multi-threading issues and other exceptions being thrown.</li>
<li>Speed up parsing of arrow functions.</li>
<li>Add Haxe-specific double-click selection logic for strings and comments. (Issue #212)</li>
<li>Reroute debugging informational errors to the status bar instead of modal dialogs. </li>
<li>Fix compilation halting on "- Link" informational messages.</li>
<li>Add neko and haxelib directories to the path when building projects (for all platforms; used to be OSX-only).</li>
<li>Fix multi-platform build issues (for the plugin, particularly affects Windows builds).</li>
<p>0.11.0: (community release)</p>
<li>Support IDEA 2017.1</li>
<li>Add parsing support for "Arrow Functions."</li>
<li>Better recovery of parsing errors in function parameter lists.</li>
<li>Fixed exceptions occurring when adding libraries, so auto-adding will work again.</li>
<li>Delay using project indexes until scanning is complete.</li>
<li>Proper resolution of constructors ('new').</li>
<li>Display parameter tip text when creating new object instantiations.</li>
<li>Better parsing of shift-and-assign operators. <Issue #637)</li>
<li>Now correctly resolves variables declared in 'for' statements when the iterated type is parameterized. (Issue #528)</li>
<li>Resolve chained classes with type parameters (generics). </li>
<li>Correct completion with EitherType&lt;&gt;. (Issue#512). </li>
<li>Parse @:const type parameters without error. Also allow constants as type parameters.</li>
<li>Added navigation to getter/setter methods from property accessors.</li>
<li>Annotate strings with incorrect quotes and add quick-fix intention to convert them.</li>
<li>Note optional arguments with a ? when displaying methods.</li>
<li>Improved method signature check.</li>
<li>Added searching of implementation declared by superclasses.</li>
<li>Properly parse and evaluate compiler conditionals (#if...#else...#end)</li>
<li>Resolve array access with types other than "Array."</li>
<li>Better 'Main class' chooser for the 'Project Settings-&gt;Haxe Compiler' dialog.</li>
<li>Fix property getter/setter quick-fixes.</li>
<li>Add location data, if known, to compiler completion error messages.</li>
<li>Display available completions even when the compiler reports an error.</li>
<li>Fixed incomplete results from a compiler run.</li>
<li>Better logic for removing duplicate entries from completion lists.</li>
<li>Better code completion using the compiler -- OFF BY DEFAULT! Turn on in File-&gt;Project Structure...</li>
<li>Fix parsing of all compiler conditionals. (#417, #121, partly #115, and others)</li>
<li>Fix parsing of one-liner conditional compilation style (issue #417, #121, partly #115)</li>
<li>Support for `@:require` haxe_ver comparing (issue #418)</li>
<li>Support for `@:require` and `@:jsRequire` with multiple arguments</li>
<li>Better handling of closing parens, brackets, quotes. (Issues #545, 546)</li>
<li>Fix parsing when an anonymous function call is defined and immediately executed. (Issue #544)</li>
<li>Fix library name parsing issues for haxelibs using non-standard paths.</li>
<li>Resolve URLs properly when adding haxelibs.</li>
<li>Updated Haxe logo bitmaps.</li>
<p> (community release)</p)
<li>Update compatibility for 2016.3.2</li>
<li>Update documentation to refer to HaxeFoundation instead of TiVo.</li>
<p>0.10.1: (community release)</p>
<li>Use Java's file library for detecting symlinks instead of IDEA's.</li>
<li>Formatting: Prevent excess linefeed between doctyp and function.</li>
<li>Fix completion for for loop variables. (issue #511)</li>
<li>Support for IDEA up through 2016.3.</li>
<li>Updated parsing for hxcpp 3.3 compiler error output.</li>
<li>Add support for type check syntax (expr : type). (issue #510)</li>
<li>Fixed cursor not indented in class body after var or function declaration. (issue #492, case 1)</li>
<li>Highlight "in" and "as" as keywords when they appear in import statements.</li>
<li>Highlight "in" as a keyword when it appears in a for statement. (issue #501)</li>
<li>Add support for string literals as the keys in structures. (issue #498)</li>
<li>Support @:native annotation for functions and variables. (issue #490)</li>
<li>Stop using the classpath to auto-add external libraries to projects. (issues #477 #100)</li>
<li>Fix re-ordering imports in certain situations. (issue #494)</li>
<li>Fix 'never' setter. (issue #486)</li>
<li>Change class paths for external libraries on OSX.</li>
<li>Fixed creating classes in TEST source roots</li>
<li>Fixed debug Flash on Haxe-compiler target</li>
<li>Fixed crash on MACRO_CLASS_LIST assert</li>
<li>@:deprecated support (issue #459, #473)</li>
<li>Alias imports support (issue #466)</li>
<li>Imports optimization: reordering added (issue #471)</li>
<li>Fixed typedef multiple extensions highlighting</li>
<p>0.9.10: (community release)</p>
<li>Better packages resolving</li>
<li>Fix catch parameter declaration (issue #419)</li>
<li>Fix inherited type in field initializer (issue #412)</li>
<li>Delete single-class file in one operation from Project View (issue #424)</li>
<li>Fix interface properties accessor check annotation (issue #411)</li>
<li>Error highlighting added for variable redefinition (issue #431)</li>
<li>Fix generic sub-type resolving when import just type-module (issue #435)</li>
<li>Extensions: using variants and resolving for children and implementations of base class or interface added (issue #433)</li>
<li>Fix typedef generic params resolving (issue #304)</li>
<li>General "@:enum abstract" support (issues #427, #428, #429)</li>
<li>Fix import / using statements class name completion (issue #286)</li>
<li>Incorrect “public” modifier when override methods fixed (issue #439)</li>
<li>Incorrect field access modifier after action generate set/get methods. Can't use action generate set/get methods for static fields. (TiVo Issue #442)</li>
<li>Fix use scope for var declarations (issue #235)</li>
<li>Find usages import filtering (issue #426)</li>
<li>Completion for word `super`: handle `super` word like `this` word (issue #87)</li>
<li>Fix forwarding abstract fields completion and resolving. (issue #447, #108)</li>
<li>Navigate to symbols (issue #340)</li>
<li>Fix incorrect error annotation in extended class for static fields and methods with same names like in base class. (issue #449)</li>
<li>Fix method local variables and arguments completion. (issue #455)</li>
<p>0.9.9: (community release)</p>
<li>IDEA v15 compatibility. (IDEA 13 compatiblity removed.)</li>
<li>v15 Project Structure and Module settings dialogs work. (TiVo Issue #380)</li>
<li>HXML: Fix `Editor/Colors & Fonts/HXML` tab (name & preview)</li>
<li>HXML: highlighting for included `.hxml` file</li>
<li>Fix unhandled exceptions while parsing numeric constants</li>
<li>Fix typedef types not resolved variants for completion list</li>
<li>Fix error annotation when implements `extern interface`</li>
<li>Fix extending anonymous types. (TiVo Issue #353)</li>
<li>Error annotation if type extends itself. (TiVo Issue #377)</li>
<li>Fix qualified name resolving for ancillary types declaration (multiple types inside .hx file)</li>
<li>Fix resolving variables having names identical to type names except for case. (TiVo Issues #405, #234)</li>
<li>Fix incorrect package resolution. (TiVo Issues #95, #176)</li>
<li>Fix base fields resolving for extended anonymous types (TiVo Issue #408)</li>
<li>Prevent recursion due to extending self for classes and typedefs.</li>
<li>Using file with multiple helper classes typedefs (for example `haxe.macro.Tools`) (TiVo Issue #128)</li>
<li>Allow short assignment syntax for generics. (TiVo Issue #388)</li>
<li>Fixed expected package name to no longer reference the system root. (TiVo Issue #387)</li>
<li>Save and restore OpenFL arguments on the Haxe Module settings dialog. (TiVo Issue #74)</li>
<li>Fixed repainting issue for OpenFL dialog when selecting compiler types. (TiVo Issue #44)</li>
<li>Fixed error parsing for Windows platforms.</li>
<p>0.9.8: (community release)</p>
<li>Version 14.1.5 and 14.1.6 compatibility.</li>
<li>Fix up some expressions to ignore non-error messages.</li>
<li>Fix comment alignment for single-line comments.(Issue #295)</li>
<p>0.9.7: (community release)</p>
<li>Fix the watch pane when debugging: typing and completion now work.</li>
<li>Load files using canonical names so that sym-linked files use the same buffer
as the original file.
<li>Use full package name when determining file to open when debugging.</li>
<li>Attempt to follow the classpath to determine which file to open when
multiple files have the same package names.
<li>Use implicit classpath entries during classpath operations. (e.g. haxe/std)</li>
<li>Remove "statics of XXX" from the debugger variable window pane. (The Haxe debugger
at has been updated to show statics
as part of the object tree for objects in view.
<li>Remove error embellishments before displaying errors in the debugger variable pane.</li>
<p>0.9.6: (community release)</p>
<li>Fix debugger trying to populate all variables when stopped at a breakpoint.</li>
<li>Suppress display of back-end generated intermediate variables when debugging.</li>
<li>Fix NPE when editing files outside of a project.</li>
<p>0.9.5: (community release)</p>
<li>Add new typing support for type checking and completion. (Thanks to Carlos Ballesteros!) (Issues #288,#291,#308,#317)</li>
<li>Support static extensions in completion. (Again, Thanks, Carlos!)<li>
<li>Fix debugger getting stuck "collecting data" for some variables (particularly, "this"). (Issue #325)</li>
<li>Better compiler error highlighting. (Issue #180 redux.)</li>
<li>Fix Cut/Copy/Paste buffer inconsistencies (Issue #196)</li>
<li>Add generics support. (First level only, chained sequences remain incomplete.)</li>
<li>Allow object literals as return statements. (Issue #278)</li>
<li>Fix NPE during annotation, causing annotation to stop. (Issue #316)</li>
<p>0.9.4: (community release)</p>
<li>Fix compile error highlighting in the output pane and jumping to source location when an error is clicked upon (Issues #129, #160, #180).</li>
<li>Fix debugger execution under IDEA 14 and 14.1.</li>
<li>Fix move package</li>
<li>Fix MoveFile showing "unimplemented" message. (Issues #222, #88)</li>
<li>Fix copy/paste clipboard functionality.</li>
<li>Show completion for all static members (Issue #262).</li>
<li>All unit tests enabled and passing for IDEA versions 13.1, 14.0, and 14.1.1.</li>
<li>Fix rename not updating all usages (Issue #222)</li>
<li>Fix parameter info tool tips and code tips.</li>
<li>Command line ant builds (of the plugin) for automated testing.</li>
<li>Fix parsing 'new' in ternary expressions (Issue #229).</li>
<li>Better handling of comments.</li>
<li>Fix member visibility scoping issues with extern and private keywords.</li>
<li>Stop generating 'public' and 'private' modifiers when generating getter/setters.</li>
<li>Stop treating interfaces and extern class declarations identically.</li>
<li>Disallow multiple variables being declared in one statement for class fields.</li>
<li>Print compiler commands to the message pane along with command output.</li>
<li>Fix hang when using the OpenFL compiler for variable and method completion.</li>
<li>Use correct completion contributor for OpenFL project configurations.</li>
<li>Fix parsing failures for certain cases of "@meta" and "@:pos" (Issue #81).</li>
<li>Fix unresolved type error if using full class path without importing the class (Issue #39).</li>
<li>Resolve extern enum values via qualified name.</li>
<li>Resolve classes within the same package but defined in a different module (Issue #168).</li>
<li>Hopefully fix compiler based auto-complete performance problems (Issue #230).</li>
<li>Fix Plugin wrongly accepting comma separated fields that the compiler wont (Issue #83).</li>
<li>Fix rare ClassCastException when re-opening projects.</li>
<li>Fix NotNullExceptions when getting field types for dynamic fields.</li>
<p>0.9.3: (community release)</p>
<li>Fix local variable name suggestions to not clash with existing class fields.</li>
<li>Fix Introduce Variable refactoring to find all occurrences of the selected expression.</li>
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.
<li>Fix (un)comment multiple lines of code feature. (Issue #209)</li>
<li>Support 'as' keyword in import statements.</li>
<li>Implemented Refactoring: Pull Members Up/Push Members Down</li>
<li>Support extern interfaces. (Issue #202)</li>
<li>Fix visibility determination for methods. (Better completions)</li>
<li>Check for duplicate imports when copy/pasting.</li>
Fix resolving classes that appear inside of an import file with a
different name than the class itself. Fixes goto declaration as well.
<li>Fix colorizing identifiers (variable names) in code.</li>
<li>Fix Issue 162: "call(new x(), new x());" parse failure.</li>
<li>(Re)Allow "new" for extern and prototype function declarations.</li>
<li>Fixed IDEA freeze when XML is edited</li>
<li>Implemented Refactoring: Extract Superclass</li>
<li>Implemented Refactoring: Extract Interface</li>
<li>Implemented Refactoring: Push Members Down</li>
<li>Fixed OutOfBoundsException when resolving names.</li>
<li>Fix most unit tests.</li>
<p>0.9.2: (community release, IDEA 14 only)</p>
<li>Fixed: HaxeReferenceCopyPasteProcessor issue preventing from using copy paste clipboard functionality</li>
<p>0.9: (community release)</p>
<li>Release ID change only</li>
<p> (community version, TiVo Release 4)</p>
<li>Class Hierarchy view panels implemented. (Menu->Navigate->Type Hierarchy, et al)</li>
<li>Better handling of import files.</li>
<li>Better handling of Haxe language parsing, including many Haxe 3 features.</li>
<li>Automatic detection and use of installed haxe libraries (using the 'haxelib' command).</li>
<li>Better completion (Ctrl-space) using the Haxe compiler -- OpenFL projects only.</li>
<li>Pull up members from class to super-class</li>
<li>Pull up members from class to interface</li>
<li>Split into declaration and assignment</li>
<li>Optimize imports</li>
<p> The following sub-releases are included:</p>
<p> (community version, TiVo RC5)</p>
<li>Refactoring: Pull up members from class to super-class</li>
<li>Refactoring: Pull up members from class to interface</li>
<li>Launch Haxe/Neko tests (Patch #131)</li>
<p> (community version, TiVo RC4)</p>
<li>Fixed issue 37 (Parser doesn't recover after new A)</li>
<li>Fixed issue 95 (Local and class variable names resolving to similar package names)</li>
<li>Fixed issue 132 (incorrect processing of duplicate imports)</li>
<li>Fixed issue 134 (incorrect reformat of object and array children)</li>
<li>Fixed reference resolution for expressions in parenthesis - otherwise, code assist does not work for those.</li>
<li>Fixed: launching test with neko, overriding haxe build parameters for test run configuration, filtering test result output, compilation path of non test build, line number for ErrorFilter; and removed hard-coded path for ErrorFilter</li>
<p> (community version, TiVo RC3)</p>
<li>Fixed NPE causing the structure view to not populate, resulting from an errant merge.</li>
<p> (community version, TiVo RC2)</p>
<li>Resolve 'convenience' imports that do not export a class named similarly to the file. (TiVo Issue #55)</li>
<li>Update unbalanced preprocessor token highlighting and detection.</li>
<li>Improve indentation of comments and preprocessor macros.</li>
<li>Update for Grammar-Kit </li>
<li>Fixed syntax rules (BNF) for constructors and external functions.</li>
<li>Fixed syntax rules (BNF) for code blocks; removed them from being valid syntax everywhere an expression can appear.</li>
<li>Fixed syntax rules (BNF) to allow meta tags on typedefs.</li>
<p> (community version, TiVo RC1+Fixes)</p>
<li>Auto-indent when adding curly brackets now works correctly. Fixes github tivo/intellij-haxe Issue #119. (Thanks, Jérémy!)</li>
<li>Fix IDE hang on completion for Haxe compiler completions.</li>
<li>Fix auto-adding new import statements above package declaration and/or comments.</li>
<li>Fix NPE when manually adding new import statements.</li>
<li>Put debugging dialogs on the UI thread.</li>
<li>Fix ArrayOutOfBounds exception when initializing haxelib cache.</li>
<p> (community version, TiVo RC1)</p>
<li>Fix NPE when colorizing.</li>
<p> (community version, TiVo WIP)</p>
<li> Added timeout to long-running call hierarchy searches. </li>
<p> (community version, TiVo WIP)</p>
<li> Fixed Haxe command-line debugger integration for OpenFL projects that
are targetting C++ native runtime environments.
<li> Fixed method hierarchy runtime exceptions, and auto-scrolling to source. </li>
<li> Fixed type hierarchy auto-scrolling to source. </li>
<li> Enhanced run & debug output to be color-coded for improved readability. </li>
<li> Fixed find-usages regression. </li>
<p> (community version, TiVo WIP)</p>
<li> More load-time optimizations using new 'haxelib list-path' command. </li>
<li> Add package and file names to Type hierarchy window. (File names only
display if the file name differs from the type name.)
<li> Fixed supertypes list in the combo view of the Type hierarchy window. </li>
<li> Allow block statements everywhere. </li>
<li> Allow array literals to have additional comma [1,] </li>
<li> Moving a file from one package to another no longer displays "Unimplemented"
and now moves the file, however references are not yet updated.
Issue #88 -- still unresolved.
<li> Updated unit tests. Issues: #71, #68.</li>
<li> Fix formatting for ">=", which is used be to reformatted to "> =". Issue </li>
<li> Fix logic for /testIf test case/ </li>
<p> (community version, TiVo WIP)</p>
<li>Repaired resolving references to classes and variables.</li>
<p> (community version, TiVo WIP)</p>
<li>Further optimized load time for large projects.</li>
<li>Run haxelib->Project/SDK/Module library dependency synchronization
in the background.
<li>HXML completion: add parameters for compiler argument to
presentable text of completion item
<li>Completion from Haxe compiler: parse function parameters and
return type to generate completion item with parameters and return
<li>Completion from Haxe compiler: format data from compiler replace
"&lt;" to "<" and "&gt;" to ">"
<li> getVariants(completion): Handle case when
"var d:Array<Int> = []; d.|" when d is not resolved
<li>Add description to completion recived from Haxe compiler:
<li>Preliminary Haxe compiler completion support (OpenFL only)</li>
<p> (community version, TiVo WIP)</p>
<li>Decreased time to load large projects considerably.
Note that project loading is still on the UI thread, so
it may appear to lock up for a short period of time.
For very large projects, 90 seconds is not out of the ordinary.
<li>HXML completion: Provide available libraries list</li>
<li>HXML completion: show installed haxelibs(also installed libs removed from available haxelibs list)</li>
<li>Fix meta tag parsing issues</li>
<li>HaxeMetaTagsCompletionContributor provides completion for meta tags</li>
<li>Project Xml(NME, OpenFL project project) completion: show available and installed haxelibs</li>
<li>SplitIntoDeclarationAndAssignment intention action</li>
<p> (community version, TiVo WIP)</p>
<li>Merged with version from the TiVo/master branch.</li>
<li>Class Hierarchy partial implementation.</li>
<li>SuperTypes work. Sub-types work within the same module.</li>
<li>All recent changes from</li>
<li>Support typedef optional parameters</li>
<li>Support optional function types</li>
<li>Eat compile-time conditional statements only (prevent eating conditional body as it was before)</li>
<li>Fix multiple metas issue on class</li>
<li>Highlight compile-time conditional statements if they don't have matching closing statements</li>
<li>Remove "from" and "to" from keywords, instead highlight them only if they used in abstract declaration</li>
<li>Prevent suggesting imports for using statements</li>
<li>Resolve references that have full path to type/field</li>
<li>Support function types, anonymous types as abstract type</li>
<li>Automatically add and remove dependencies when project gets opened</li>
<li>Remove ">=" and ">>=" tokens from lexer, instead parse ('>' '=') to avoid issues(</li>
<li>Support "inline" declaration attribute on local functions</li>
<li>Suggest to import class on code paste</li>
<li>Support macro expressions(including ECheckType)</li>
<li>Lots more... TODO: Get a complete list of updates.</li>
<p> (TiVo version)</p>
<li>openFL path can now be retrieved from an .iml file</li>
<p> (community version)</p>
<li>"Find usages in project" fixed.</li>
<li>Allowed @:final on methods and fields.</li>
<li>Re-implemented hxcpp debugger support to work with Haxe v3 built-in debugger</li>
<p>0.8.1: (community version)</p>
<li>Remove from dependencies list to make plugin work in PHPStorm(and other IntelliJ IDEA platform-based IDEs)</li>
<p>0.8: (community version)</p>
<li>Migration to new IntelliJ IDEA 13.1 API</li>
<li>HXML syntax highlighting</li>
<li>HXML completion</li>
<li>Parser support for different types of imports</li>
<li>Parser support for @:jsRequire and more parser fixes</li>
<p>0.7.2: (community version)</p>
<li>New version number</li>
<li>basic hxml support</li>
<li>@:jsRequire meta support</li>
<li>Haxe grammar: @:jsRequire and macro support</li>
<li>templates naming fix ("create new class/enum/interface" issue)</li>
<li>new/get/set/never keywords, get/set identifiers are valid, jar build</li>
<li>Bug fixes for 13.1.1</li>
<li>Bug fixes</li>
<li>Neko target for OpenFL</li>
<li>Bug fixes</li>
<li>OpenFL support</li>
<li>Optimize imports</li>
<li>Parser improvements</li>
<li>Bug fixes</li>
<li>Haxe 3 support</li>
<li>Bug fixes</li>
<li>NME support improvements</li>
<li>HXCPP debugger improvements</li>
<li>Bug fixes</li>
<li>New Compiler Mode</li>
<li>Bug fixes</li>
<li>Bug fixes</li>
<li>HXCPP Debugging</li>
<li>Bug fixes</li>
<li>Introduce Variable Refactoring</li>
<li>Using Completion</li>
<li>Bug fixes</li>
<li>Conditional Compilation Support</li>
<li>Bug fixes</li>
<li>Live Templates</li>
<li>Surround With Action</li>
<li>Smart completion</li>
<li>Goto Test Action</li>
<li>Bug fixes</li>
<li>EReg support</li>
<li>Bug fixes</li>
<li>Structure view</li>
<li>Bug fixes</li>
<li>Unresolved type inspection</li>
<li>NME Support</li>
<li>Override/Implement method action</li>
<li>Generate getter/setter action</li>
<li>Parameter info action</li>
<li>Type resolving improvements</li>
<li>Goto Implementation(s) action</li>
<li>Goto Super Method action</li>
<li>Move refactoring</li>
<li>Completion fixes</li>
<li>Type resolving improvements</li>
<li>Rename refactoring</li>
<li>NMML scheme</li>
<li>HXML support</li>
<li>Type resolving improvements</li>
<li>Documentation support</li>
<li>New color settings</li>
<li>Jump to declaration of local, std symbol or class</li>
<li>Reference completion</li>
<li>Class completion</li>
<li>Color settings</li>
<li>Code formatter</li>
<li>Go to Class</li>
<li>Icons for Haxe files</li>
<li>Search for usages</li>
<li>Highlight symbol occurencies</li>
<li>Debugger for Flash target ("Flash/Flex Support" plugin required)</li>
<li>Haxe module and SDK</li>
<li>Parsing Haxe files</li>
<li>Keyword completion</li>
<li>Compile Haxe files and run in Neko VM</li>
<!-- Add your application components here -->
<extensionPoint name="module.config" interface="com.intellij.plugins.haxe.ide.projectStructure.HaxeModuleConfigurationExtensionPoint"/>
<extensionPoint name="haxeMethodsSearch" interface="com.intellij.util.QueryExecutor"/>
<extensions defaultExtensionNs="com.intellij">
<compileServer.plugin classpath="haxe-jps-plugin.jar;haxe-common.jar"/>
<errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
<testFinder implementation="com.intellij.plugins.haxe.ide.HaxeTestFinder"/>
<iconProvider implementation="com.intellij.plugins.haxe.ide.HaxeIconProvider"/>
<qualifiedNameProvider implementation="com.intellij.plugins.haxe.ide.HaxeQualifiedNameProvider"/>
<sdkType implementation="com.intellij.plugins.haxe.config.sdk.HaxeSdkType"/>
<compiler.task implementation="com.intellij.plugins.haxe.compilation.HaxeCompilerTask"/>
<moduleType id="HAXE_MODULE" implementationClass="com.intellij.plugins.haxe.ide.module.HaxeModuleType"/>
<projectStructureDetector implementation="com.intellij.plugins.haxe.ide.projectStructure.detection.HaxeProjectStructureDetector"/>
<projectSdkSetupValidator id="haxeSdk" implementation="com.intellij.plugins.haxe.codeInsight.daemon.HaxeProjectSdkSetupValidator"/>
<library.type implementation="com.intellij.plugins.haxe.ide.library.HaxeLibraryType"/>
<fileTypeFactory implementation="com.intellij.plugins.haxe.HaxeFileTypeLoader"/>
<fileTypeFactory implementation="com.intellij.plugins.haxe.nmml.NMMLFileTypeFactory"/>
<xml.schemaProvider implementation="com.intellij.plugins.haxe.nmml.NMMLSchemaProvider"/>
<!-- HXML BEGIN -->
<fileTypeFactory implementation="com.intellij.plugins.haxe.hxml.HXMLFileTypeFactory"/>
<lang.parserDefinition language="HXML" implementationClass="com.intellij.plugins.haxe.hxml.HXMLParserDefinition"/>
<lang.syntaxHighlighterFactory key="HXML" implementationClass="com.intellij.plugins.haxe.ide.highlight.HXMLSyntaxHighlighterFactory"/>
<colorSettingsPage implementation="com.intellij.plugins.haxe.ide.highlight.HXMLColorSettingsPage"/>
<!-- HXML END -->
<programRunner implementation="com.intellij.plugins.haxe.runner.HaxeRunner"/>
<lang.parserDefinition language="Haxe" implementationClass="com.intellij.plugins.haxe.lang.parser.HaxeParserDefinition"/>
<lang.formatter language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.formatter.HaxeFormattingModelBuilder"/>
<lang.rearranger language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.rearranger.HaxeRearrangerModel" />
<lang.ast.factory language="Haxe" implementationClass="com.intellij.plugins.haxe.lang.parser.HaxeAstFactory" />
<!-- Enable the following stanza to use the HaxePsiBuilder when parsing. Beware! It overrides any other
PsiBuilder; every language will use the HaxePsiBuilder. -->
<applicationService overrides="true" serviceInterface="com.intellij.lang.PsiBuilderFactory"
<lang.syntaxHighlighterFactory key="Haxe" implementationClass="com.intellij.plugins.haxe.ide.highlight.HaxeSyntaxHighlighterFactory"/>
<lang.braceMatcher language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeBraceMatcher"/>
<typedHandler implementation="com.intellij.plugins.haxe.ide.editor.HaxeTypedHandler" id="haxe"/>
<findUsagesHandlerFactory implementation="com.intellij.plugins.haxe.ide.HaxeFindUsagesHandlerFactory"/>
<lang.findUsagesProvider language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeFindUsagesProvider"/>
<lang.implementationTextSelectioner language="Haxe"
<lang.documentationProvider language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeDocumentationProvider"/>
<lang.commenter language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeCommenter"/>
<lang.psiStructureViewFactory language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.structure.HaxeStructureViewFactory"/>
<lang.surroundDescriptor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.surroundWith.HaxeSurroundDescriptor"/>
<lang.refactoringSupport language="Haxe"
<lang.foldingBuilder language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.folding.HaxeFoldingBuilder"/>
<lang.importOptimizer language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeImportOptimizer"/>
<languageInjector implementation="com.intellij.plugins.haxe.lang.RegexLanguageInjector"/>
<lang.elementManipulator forClass="com.intellij.plugins.haxe.lang.psi.HaxeRegularExpressionLiteral"
<lang.smartEnterProcessor language="Haxe" implementationClass="com.intellij.plugins.haxe.editor.smartEnter.HaxeSmartEnterProcessor"/>
<copyPastePostProcessor implementation="com.intellij.plugins.haxe.editor.HaxeReferenceCopyPasteProcessor"/>
<moveFileHandler implementation="com.intellij.plugins.haxe.ide.refactoring.move.HaxeFileMoveHandler"/>
<codeInsight.lineMarkerProvider language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeLineMarkerProvider"/>
<codeInsight.gotoSuper language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeGotoSuperHandler"/>
<codeInsight.overrideMethod language="Haxe"
<codeInsight.implementMethod language="Haxe"
<codeInsight.parameterInfo language="Haxe"
<colorSettingsPage implementation="com.intellij.plugins.haxe.ide.highlight.HaxeColorSettingsPage"/>
<codeFoldingOptionsProvider instance="com.intellij.plugins.haxe.ide.folding.HaxeFoldingOptionsProvider"/>
<applicationService serviceInterface="com.intellij.plugins.haxe.ide.folding.HaxeFoldingSettings"
<additionalTextAttributes scheme="Default" file="colorSchemes/HaxeDefault.xml"/>
<additionalTextAttributes scheme="Darcula" file="colorSchemes/HaxeDefault.xml"/>
<codeStyleSettingsProvider implementation="com.intellij.plugins.haxe.ide.formatter.settings.HaxeCodeStyleSettingsProvider"/>
<langCodeStyleSettingsProvider implementation="com.intellij.plugins.haxe.ide.formatter.settings.HaxeLanguageCodeStyleSettingsProvider"/>
<quoteHandler fileType="Haxe" className="com.intellij.plugins.haxe.ide.HaxeQuoteHandler"/>
<extendWordSelectionHandler implementation="com.intellij.plugins.haxe.editor.actions.wordSelection.HaxeStringSelectioner" />
<extendWordSelectionHandler implementation="com.intellij.plugins.haxe.editor.actions.wordSelection.HaxeCommentSelectioner" />
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.completion.HaxeControllingCompletionContributor" order="FIRST"/>
<completion.contributor language="any" implementationClass="com.intellij.plugins.haxe.ide.HaxeKeywordCompletionContributor"/>
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.completion.HaxeEnumValuesCompletionContributor"/>
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.completion.HaxeClassNameCompletionContributor"/>
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeSmartCompletionContributor"/>
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeMetaTagsCompletionContributor"/>
<completion.contributor language="HXML" implementationClass="com.intellij.plugins.haxe.ide.HXMLCompilerArgumentsCompletionContributor"/>
<completion.contributor language="HXML" implementationClass="com.intellij.plugins.haxe.ide.HXMLHaxelibCompletionContributor"/>
<completion.contributor language="HXML" implementationClass="com.intellij.plugins.haxe.ide.HXMLDefineCompletionContributor"/>
<completion.contributor language="XML" implementationClass="com.intellij.plugins.haxe.ide.XmlHaxelibCompletionContributor"/>
<!-- Keep the compiler contributor last because it is slow compared to the internal stuff.
Don't use order="LAST" because that puts it after the default contributor, which puts up the "No Suggestions"
box, and we want compiler error messages to be displayed instead. -->
<completion.contributor language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.completion.HaxeCompilerCompletionContributor"/>
<configurationType implementation="com.intellij.plugins.haxe.runner.HaxeRunConfigurationType"/>
<moduleService serviceInterface="com.intellij.plugins.haxe.ide.module.HaxeModuleSettings"
<internalFileTemplate name="HaxeClass"/>
<internalFileTemplate name="HaxeInterface"/>
<internalFileTemplate name="HaxeEnum"/>
<internalFileTemplate name="NMMLProjectFile"/>
<liveTemplateMacro implementation="com.intellij.plugins.haxe.ide.template.macro.HaxeArrayVariableMacro"/>
<liveTemplateMacro implementation="com.intellij.plugins.haxe.ide.template.macro.HaxeSuggestIndexNameMacro"/>
<liveTemplateMacro implementation="com.intellij.plugins.haxe.ide.template.macro.HaxeSuggestVariableNameMacro"/>
<liveTemplateContext implementation="com.intellij.plugins.haxe.ide.template.HaxeTemplateContextType"/>
<defaultLiveTemplatesProvider implementation="com.intellij.plugins.haxe.ide.template.HaxeDefaultLiveTemplatesProvider"/>
<fileBasedIndex implementation="com.intellij.plugins.haxe.ide.index.HaxeComponentIndex"/>
<fileBasedIndex implementation="com.intellij.plugins.haxe.ide.index.HaxeInheritanceIndex"/>
<fileBasedIndex implementation="com.intellij.plugins.haxe.ide.index.HaxeTypeDefInheritanceIndex"/>
<fileBasedIndex implementation="com.intellij.plugins.haxe.ide.index.HaxeComponentFileNameIndex"/>
<fileBasedIndex implementation="com.intellij.plugins.haxe.ide.index.HaxeSymbolIndex"/>
<gotoClassContributor implementation="com.intellij.plugins.haxe.ide.HaxeClassContributor"/>
<gotoSymbolContributor implementation="com.intellij.plugins.haxe.ide.HaxeSymbolContributor"/>
<definitionsSearch implementation="com.intellij.plugins.haxe.ide.index.HaxeInheritanceDefinitionsSearchExecutor"/>
<projectService serviceInterface="com.intellij.plugins.haxe.config.HaxeProjectSettings"
<projectService serviceInterface="com.intellij.plugins.haxe.lang.psi.HaxeClassResolveCache"
<projectConfigurable instance="com.intellij.plugins.haxe.config.HaxeSettingsConfigurable" id="haxe.settings" key=""
bundle="com.intellij.plugins.haxe.HaxeBundle" nonDefaultProject="true"/>
<importFilteringRule implementation="com.intellij.plugins.haxe.ide.HaxeImportFilteringRule"/>
<targetElementEvaluator language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.HaxeTargetElementEvaluator"/>
<annotator language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.annotator.HaxeColorAnnotator"/>
<annotator language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.annotator.HaxeTypeAnnotator"/>
<annotator language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.annotator.HaxeSemanticAnnotator"/>
<localInspection language="XML" shortName="NMEBuildDirectory" bundle="com.intellij.plugins.haxe.HaxeBundle"
key="" groupKey="" enabledByDefault="true"
level="WARNING" implementationClass="com.intellij.plugins.haxe.codeInspection.NMEBuildDirectoryInspection"/>
<localInspection language="Haxe" shortName="HaxeUnusedImport" bundle="com.intellij.plugins.haxe.HaxeBundle"
groupKey="" enabledByDefault="true"
<localInspection language="Haxe" shortName="HaxeUnresolvedSymbol" bundle="com.intellij.plugins.haxe.HaxeBundle"
groupKey="" enabledByDefault="true"
<localInspection language="Haxe" shortName="HaxeDeprecatedSymbol" bundle="com.intellij.plugins.haxe.HaxeBundle"
groupKey="" enabledByDefault="true"
<localInspection language="Haxe" shortName="HaxePreprocessorInspection" bundle="com.intellij.plugins.haxe.HaxeBundle"
groupKey="" enabledByDefault="true"
<typeHierarchyProvider language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.hierarchy.type.HaxeTypeHierarchyProvider"/>
<callHierarchyProvider language="Haxe" implementationClass=""/>
<methodHierarchyProvider language="Haxe" implementationClass="com.intellij.plugins.haxe.ide.hierarchy.method.HaxeMethodHierarchyProvider"/>
<hierarchy.referenceProcessor implementation=""/>
<plugins.haxe.haxeMethodsSearch implementation=""/>
<action id="Haxe.NewHaxeClass" class="com.intellij.plugins.haxe.ide.actions.CreateClassAction"
text="Haxe Class" description="Create new Haxe class/interface/enum">
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFile"/>
<action id="Haxe.NewNMMLFile" class="com.intellij.plugins.haxe.ide.actions.CreateNMMLFileAction"
text="NMML file" description="Create new NMML file">
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFromTemplate"/>
<action id="Generate.Constructor.Haxe" class="com.intellij.plugins.haxe.ide.generation.HaxeGenerateConstructorAction"
<add-to-group anchor="first" group-id="GenerateGroup"/>
<action id="Generate.GetAccessor.Haxe" class="com.intellij.plugins.haxe.ide.generation.HaxeGenerateGetterAction"
<add-to-group anchor="after" relative-to-action="Generate.Constructor.Haxe" group-id="GenerateGroup"/>
<action id="Generate.SetAccessor.Haxe" class="com.intellij.plugins.haxe.ide.generation.HaxeGenerateSetterAction"
<add-to-group anchor="after" relative-to-action="Generate.GetAccessor.Haxe" group-id="GenerateGroup"/>
<action id="Generate.GetSetAccessor.Haxe" class="com.intellij.plugins.haxe.ide.generation.HaxeGenerateGetterSetterAction"
text="Getter and Setter">
<add-to-group anchor="after" relative-to-action="Generate.SetAccessor.Haxe" group-id="GenerateGroup"/>