Comments (27)
I'm busy with replacing ghc-mod
by stack repl
offline.
Reason is long history of issues with ghc-mod
. My last issue was that I could build project with stack
but ghc-mod
did did not work.
from intellij-haskell.
i know, but it really get much faster 😂
Wait till I replaced ghc-mod
by stack repl
😄
from intellij-haskell.
ghc-mod is not used anymore in latest version.
from intellij-haskell.
any links about this ghc-mod
upstream issue?
from intellij-haskell.
No, I did not report it this time.
from intellij-haskell.
I only see advantages in replacing ghc-mod
by stack
. Most important advantage is no dependency anymore. When it builds with "your" GHC version and Stack, plugin also works.
from intellij-haskell.
can you show any details about you current stage? i'm really interested 😄 . do you attemp to add a subcommand for stack to do the auto code completion stuff instread of using ghc-mod?
I'm busy with replacing ghc-mod by stack repl offline.
from intellij-haskell.
after disable HaskellCompletionContributor.scala
, still get high cpu usage with ghc-mod when editing code.
and sometimes will occurs the error
Error in communication with ghc-mod: Futures timed out after [5 seconds]. Check if GHC SDK is set and ghc-mod is okay. ghc-mod will not be called for 5 seconds.
have you met this issue before? @rikvdkleij i think it's a big deal here, really disturb 😂
from intellij-haskell.
can you show any details about you current stage? i'm really interested 😄 . do you attemp to add a subcommand for stack to do the auto code completion stuff instread of using ghc-mod?
stack repl
of ghci
can give me almost same info as ghc-mod
but it's obtained in different away. Have to use some tricks :-)
from intellij-haskell.
I had issues with running ghc-mod check
in interactive mode. This check is also not consistent, see issue #275 of ghc-mod
. Workaround is to go again back to for checking files with ghc-mod check
instead of checking files in interactive mode (legacy mode) of ghc-mod
.
So I suspect checking files in interactive mode is causing this problem.
from intellij-haskell.
I have pushed changes to replace ghc-mod legacy-interactive check
by ghc-mod check
.
Can you give it a try?
from intellij-haskell.
i think we still face the issue here.
and i'm with v0.94
now
from intellij-haskell.
maybe a cache system is needed? @rikvdkleij
https://github.com/mkasa/neco-ghc-lushtags
https://github.com/iquiw/company-ghc/blob/master/company-ghc.el
https://github.com/carymrobbins/intellij-haskforce/blob/master/src/com/haskforce/codeInsight/HaskellCompletionCacheLoader.scala
haskforce is often get stucked when editing large files because of the impropriate design of PSI structure i guess, haskforce itself will get high cpu usage sometimes.
from intellij-haskell.
i just tried https://github.com/mkasa/neco-ghc-lushtags/blob/master/bin/ghc-mod-cache and it works fine, the cpu usage of ghc-mod remained around at %8 - %20, sometimes it will bump up to about %40. we should implement a similar middle layer inside the plugin 😄
from intellij-haskell.
currently, i just comment the code here https://github.com/rikvdkleij/intellij-haskell/blob/master/src/main/scala/intellij/haskell/external/GhcModProcess.scala#L102-L107 to get a better performence for self usage 😂 . btw, i can not quite figure out what is ghc-modi
or ghc-mod legacy-interactive
command's job here, no docs or wiki can be found about it.
from intellij-haskell.
I have implemented a ghc-mod cache with com.google.common.cache but apparently it does not prevent ghc-mod from running high cpu usage. So some special condition in which it occurs.
See for example: GhcModInfo
from intellij-haskell.
Btw, I found the problem I had with ghc-mod getting to work, it was built with older Stackage lts version than currently used in my Haskell projects.
from intellij-haskell.
currently, i just comment the code here https://github.com/rikvdkleij/intellij-haskell/blob/master/src/main/scala/intellij/haskell/external/GhcModProcess.scala#L102-L107 to get a better performence for self usage 😂 .
If you comment those line out, there will be no communication anymore between ghc-mod legacy-interactive and intellij
btw, i can not quite figure out what is ghc-modi or ghc-mod legacy-interactive command's job here, no docs or wiki can be found about it.
There is no difference, see DanielG/ghc-mod#639
from intellij-haskell.
cool, see it. sorry i did not walk through the whole project 😂
I have implemented a ghc-mod cache with com.google.common.cache but apparently it does not prevent ghc-mod from running high cpu usage. So some special condition in which it occurs.
See for example: GhcModInfo
from intellij-haskell.
my ghc-mod is build with ghc 7.10.3 and i use ghc 7.10.2 with my haskell projects, maybe i should reinstall ghc-mod then.
Btw, I found the problem I had with ghc-mod getting to work, it was built with older Stackage lts version than currently used in my Haskell projects.
from intellij-haskell.
i know, but it really get much faster 😂
If you comment those line out, there will be no communication anymore between ghc-mod legacy-interactive and intellij
from intellij-haskell.
can't wait to use it 😄
Wait till I replaced ghc-mod by stack repl.
from intellij-haskell.
yeah, i know ghc-mod legacy-interactive
is just a replacement of ghc-modi
, i mean through the doc here http://www.mew.org/~kazu/proj/ghc-mod/en/ ghc-mod
covers all the commands ghc-modi
holds, i can't figure out why should there be an interactive mode.
There is no difference, see DanielG/ghc-mod#639
from intellij-haskell.
@zjhmale I forgot to mention that IntelliJ gets more responsive if you disable autopopup code completion
from intellij-haskell.
thx for mention that, but after i disabled communication with ghc-modi and intellij, i can still get code completion for some symbols, so maybe it's just fine for now. 😄
@zjhmale I forgot to mention that IntelliJ gets more responsive if you disable autopopup code completion
from intellij-haskell.
You currently only getting completions from getVariants in HaskellReference.
from intellij-haskell.
indeed 😂
You currently only getting completions from getVariants in HaskellReference.
from intellij-haskell.
Related Issues (20)
- Element: class intellij.haskell.HaskellFile #Haskell because: Monads.hs (invalid) is invalid
- Hoogle failed database generation causes documentation to be unavailable
- Refactor (rename) type name changes data constructor name, too
- Refactor-rename doesn't change occurences in other modules HOT 1
- "Add <someDataConstructor> to import list" doesn't work correctly
- HLint "Redundant <x>" suggestions often create garbled code HOT 2
- How do I set my project to use stack install on wsl2. Didn't find any doc about it.
- Creating a new project without Haskell installed fails HOT 3
- Plugin doesn't signal syntax errors HOT 1
- Why is plugin falling back on lts 18? HOT 2
- REPL does not start with IntelliJ IDEA 2022.2.1 HOT 2
- Error when creating new project
- Pipe symbol appears italic in guards
- Support post-qualified imports
- Inconsistent indentation after newline?
- New project error. HOT 1
- Intellij spellcheck issue
- How do I ignore my .ghci file to get rid of the error: [global-stack-repl] No result from REPL within 60 seconds. Command was: :load HOT 1
- Exception in plugin 1.0.0-beta88: "No display name specified in plugin descriptor XML file for configurable" HOT 3
- REPL couldn't be started for target
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from intellij-haskell.