Releases: zephir-lang/idea-plugin
Releases · zephir-lang/idea-plugin
0.6.0
Added
- Enhanced autocompletion for Zephir code:
- Local variable names — suggests variables declared with
let, type-annotated declarations (var/string/etc.), andforloop iteration variables - Class and interface names — suggests all class and interface names found in the project's
.zepfiles - PHP built-in functions — suggests ~80 common PHP built-in functions in method scope, auto-inserting
()with the cursor positioned inside - Member access (
->) — when a variable is typed as a Zephir class or interface (e.g.<AdapterInterface> adapter), typingadapter->suggests that type's methods and properties from the project's.zepfiles - Concrete class methods now included in
this->completion (previously only abstract methods were suggested); selected methods auto-insert()with cursor inside
- Local variable names — suggests variables declared with
Changed
- Replaced internal API override of
IElementType.getDebugName()inZephirStubFileElementTypewith the publicIStubFileElementType(String, Language)constructor parameter
0.5.0
Added
- Added Documentation functionality (Ctrl+Q and on hover)
- Added Go To Declaration (
Ctrl+click) for class and interface references: - Qualified names (
Phalcon\Storage\Adapter\Libmemcached) resolve via namespace-to-directory mapping, preventing ambiguous matches when multiple classes share the same short name - Unqualified names fall back to a full project scan
- Alias names (
use Foo as Bar→ clickingBar) navigate to theusestatement so the real class path can be followed with a second Ctrl+click - Added
docker-compose.ymlwith a persistent Gradle cache volume for reproducible local builds - Added Structure View (
ZephirStructureViewFactory,ZephirStructureViewElement,ZephirStructureViewModel) showing classes, interfaces, methods, properties, and constants in the IDE structure panel - Added Code Folding (
ZephirFoldingBuilder) for class/interface bodies, method code blocks, inline C blocks, and multi-line block comments - Added Live Templates (
Zephir.xml) with abbreviations:cl(class),pubf,protf,privf(function stubs),fore,fori,rev(for loops),wh(while),dowhile(do-while),tc(try-catch) - Added
ZephirTemplateContextso live templates are only active inside.zepfiles - Added Implementations Gutter (
ZephirLineMarkerProvider) showing subclass and implementation counts next to class and interface declarations - Added
ZephirNamedElementinterface,ZephirNamedElementMixin, andZephirIdMixinfor rename refactoring support - Added
ZephirElementFactoryto create PSI elements programmatically - Added
ZephirRefactoringSupportProviderto enable inline rename for named elements - Added parser tests for
do...whileloop andmixedtype usage
Changed
- Requires IntelliJ Platform 2024.3 or newer (minimum build
243) - Gradle wrapper updated from 6.5.1 to 9.0.0
- Migrated from
org.jetbrains.intellij0.4.21 toorg.jetbrains.intellij.platform2.13.1 org.jetbrains.grammarkitplugin updated from 2020.1 to 2022.3.2- Kotlin JVM plugin updated from 1.3.72 to 2.1.0
- Replaced
jcenter()repository withmavenCentral() - JVM toolchain updated from 1.8 to 21
- GitHub Actions updated to Node.js 24 compatible versions (
checkout@v6,setup-java@v5,cache@v5,upload-artifact@v7) - GitHub Actions build updated to use JDK 21
- Grammar: added
mixed,object,callable,resourceas recognized type keywords - Grammar: added
mixedtype to type hints in method scope completion - Grammar: added
do...whileloop statement (do { } while expr;) - Grammar: fixed
INTEFACEtoken name typo — corrected toINTERFACE - Grammar: added
mixin/implementsattributes toId, class, interface, method, property, and constant definition rules - Replaced deprecated
IconLoader.getIcon(String)withIconLoader.getIcon(String, ClassLoader) - Replaced deprecated
LOGstatic field withthisLogger()inZephirCreateFileAction - Fixed
ZephirStubFileElementTypeto provide uniqueexternalIdanddebugNameto prevent platform exceptions - Updated copyright year to 2026 across all source files
0.4.0
All notable changes to this version has been documented in the CHANGELOG.md file.
0.3.6
- Updated file icons
- Corrected
change-notessection to store changes only for the latest version of the plugin
0.3.5
- Drop support of IDE's versions below 182
0.3.4
- Replaced usage of deprecated API by new one
0.3.3
- Fixed recognizing strings with regular expressions
0.3.2
-
Improved method modifiers support like:
static protected final function foo () { }
-
Fixed chain of call syntax support. For example:
return (<ManagerInterface> this->manager)->setModelSchema(this, schema);
0.3.2-beta3
- Fixed regex recognition
- Fixed variable definition like
{someVar} = someValue;
0.3.2-beta2
- Reduced Phalcon syntax errors from 30 to 16
- Fixed completion bug when invoking AC in method definition block