Coder Social home page Coder Social logo

concordion / idea-concordion-support Goto Github PK

View Code? Open in Web Editor NEW
13.0 6.0 8.0 54.68 MB

Concordion support IntelliJ Idea plugin https://plugins.jetbrains.com/plugin/7978

License: Other

Java 92.45% Lex 0.51% HTML 5.42% Groovy 0.89% Scala 0.74%

idea-concordion-support's Introduction

IdeaConcordionSupport Build Status

This plugin provides support for concordion framework.

It can be installed from Intellij IDEA plugins repository

Settings > Plugins > Browse repositories... > search for Concordion support

demo_html

demo_md

It is built by gradle so it does not require to have intellij idea plugin sdk set up to start development.

Requirements

  • idea 14.1+ with JUnit plugin running on jdk 8 (project may use any jdk)

Supported features

  • Autocompletion
    • concordion commands in HTML and MD specs
    • test fixture members in concordion expressions
    • spec variables
  • Navigation between spec and test fixture
    • with Navigate between concordion spec and fixture (Ctrl + Shift + s)
    • clicking concordion icon in test fixture and spec
    • using go to declaration (Ctrl + left click on concordion expression)
  • Find usages (Ctrl + F7) list will include usages of methods and properties in concordion spec (for HTML specs only)
  • Renaming support (for HTML specs only)
    • it is possible to rename method/field from its usage in spec
    • after renaming method/field corresponding usage in spec will be renamed as well
    • concordion variable will be renamed in spec along with all its usages
  • Run configuration (Ctrl + Shift + F10) from HTML or MD spec. JUnit for corresponding test fixture will be created and started
  • Inspections
    • error out using concordion without proper runner in @RunWith annotation
    • error out using too complex expressions without @FullOGNL annotation
    • warn using maps in specs
    • warn using of undeclared concordion spec variable
    • warn using commands in CamelCase if spinal-case configured (and vice versa, quick fix available)
  • Intentions/Quick fixes (Alt + Enter)
    • use method/field in concordion spec and then create its declaration (field type/return type/arguments types will be inferred from context) (Alt + Enter over usage)
    • surround word/selection with concordion expression (Alt + Enter any place in spec)
    • fix misused concordion command case (CamelCase <-> spinal-case) (Alt + Enter over warned command)
  • Manipulating spec and fixture pairs
    • creation of specs or fixtures from templates via new menu
    • creation of spec and fixture pair via new menu
    • rename spec and fixture at the same time

idea-concordion-support's People

Contributors

idegtiarenko avatar nigelcharman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

idea-concordion-support's Issues

field highlighting on Maps

Hi there,

I regulary return Map classes from my fixture methods:

public Map<String, Object> getLastGuiMessage() { ... }

In the HTML spec, the field access is highlighted with an error "field not found":

            <span c:set="#guiMessage = getLastGuiMessage()"/>
            <div c:echo="#guiMessage.bodyRaw"></div>

2015-09-22 11_35_35-pceftpos - c__users_t_timw7_documents_pceftpos_vips - ips-service - _ips-

Support for extensions

As a bonus, the plugin could support commands added by extensions (eg. the Embed extension and Screenshot extension both add commands).

If implementing this, let me know if you'd like any metadata added to extensions so they could declare their syntax?

Stacktrace on startup

java.lang.ExceptionInInitializerError
at org.concordion.plugin.idea.ConcordionPsiUtils.(ConcordionPsiUtils.java:31)
at org.concordion.plugin.idea.ConcordionNavigationService.correspondingTestFixture(ConcordionNavigationService.java:42)
at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:47)
at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:37)
at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:69)
at org.concordion.plugin.idea.marker.AbstractLineMarkerProvider.getLineMarkerInfo(AbstractLineMarkerProvider.java:42)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:157)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:90)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:81)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:77)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:400)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:393)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:392)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:368)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:178)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:366)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:188)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.lang.NullPointerException
at com.intellij.psi.PsiPrimitiveType.(PsiPrimitiveType.java:33)
at com.intellij.psi.PsiType.(PsiType.java:17)
... 28 more

INDUCED:

Following exceptions happened soon after this one, most probably they are induced.

2021-02-22T13:19:58.640
java.lang.NoClassDefFoundError: Could not initialize class org.concordion.plugin.idea.ConcordionPsiUtils
at org.concordion.plugin.idea.ConcordionNavigationService.correspondingTestFixture(ConcordionNavigationService.java:42)
at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:47)
at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:37)
at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:69)
at org.concordion.plugin.idea.marker.AbstractLineMarkerProvider.getLineMarkerInfo(AbstractLineMarkerProvider.java:42)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:157)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:90)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:81)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:77)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:400)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:393)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:392)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:368)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:178)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:366)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:188)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

Seeing Errors thrown when I'm not using the plugin

java.lang.NullPointerException
    at com.gman.idea.plugin.concordion.PsiUtils.findParent(PsiUtils.java:9)
    at com.gman.idea.plugin.concordion.lang.ConcordionLanguageInjector.getLanguagesToInject(ConcordionLanguageInjector.java:26)
    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:443)
    at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:62)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.a(InjectedLanguageUtil.java:315)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:144)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass$2.process(LineMarkersPass.java:203)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass$2.process(LineMarkersPass.java:200)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInjectableElements(InjectedLanguageManagerImpl.java:232)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass.collectLineMarkersForInjected(LineMarkersPass.java:200)
    at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:106)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1098)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:452)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:432)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:189)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)

No Scala option in New Fixture dropdown

Setup.

  1. Intellij 2019.1.3 CE
  2. concordion-support 0.12.0 . // plug-in
  3. Scala v2019.1.9 // plug-in

In a scala project:

  1. Do New->Concordion->Fixture
  2. I see only Java and Groovy as options in the dropdown.

I'm hoping this is a configuration issue.

@idegtiarenko Would love to get the plug-in working for Scala. Using quite a bit of Concordion/Java currently. Is this repo being supported?

Regards, Dan Onorato

New > Concordion > Spec and Fixture crashes IntelliJ

Intellij crashed when creating new 'spec and fixture' and then typing name and selecting Java for fixture and Markdown for spec, then hitting 'Ok'.

IntelliJ IDEA 2021.1 Beta (Ultimate Edition)
Build #IU-211.6693.14, built on March 25, 2021
IntelliJ IDEA EAP User
Expiration date: April 24, 2021
Runtime version: 11.0.10+9-b1341.21 x86_64
VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o.
macOS 11.2.3
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 16
Non-Bundled Plugins: IdeaVIM (0.65), color.scheme.Ayu Dark (0.1), com.vincentp.gruvbox-theme (0.4.4), org.jetbrains.plugins.rest (211.6693.44), com.dubreuia (2.2.0), org.concordion.plugin.idea.lang (0.12.0), org.jetbrains.kotlin (211-1.4.21-release-IJ6693.43)
Kotlin: 211-1.4.21-release-IJ6693.43

java.lang.NoClassDefFoundError: com/intellij/testFramework/MapDataContext
	at org.concordion.plugin.idea.menu.ConcordionNewSpecAndFixtureDialog.createEvent(ConcordionNewSpecAndFixtureDialog.java:144)
	at org.concordion.plugin.idea.menu.ConcordionNewSpecAndFixtureDialog.createConcordionFile(ConcordionNewSpecAndFixtureDialog.java:139)
	at org.concordion.plugin.idea.menu.ConcordionNewSpecAndFixtureDialog.createConcordionFiles(ConcordionNewSpecAndFixtureDialog.java:119)
	at org.concordion.plugin.idea.menu.ConcordionNewSpecAndFixtureDialog.showDialog(ConcordionNewSpecAndFixtureDialog.java:111)
	at org.concordion.plugin.idea.menu.ConcordionSpecMenu$1.actionPerformed(ConcordionSpecMenu.java:60)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAware$5(ActionUtil.java:273)
	at com.intellij.util.SlowOperations.lambda$allowSlowOperations$0(SlowOperations.java:77)
	at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:64)
	at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:76)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:273)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:310)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:286)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:110)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:515)
	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:545)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6652)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
	at java.desktop/java.awt.Component.processEvent(Component.java:6417)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2784)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: com.intellij.testFramework.MapDataContext PluginClassLoader(plugin=PluginDescriptor(name=Concordion support, id=org.concordion.plugin.idea.lang, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/211.6693.14/IntelliJ IDEA 2021.1 EAP.app.plugins/IdeaConcordionSupport, version=0.12.0, package=null), packagePrefix=null, instanceId=109, state=active)
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:215)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 58 more

Add setting for command style

Currently the plugin includes both the camel cased and spinal cased variants of commands. For example c:assertEquals or c:assert-equals:

image

This makes the list longer, with more to read and select from.

I suggest we add a setting to choose either camel or spinal case, then only show the commands in that case. The default should be spinal-case, since camel case is not strictly valid XHTML.

Support for ConcordionRunner subclasses

Issue classes which extends ConcordionRunner

I found that using a JUnit runner which extends ConcordionRunner breaks navigation within the plugin. I can still run the fixture, but the plugin highlights that Test plugin is not annotated with @RunWith(ConcordionRunner.class)

The markdown displays the Concordion icon and allows navigation back to the fixture, but does not provide the usual menu option for running the fixture directly.

Eg.
public class SpecificationWithFrillsRunner extends ConcordionRunner{.. declared with @RunWith(SpecificationWithFrillsRunner.class) public class SpecFixtures produces :
Produces:
image

Versions

Plugin version: 0.12.0
IntelliJ Version: 2020.2.2
Concordion version: 3.0.1

MD to html rendering in IDEA should use the actual concordion md parser

At the moment, there are differences between the html rendering in idea and the concordion generated html.
This results in cases when the rendering in IDEA is OK but layout errors occur in concordion.
Especially - in some cases tables look right in IDEA, but concordion misses them completely.

This makes the idea rendering almost useless - as one must run the concordion generation to make sure it's ok.

This would be fixed if the MD parser from concordion would be used in IDEA as well.

As a minimum - an action could be provided to generate the html file with the concordion translator.
The user could inspect this file in the browser - without having to wait for the full test execution.

Allow html generation only with the concordion md to html translator

As a quick validation of the MD with concordion semantics, allow the user to to generate the html file with the concordion translator.
The user could inspect this file in the browser - without having to wait for the full test execution.

As UI - this could be achieved as an option of the Concordion Run Configuration.
( eg "html generation only")

NoSuchFieldError in 2017.1 EAP

IntelliJ IDEA (Community Edition) 2017.1 EAP
Build #IC-171.3566.24, built on February 21, 2017

Instance
com.intellij.openapi.extensions.impl.PicoPluginExtensionInitializationException: Instance
	at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:96)
	at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getExtension(ExtensionComponentAdapter.java:119)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:246)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:191)
	at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:102)
	at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:89)
	at com.intellij.openapi.extensions.ExtensionPointName.getExtensions(ExtensionPointName.java:50)
	at org.concordion.plugin.idea.ConcordionExtension.extensions(ConcordionExtension.java:63)
	at org.concordion.plugin.idea.fixtures.ConcordionTestFixtures.fixtures(ConcordionTestFixtures.java:45)
	at org.concordion.plugin.idea.menu.ConcordionSpecMenu.<init>(ConcordionSpecMenu.java:30)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.intellij.util.ReflectionUtil.newInstance(ReflectionUtil.java:419)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.convertStub(ActionManagerImpl.java:152)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getActionImpl(ActionManagerImpl.java:485)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:473)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.preloadActions(ActionManagerImpl.java:1248)
	at com.intellij.openapi.actionSystem.impl.ActionPreloader.preload(ActionPreloader.java:34)
	at com.intellij.openapi.application.Preloader.lambda$null$0(Preloader.java:74)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
	at com.intellij.openapi.application.Preloader.lambda$initComponent$1(Preloader.java:72)
	at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchFieldError: Instance
	at org.concordion.plugin.idea.fixtures.ConcordionScalaTestFixture.<init>(ConcordionScalaTestFixture.java:17)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
	at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:77)
	... 30 more
Caused by:

java.lang.NoSuchFieldError: Instance
	at org.concordion.plugin.idea.fixtures.ConcordionScalaTestFixture.<init>(ConcordionScalaTestFixture.java:17)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
	at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
	at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:77)
	at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getExtension(ExtensionComponentAdapter.java:119)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:246)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:191)
	at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:102)
	at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:89)
	at com.intellij.openapi.extensions.ExtensionPointName.getExtensions(ExtensionPointName.java:50)
	at org.concordion.plugin.idea.ConcordionExtension.extensions(ConcordionExtension.java:63)
	at org.concordion.plugin.idea.fixtures.ConcordionTestFixtures.fixtures(ConcordionTestFixtures.java:45)
	at org.concordion.plugin.idea.menu.ConcordionSpecMenu.<init>(ConcordionSpecMenu.java:30)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.intellij.util.ReflectionUtil.newInstance(ReflectionUtil.java:419)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.convertStub(ActionManagerImpl.java:152)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getActionImpl(ActionManagerImpl.java:485)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:473)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.preloadActions(ActionManagerImpl.java:1248)
	at com.intellij.openapi.actionSystem.impl.ActionPreloader.preload(ActionPreloader.java:34)
	at com.intellij.openapi.application.Preloader.lambda$null$0(Preloader.java:74)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
	at com.intellij.openapi.application.Preloader.lambda$initComponent$1(Preloader.java:72)
	at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Go to method declaration from spec does not recognize math and boolean operators

There seems to be a problem that I can't jump to method declaration from the spec to its associated fixture classes, if the argument was made of math, or boolean operator.

For example in the fixture classes, I have a method signature as below:
fooBar (String var1)

When I used this method from the spec, I use this:
fooBar(#someVar + #anotherVar)

The plug in fails to associate this method with its fixture classes.

Another example is:
fooBar (String var1, String var2)

I used this method from the spec as:
fooBar (#someVar, getArrayList()[0])

Where getArrayList() is defined in the fixture classes and return type as ArrayList.

Is it possible to fix this in the next release version?

Thanks
Eric

NPE related to ConcordionVariableInMdUsageSearcher

I get many instances of this error in the IDEA log

null
java.lang.NullPointerException
                at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.probeElementsUp(InjectedLanguageUtil.java:329)
                at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:146)
                at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:119)
                at org.concordion.plugin.idea.ConcordionInjectionUtils.findElementInHostWithManyInjections(ConcordionInjectionUtils.java:25)
                at org.concordion.plugin.idea.variables.ConcordionVariableInMdUsageSearcher.createUsage(ConcordionVariableInMdUsageSearcher.java:34)
                at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
                at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
                at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
                at java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1812)
                at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
                at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
                at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
                at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
                at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
                at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
                at org.concordion.plugin.idea.variables.ConcordionVariableUsageSearcher.findDeclaration(ConcordionVariableUsageSearcher.java:35)
                at org.concordion.plugin.idea.reference.ConcordionVariableReference.resolve(ConcordionVariableReference.java:21)
                at com.intellij.codeInsight.TargetElementUtil.b(TargetElementUtil.java:391)
                at com.intellij.codeInsight.TargetElementUtil.a(TargetElementUtil.java:368)
                at com.intellij.codeInsight.TargetElementUtil.a(TargetElementUtil.java:238)
                at com.intellij.codeInsight.TargetElementUtil.findTargetElement(TargetElementUtil.java:210)
                at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:102)
                at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
                at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:438)
                at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1153)
                at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:431)
                at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:556)
                at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
                at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
                at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:430)
                at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:406)
                at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:142)
                at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:242)
                at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:404)
                at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:165)
                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)

example command missing equals in table

if you use the example command in the header of a table within markdown e.g
| [run][] [Scenario](- "c:example") | [secondColumn]...

The Intellij IDE is complaining of an error:
Error:(17, 34) '=' expected - this position refers to the closing doublequote after example

Looking at the docs, I see the following code
<div concordion:example="example2">
but that's for html, not markdown. (all the markdown examples I see just say: "c:example")

I tried changing it to:
| [run][] [Scenario](- "c:example=compareSQL") |
But that doesnt help, when I run that test, I get the following exception
Specification has duplicate example: 'compareSQL'

java.lang.Exception: Specification has duplicate example: 'compareSQL'
	at org.junit.runners.model.InitializationError.<init>(InitializationError.java:38)
	at org.concordion.integration.junit4.ConcordionRunner.verifyUniqueExampleMethods(ConcordionRunner.java:100)

duplicate namespace added when renaming a concordion tag

Hi there,

I often start my concordion tests with a concordion:echo command and later change it to a concordion:assertEquals command. The plugin is being great and autocompleting the assertEquals, but it it duplicating the namespace, so I end up with:

c:c:assertEquals (because I use "c" as the concordion namespace for brevity).

Tim

Not working with Markdown navigator 2.4.0

  • "C" icons not shown on editor left margin
  • navigation from example fixture not working
  • navigation from example to method definition not working ('Cannot find declaration to go to')

Detection of concordion tests

I've got a project where I'm using both Concordion and Wicket.

For Wicket, I have HTML files named the same as the Java class. So "SystemConfigPage.java" and "SystemConfigPage.html".

The plugin is giving me an error on the wicket java page saying "Test Fixture is not annotated with @RunWith(ConcordionRunner.class). But it is not actually a concordion test.

2015-11-02 13_14_30-vips - c__users_t_timw7_projects_pceftpos_vips - presentation - _presenta

IndexOutOfBoundsException on rendering spec in IDEA 15

Index: 2, Size: 2
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at org.concordion.plugin.idea.ConcordionPsiUtils.argumentTypesMatchParameterTypes(ConcordionPsiUtils.java:97)
    at org.concordion.plugin.idea.ConcordionPsiUtils.lambda$findMethodInClass$3(ConcordionPsiUtils.java:85)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
    at org.concordion.plugin.idea.ConcordionPsiUtils.findMethodInClass(ConcordionPsiUtils.java:87)
    at org.concordion.plugin.idea.lang.psi.ConcordionMethodInternalImpl.determineContainingMember(ConcordionMethodInternalImpl.java:32)
    at org.concordion.plugin.idea.lang.psi.ConcordionMethodInternalImpl.determineContainingMember(ConcordionMethodInternalImpl.java:13)
    at org.concordion.plugin.idea.PsiElementCache.getOrCompute(PsiElementCache.java:50)
    at org.concordion.plugin.idea.lang.psi.AbstractConcordionMember.getContainingMember(AbstractConcordionMember.java:31)
    at org.concordion.plugin.idea.lang.psi.ConcordionMethodInternalImpl.isResolvable(ConcordionMethodInternalImpl.java:21)
    at org.concordion.plugin.idea.ConcordionExpressionElementPattern$1.accepts(ConcordionExpressionElementPattern.java:18)
    at org.concordion.plugin.idea.ConcordionExpressionElementPattern$1.accepts(ConcordionExpressionElementPattern.java:15)
    at com.intellij.patterns.ElementPatternCondition.accepts(ElementPatternCondition.java:55)
    at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:56)
    at org.concordion.plugin.idea.annotator.UnresolvedMemberAnnotator.annotate(UnresolvedMemberAnnotator.java:28)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:162)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:103)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass$4.run(InjectedGeneralHighlightingPass.java:374)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:87)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.a(InjectedGeneralHighlightingPass.java:369)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.a(InjectedGeneralHighlightingPass.java:245)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.access$000(InjectedGeneralHighlightingPass.java:53)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass$3.process(InjectedGeneralHighlightingPass.java:215)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass$3.process(InjectedGeneralHighlightingPass.java:212)
    at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)

Syntax highlighting in dark themes

When using a dark theme, method calls in md files are highlighted with a light background and very light foreground. I've searched everywhere to change this but cannot find it.
This screen shot shows the issue, the cursor is in the second field which is why its slightly different.

How do I change that?

I'd ask this on a support forum but couldn't fine one.

NoClassDefFound error when re-opening Concordion project with open Concordion HTML files

IntelliJ is reporting the following NoClassDefFoundError consistently when re-opening an existing project which has currently-open Concordion HTML files.

If I close the HTML files in the editor, shutdown IntelliJ and then re-open the project (so the editor doesn't instantly load the Concordion HTML files) then I don't get the error.

java.lang.NoClassDefFoundError: Could not initialize class org.concordion.plugin.idea.ConcordionPsiUtils at org.concordion.plugin.idea.ConcordionNavigationService.correspondingTestFixture(ConcordionNavigationService.java:42) at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:47) at org.concordion.plugin.idea.patterns.ConcordionElementPattern$1.accepts(ConcordionElementPattern.java:37) at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:69) at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:51) at org.concordion.plugin.idea.injection.ConcordionToHtmlInjector.getLanguagesToInject(ConcordionToHtmlInjector.java:30) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:418) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUp(InjectedLanguageUtilBase.java:207) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.enumerate(InjectedLanguageUtilBase.java:137) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.findInside(InjectedLanguageUtilBase.java:371) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.tryOffset(InjectedLanguageUtilBase.java:350) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.findInjectedElementNoCommit(InjectedLanguageUtilBase.java:330) at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.findInjectedElementAt(InjectedLanguageManagerImpl.java:290) at com.intellij.openapi.editor.EditorMouseHoverPopupManager.createContext(EditorMouseHoverPopupManager.java:374) at com.intellij.openapi.editor.EditorMouseHoverPopupManager.lambda$handleMouseMoved$3(EditorMouseHoverPopupManager.java:163) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:521) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:468) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:113) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:59) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:59) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:110) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:486) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665) at java.base/java.lang.Thread.run(Thread.java:834)

IntelliJ details:
IntelliJ IDEA 2020.3 Beta (Community Edition)
Build #IC-203.5784.10, built on November 10, 2020
Runtime version: 11.0.9+11-b1145.10 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1967M
Cores: 8
Non-Bundled Plugins: org.intellij.plugins.hcl, gherkin, cucumber-java, org.concordion.plugin.idea.lang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.