Skip to content

Commit

Permalink
add editor setup tips to contrib guide
Browse files Browse the repository at this point in the history
  • Loading branch information
eli-jordan committed Jun 5, 2018
1 parent 3993dba commit 46c19e9
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,22 @@ Cats cross-compiles to both JVM and Javascript(JS). If you are not used to
working with cross-compiling builds, the first things that you will notice is that
builds:

* Will take longer: To build JVM only, just use the `catsJVM`, or `catsJS` for

JS only. And if you want the default project to be `catsJVM`, just copy the
file `scripts/sbtrc-JVM` to `.sbtrc` in the root directory.
* Will take longer: To build JVM only, just use the `catsJVM`, or `catsJS` for JS only.
And if you want the default project to be `catsJVM`, just copy the file `scripts/sbtrc-JVM` to `.sbtrc` in the root directory.

* May run out of memory: We suggest you use
[Paul Philips's sbt script](https://github.com/paulp/sbt-extras) that will use the settings from Cats.

### Editor Setup Tips

**IntelliJ**

- Be warned, IntelliJ is currently not 100% accurate at reporting compilation errors, there *will* be cases that it reports errors incorrectly. If you simply don't want to see the errors, a quick an easy work around is to disable *Type-Aware Highlighting* by clicking the `[T]` icon in the bottom toolbar.

- There is an open [issue](https://github.com/typelevel/cats/issues/2152) with the IntelliJ scala plugin, which prevents it from configuring similacrum correctly when importing the cats project. The work around for this issue is to set `val CompileTime = Provided` in `build.sbt`. Note: Be careful not to commit this change.

- IntelliJ does have [support](https://blog.jetbrains.com/scala/2015/07/31/inline-refactoring-for-type-aliases-and-kind-projector-support/) for kind-projector. However, it is not always seamless. If you are unable to get IntelliJ to recognise the special symbols that kind-project provides, such as `?` `Lambda[X => G[F[A]]]` or `λ[X => G[F[A]]]` try upgrading to the early access preview (EAP) version of the scala plugin. This can be done under `Settings > Languages & Frameworks > Scala > Updates`

### Write code

[See guidelines](/cats/guidelines.html).
Expand Down

0 comments on commit 46c19e9

Please sign in to comment.