jte-intellij
jte-intellij copied to clipboard
IntelliJ plugin for jte template files.
In the IntelliJ Idea Plugin, working with kotlin (kte) templates the @ for @import is missing, if i use the import completion from IntelliJ. ![image](https://github.com/casid/jte/assets/3199330/2958410d-d74b-4a1c-9d69-364316d74853)
Hi, (there is no "discussion" section hence creating an issue) Would it be possible to make Kotlin dependency optional? I'm not really using it and while trying to make IDEA...
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'file' of com/intellij/openapi/fileEditor/impl/FileDocumentManagerBase.getDocument must not be null at com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.$$$reportNull$$$0(FileDocumentManagerBase.java) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.getDocument(FileDocumentManagerBase.java) at org.jusecase.jte.intellij.language.JteJavaContentManipulator.handleContentChange(JteJavaContentManipulator.java:19) at org.jusecase.jte.intellij.language.JteJavaContentManipulator.handleContentChange(JteJavaContentManipulator.java:15) at com.intellij.psi.ElementManipulators.handleContentChange(ElementManipulators.java:65) at com.intellij.psi.impl.source.tree.injected.changesHandler.CommonInjectedFileChangesHandler.updateHostElement(CommonInjectedFileChangesHandler.kt:170) at com.intellij.psi.impl.source.tree.injected.changesHandler.CommonInjectedFileChangesHandler.updateHostOrFail(CommonInjectedFileChangesHandler.kt:149) at com.intellij.psi.impl.source.tree.injected.changesHandler.CommonInjectedFileChangesHandler.commitToOriginal(CommonInjectedFileChangesHandler.kt:122) at com.intellij.codeInsight.intention.impl.InjectionEditServiceImpl$1.documentChanged(InjectionEditServiceImpl.java:34)...
Noticed in IntelliJ 2023.2.2, when having a nested class inside a jte template, for instance @param Foo.Bar bar and alt+enter => "Add import for Foo.Bar" does not add an import...
I'm not sure if that would also happen with non-eap builds, but this is shown in 2024.1 eap4: ``` com.intellij.diagnostic.PluginException: `ActionUpdateThread.OLD_EDT` is deprecated and going to be removed soon. 'org.jusecase.jte.intellij.language.convert.JteConvertFromJspAction'...
Example: ``` @template.foo( name = "name", label = localize("name.label"), readonly = action.getName() == null || action.getName().isEmpty() ) ``` Typing a closing bracket after isEmpty() doesn't do anything.
``` @template.foo( name = "name", label = localize("name.label"), readonly = action.getName() != null ) ``` `action.getName() !` is highlighted as error.
Noticed in IntelliJ 2023.2.2, when having a nested class inside a jte template, for instance `@param Foo.Bar bar` and alt+enter => "Add import for Foo.Bar" causes an exception and does...
``` @template.core.components.paragraph(content = @` ${localize("foo"}${localize("bar")}${baz()} `) ``` Misses a closing brace after `localize("foo"`. Correct is: ``` @template.core.components.paragraph(content = @` ${localize("foo")}${localize("bar")}${baz()} `) ``` This should be highlighted by the plugin.
[Tagged templates](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) seems to be unrecognized by the IntelliJ plugin: ![obraz](https://github.com/casid/jte/assets/4235722/03588a83-dfb3-4457-86c6-f281acb7c0ba) The code compiles properly tho. To be fair, I'm not sure if it interferes with one of the jte...