Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Cary Robbins
    @rahulmutt @develop7 The most recent stuff i think is in the eta-ide branch. There's also some Psi parser combinators for building intellij parsers which is pretty nice.
    Andrei Dziahel
    @carymrobbins @rahulmutt I've skimmed through source and there are a lot of reimports of IDEA SDK.
    Rahul Muttineni
    @develop7 Yes, that’s the FFI boilerplate for binding against the required SDK APIs - we’re currently working on removing the boilerplate with some new features in Eta itself. There should be some modules that actually do something.
    Cary Robbins
    Good day everyone. I just tried to use your plugin and wanted to compare it to intellij-haskell in IntelliJ Ultimate 2020.1 EAP. When I tried to use your plugin all toolbars (project view, terminal, todo etc.) vanished and were no longer activateable under View->Tool\ Windows. Is this an expected and wanted behaviour, already known or should I create a bug ticket in github?
    Cary Robbins
    @Fjolnir-Dvorak Definitely sounds bad, please submit a bug report. You could also try to use the latest
    to see if the same problem occurs
    I'll check it out as well.
    good day i just tried to install taskforce plugin in intellij
    IntelliJ IDEA 2020.1 (Ultimate Edition)
    Build #IU-201.6668.121
    and i get this stacktrace when ide starts
    Should be called at least in the state COMPONENTS_LOADED, the current state is: CONFIGURATION_STORE_INITIALIZED
    Current violators count: 1
        at com.intellij.diagnostic.LoadingState.logStateError(LoadingState.java:56)
        at com.intellij.diagnostic.LoadingState.checkOccurred(LoadingState.java:52)
        at com.intellij.psi.tree.IElementType.<init>(IElementType.java:100)
        at com.haskforce.psi.HaskellElementType.<init>(HaskellElementType.java:11)
        at com.haskforce.psi.HaskellTypes.<clinit>(HaskellTypes.java:12)
        at com.haskforce.HaskellLanguage.<clinit>(HaskellLanguage.java:32)
        at com.haskforce.HaskellFileType.<init>(HaskellFileType.java:13)
        at com.haskforce.HaskellFileType.<clinit>(HaskellFileType.java:10)
        at com.haskforce.HaskellFileTypeFactory.createFileTypes(HaskellFileTypeFactory.java:10)
        at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.lambda$initStandardFileTypes$3(FileTypeManagerImpl.java:358)
    any ideas??
    even if i try to create a new project i get
    java.lang.NoClassDefFoundError: com/intellij/ide/util/projectWizard/SourcePathsBuilder
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877)
        at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:380)
        at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:376)
        at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:340)
        at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:326)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at com.haskforce.HaskellModuleType.createModuleBuilder(HaskellModuleType.scala:21)
        at com.haskforce.HaskellModuleType.createModuleBuilder(HaskellModuleType.scala:20)
        at com.intellij.ide.util.projectWizard.ModuleBuilder.getAllBuilders(ModuleBuilder.java:64)
        at com.intellij.ide.projectWizard.ProjectTypeStep.fillTemplatesMap(ProjectTypeStep.java:251)
    Cary Robbins
    @yanoziel I haven't yet worked on 2020 support. Will update you once it's done.
    Imran Settuba
    What are the remaining steps for 2020.1?
    Cary Robbins
    I have a branch here that I've started work on - https://github.com/carymrobbins/intellij-haskforce/commits/idea-2020.1
    That branch fails to compile due to a deprecation -
    % ./gradlew test
    .../intellij-haskforce/src/com/haskforce/codeInsight/HaskellCompletionCacheLoader.scala:21: trait ProjectComponent in package components is deprecated: see corresponding Javadoc for more information.
    class HaskellCompletionCacheLoader(project: Project) extends ProjectComponent {
    So some things need to be re-worked to get around this. Either that or allow the deprecation for now. I would kind of prefer to fix the deprecation though.
    Here's the javadoc for the deprecation
     * @deprecated components are deprecated. If you register a class as a project component it will be loaded, its instance will be created and
     * {@link #initComponent()} and {@link #projectOpened()} methods will be called for each project even if user doesn't use any feature of your
     * plugin. Also plugins which declare project components don't support dynamic loading. Please see
     * http://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_components.html for guidelines on migrating to other APIs.
    public interface ProjectComponent extends BaseComponent {
    To store the state of your plugin at the application or project level, use a Service and implement the PersistentStateComponent interface. See Persisting State of Components for details.
    Imran Settuba
    Yeah thats no problem
    ProjectComponents have an isomorphic service representation. Do you have any state in this component?
    Imran Settuba
    I’ve got that working now
    I have 3 failed tests
    Cary Robbins
    awesome, want to push that up to a branch?
    Imran Settuba
    I’ll send in the link, when the PR is open
    Cary Robbins
    Imran Settuba
    Cary Robbins
    @sImttuba_gitlab Appreciate that, left some comments.
    Imran Settuba
    Read and added changes. What do you wanna call the listener?
    This listener is much more powerful, if you consider the sort of optimizations you can do over each phase over the lifecycle
    removing a shit tone of boiler plate
    Cary Robbins

    What do you wanna call the listener?

    I assume you are talking about HaskellCompletionCacheLoader ? I think for now the current name might be ok. It's used in other places so likely easier to just leave the current name now.

    Imran Settuba
    No, nvm. In my ide it only shows the 2019.3 API’s so I can’t see those depreecation errors your refering to
    Cary Robbins
    Try compiling with ./gradlew test
    You might also need to refresh the gradle project in your IDE so it will use the 2020.1 API
    Imran Settuba
    did that multiple times
    I doesn’t compile locally because the build set up is a bit weird. It still doesn’t upload the 2020.1 libs
    Would be nice if you could chime in I removed the change where you showed me the error
    Cary Robbins
    When you run ./gradlew test does it download 2020.1 resources?
    Imran Settuba
    I checked gradle and it does still kep the 2019.3 versions around
    Cary Robbins
    Yes, it will keep them cached I believe, unless you remove them
    Imran Settuba
    also the gradle intelliJ plugin version needs to be updated
    if we wanna go for 2020.1
    Already did multiple times and gradle just adds them after cleaning them or removing them manually
    please feel free to add commits if you have it working
    I send you an invite to push into the PR