intellij-haskforce
intellij-haskforce copied to clipboard
"add type signature" and "error checking" aren't working
"add type signature" and "error checking" features aren't working. My setup is:
GHC 7.10.22 Cabal 1.22.6.0 Haskforce 0.3-beta36 Stack isn't installed IntelliJ IDEA 2016.1.4 Build #IC-145.2070.6 JDK: 1.8.0_92 Windows 10
I've tried the solutions listed on Quick Start Guide but they didnt worked, e.g, on Cabal file, i've added the flag -fwarn-missing-signatures
:
executable Server
main-is: ServerMain.hs
ghc-options: -Wall -O2 -rtsopts -threaded -fwarn-missing-signatures
I have other executables on the same cabal file, and no libraries.
On Settings > Other Settings > Haskell Tools, i've also added -g -fwarn-missing-signatures
flag on GHC Mod options. As it didn't worked, i've deleted this flag.
On the other hand, on Haskell Tools Console, GHCi shows errors and warnings normally, including warnings for type signature, e.g:
Warning: Top-level binding with no type signature: myTest :: [Char] -> [Char]
I think this problem occours only on Windows, because i've installed on Ubuntu Linux and there was no problem.
My IntelliJ log is:
2017-01-06 09:00:09,008 [ 76440] ERROR - plication.TransactionGuardImpl - Write access is allowed from write-safe contexts only. Please ensure you're using invokeLater/invokeAndWait with a correct modality state (not "any"). See TransactionGuard documentation for details.
current modality=ModalityState.NON_MODAL
known modalities={ModalityState:Loading Project 14072210: running=false; canceled=false=true, ModalityState.NON_MODAL=true}
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:132)
at com.intellij.openapi.application.TransactionGuardImpl.assertWriteActionAllowed(TransactionGuardImpl.java:246)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:296)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:288)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$$anonfun$saveAllFiles$1.apply$mcV$sp(HaskellExternalAnnotator.scala:58)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$$anonfun$saveAllFiles$1.apply(HaskellExternalAnnotator.scala:58)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$$anonfun$saveAllFiles$1.apply(HaskellExternalAnnotator.scala:58)
at com.haskforce.Implicits$Fun0$$anon$3.run(Implicits.scala:16)
at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:166)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:417)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:401)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:679)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - IntelliJ IDEA 2016.3.2 Build #IC-163.10154.41
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - JDK: 1.8.0_112-release
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - VM: OpenJDK Server VM
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - Vendor: JetBrains s.r.o
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - OS: Windows 10
2017-01-06 09:00:09,036 [ 76468] ERROR - plication.TransactionGuardImpl - Last Action:
2017-01-06 09:00:17,401 [ 84833] ERROR - plication.impl.ApplicationImpl - Read access is allowed from event dispatch thread or inside read-action only (see com.intellij.openapi.application.Application.runReadAction())
Details: Current thread: Thread[ApplicationImpl pooled thread 1,4,main] 21825167
; dispatch thread: false; isDispatchThread(): false
SystemEventQueueThread: Thread[AWT-EventQueue-0 2016.3.2#IC-163.10154.41 IDEA, eap:false, os:Windows 10 10.0, java-version:JetBrains s.r.o 1.8.0_112-release-408-b6,6,main] 30972796
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:150)
at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:979)
at com.intellij.psi.impl.source.PsiFileImpl.loadTreeElement(PsiFileImpl.java:174)
at com.intellij.psi.impl.source.PsiFileImpl.calcTreeElement(PsiFileImpl.java:825)
at com.intellij.psi.impl.source.PsiFileImpl.getChildren(PsiFileImpl.java:831)
at com.haskforce.cabal.query.CabalQuery.getLibrary(CabalQuery.scala:38)
at com.haskforce.cabal.query.CabalQuery.getBuildInfo(CabalQuery.scala:56)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$1.apply(CabalQuery.scala:65)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$1.apply(CabalQuery.scala:64)
at scala.Option.flatMap(Option.scala:171)
at com.haskforce.cabal.query.CabalQuery.findBuildInfoForSourceFile(CabalQuery.scala:64)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$3.apply(CabalQuery.scala:74)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$3.apply(CabalQuery.scala:74)
at scala.Option.flatMap(Option.scala:171)
at com.haskforce.cabal.query.CabalQuery.findBuildInfoForSourceFile(CabalQuery.scala:74)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$2.apply(CabalQuery.scala:70)
at com.haskforce.cabal.query.CabalQuery$$anonfun$findBuildInfoForSourceFile$2.apply(CabalQuery.scala:70)
at scala.Option.flatMap(Option.scala:171)
at com.haskforce.cabal.query.CabalQuery.findBuildInfoForSourceFile(CabalQuery.scala:70)
at com.haskforce.cabal.query.BuildInfoUtil$$anonfun$getBuildInfo$2.apply(BuildInfoUtil.scala:14)
at com.haskforce.cabal.query.BuildInfoUtil$$anonfun$getBuildInfo$2.apply(BuildInfoUtil.scala:12)
at scala.Option.flatMap(Option.scala:171)
at com.haskforce.cabal.query.BuildInfoUtil$.getBuildInfo(BuildInfoUtil.scala:12)
at com.haskforce.cabal.query.BuildInfoUtil.getBuildInfo(BuildInfoUtil.scala)
at com.haskforce.highlighting.annotation.external.HLint.getParamsFromCabal(HLint.java:118)
at com.haskforce.highlighting.annotation.external.HLint.getParams(HLint.java:113)
at com.haskforce.highlighting.annotation.external.HLint.access$100(HLint.java:45)
at com.haskforce.highlighting.annotation.external.HLint$3.apply(HLint.java:91)
at com.haskforce.highlighting.annotation.external.HLint$3.apply(HLint.java:87)
at scala.util.Either.fold(Either.scala:99)
at com.haskforce.highlighting.annotation.external.HLint.parseProblems(HLint.java:80)
at com.haskforce.highlighting.annotation.external.HLint.lint(HLint.java:58)
at com.haskforce.highlighting.annotation.external.impl.HLintProblemsProvider.getProblems(HLintProblemsProvider.scala:24)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$State$$anonfun$buildForFile$1$$anonfun$apply$1.apply(HaskellExternalAnnotator.scala:94)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$State$$anonfun$buildForFile$1$$anonfun$apply$1.apply(HaskellExternalAnnotator.scala:94)
at scala.Option.map(Option.scala:146)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$State$$anonfun$buildForFile$1.apply(HaskellExternalAnnotator.scala:94)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$State$$anonfun$buildForFile$1.apply(HaskellExternalAnnotator.scala:94)
at scala.collection.immutable.List.flatMap(List.scala:327)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator$State$.buildForFile(HaskellExternalAnnotator.scala:94)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:44)
at com.haskforce.highlighting.annotation.external.HaskellExternalAnnotator.doAnnotate(HaskellExternalAnnotator.scala:19)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:212)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$500(ExternalToolPass.java:44)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:160)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327)
at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:277)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:291)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:223)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:387)
at com.intellij.util.Alarm$Request.run(Alarm.java:398)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:237)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:210)
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)