Skip to content

carymrobbins/intellij-haskforce

Folders and files

NameName
Last commit message
Last commit date
Jul 19, 2022
Oct 2, 2017
Nov 27, 2019
Jul 17, 2022
Jun 4, 2020
Jul 18, 2022
Apr 1, 2020
Jul 18, 2022
Jul 17, 2022
Jul 18, 2022
Mar 23, 2019
Aug 18, 2017
Jul 18, 2022
Nov 20, 2015
Jan 2, 2014
Feb 11, 2021
Jul 18, 2022
Oct 10, 2015
Jul 18, 2022
Jul 17, 2022
Jul 17, 2022
Jun 27, 2016
Jun 27, 2016
Aug 18, 2017

Repository files navigation

HaskForce

Build Status Join the chat at https://gitter.im/carymrobbins/intellij-haskforce

The IntelliJ plugin for Haskell.

Want to get started right away? Check out the Quick Start Guide!

Getting involved

Want to contribute code? See the CONTRIBUTING doc for more info.

Follow @HaskForce on Twitter to stay up to date on new releases and work in progress.

Start a discussion on our gitter channel.

Do you IRC? Join #haskforce on freenode!

Building

Clone the repo -

% git clone https://github.com/carymrobbins/intellij-haskforce
% cd intellij-haskforce

Build with Gradle -

% ./gradlew assemble

You can then find your plugin zip archive in build/distributions -

% ls build/distributions

Developing

When hacking on HaskForce, you may need the following plugins -

  • Scala
  • PsiViewer - Useful for viewing parse trees
  • JFlex Support 1.5.1 - Generate lexers
  • Grammar Kit v2017.1.7 - Generate parsers

To import this project in IntelliJ, use File > Open, navigate to the project directory, then click OK.

A Gradle configuration prompt will appear. Be sure to uncheck Create a separate module per source set. Below is a recommended setup -

Running the plugin

You can use the runIde Gradle task from the command line or directly from IntelliJ -

Debugging the plugin

You can run the plugin as described above via IntelliJ to enable setting breakpoints and stepping through code.

If you wish to debug the external builder (e.g. the jps-plugin sub-project), you'll need to use the remote debugger. See the IntelliJ SDK DevGuide for more info.

Testing the plugin

You can run all tests using the standard Gradle task -

./gradlew test