apache / apache/grails-intellij-plugin
Can not edit Javascript in GSP file
- Dominant language
- Java
- Stars
- 17
- Forks
- 4
- Avg merge
- 5d 15h
- Merged PRs (30d)
- 4
Description
I am no longer able to press tab or return in the head section of a GSP file that contains an asset:javascript tag. I get the following error in the log:
Language: JavaScript;
Host file: Groovy Server Pages file in '/Users/<hidden-personal-data>/Repositories/live-visualisations/grails-app/views/browse/search/show.gsp'
Context element (23,156): 'HtmlTag:head'; Ranges: [Shred (29,34): XmlText In host range: (29,34); PSI range: (0,5), Shred (71,76): XmlText In host range: (71,76); PSI range: (5,10), Shred (107,149): XmlText In host range: (107,148); PSI range: (10,22)]
java.lang.AssertionError: After patch: doc:
'
<asset:script>
</asset:script>'
—PSI:
'
<asset:script>
</asset:script'
—chars:
'
'.
Language: JavaScript;
Host file: Groovy Server Pages file in '/Users/<hidden-personal-data>/Repositories/live-visualisations/grails-app/views/browse/search/show.gsp'
Context element (23,156): 'HtmlTag:head'; Ranges: [Shred (29,34): XmlText In host range: (29,34); PSI range: (0,5), Shred (71,76): XmlText In host range: (71,76); PSI range: (5,10), Shred (107,149): XmlText In host range: (107,148); PSI range: (10,22)]
**at** com.intellij.psi.impl.source.tree.injected.MultiHostRegistrarImpl.doneInjecting(MultiHostRegistrarImpl.java:256)
```
at org.intellij.plugins.intelliLang.inject.InjectorUtils.registerInjection(InjectorUtils.java:135)
at org.intellij.plugins.intelliLang.inject.xml.XmlLanguageInjector.lambda$getLanguagesToInject$0(XmlLanguageInjector.java:91)
at org.intellij.plugins.intelliLang.inject.xml.XmlLanguageInjector.getInjectedLanguage(XmlLanguageInjector.java:144)
at org.intellij.plugins.intelliLang.inject.xml.XmlLanguageInjector.getLanguagesToInject(XmlLanguageInjector.java:81)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:82)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:458)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:62)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.probeElementsUp(InjectedLanguageUtil.java:313)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:145)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:238)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:200)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:111)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:96)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:106)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:433)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1061)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:426)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:568)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:425)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:405)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:155)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
```
I will attach the source file causing the problem. I have tried removing the cache, and also uninstalling all custom plugins.
---
*Imported from [IDEA-174232](https://youtrack.jetbrains.com/issue/IDEA-174232) · Type: Bug · Votes: 2*
*Comments, attachments, dates and reporter are not part of the export — follow the link above for the full history.*
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure in grails-app/views/browse/search/show.gsp by placing an asset:javascript tag in the head and pressing Tab or Return. Start with the IntelliJ injected-language path shown in the stack trace, especially XmlLanguageInjector and MultiHostRegistrarImpl.doneInjecting. Done means editing the GSP no longer triggers the AssertionError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, javascript
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100