Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Cary Robbins
    @carymrobbins
    that said
    Installing executable HaskForceCreatedWithStackCommand-exe in ...
    so you want to run
    stack exec HaskForceCreatedWithStackCommand-exe
    Barry Burd
    @allmycode_twitter
    OK. Got to go now but I'll try it (and I'll use backticks in the future where necessary). Thanks.
    Cary Robbins
    @carymrobbins
    sounds good. last thing - in haskforce the executable name is HaskForceCreatedWithStackCommand-exe
    the name is defined in your cabal file
    Reggie Perry
    @reggieperry
    @carymrobbins Will do. Thanks.
    Andrei Dziahel
    @develop7
    hey @carymrobbins, are there any plans on adopting Eta for plugin development?
    Rahul Muttineni
    @rahulmutt
    @develop7 @carymrobbins was working on the Eta Intellij plugin which is written (in as much as Eta’s interop features allow) in Eta itself. A lot of it took inspiration from haskforce code, so when Eta can compile GHC & support more interop features, haskforce should be able to use Eta completely w/o depending on other languages.
    Andrei Dziahel
    @develop7
    @rahulmutt got it, thanks!
    Cary Robbins
    @carymrobbins
    @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
    @develop7
    @carymrobbins @rahulmutt I've skimmed through source and there are a lot of reimports of IDEA SDK.
    Rahul Muttineni
    @rahulmutt
    @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
    @carymrobbins
    Fjolnir-Dvorak
    @Fjolnir-Dvorak
    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
    @carymrobbins
    @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.
    yan
    @yanoziel
    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
    
    
    
    java.lang.Throwable
        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
    @carymrobbins
    @yanoziel I haven't yet worked on 2020 support. Will update you once it's done.
    Imran Settuba
    @sImttuba_gitlab
    What are the remaining steps for 2020.1?
    Cary Robbins
    @carymrobbins
    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
    ...
    :compileScala
    .../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.
     */
    @Deprecated
    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
    @sImttuba_gitlab
    Yeah thats no problem
    ProjectComponents have an isomorphic service representation. Do you have any state in this component?
    Imran Settuba
    @sImttuba_gitlab
    I’ve got that working now
    I have 3 failed tests
    Cary Robbins
    @carymrobbins
    awesome, want to push that up to a branch?
    Imran Settuba
    @sImttuba_gitlab
    I’ll send in the link, when the PR is open
    Cary Robbins
    @carymrobbins
    :tada:
    Imran Settuba
    @sImttuba_gitlab
    Cary Robbins
    @carymrobbins
    @sImttuba_gitlab Appreciate that, left some comments.
    Imran Settuba
    @sImttuba_gitlab
    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
    @carymrobbins

    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
    @sImttuba_gitlab
    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
    @carymrobbins
    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